I get the error message "FOR UPDATE clause not valid" when i have the following code
C/EXEC SQL
C+ DECLARE CURA CURSOR FOR
C+ SELECT DISTINCT FLD1,FLD2,FLD3 FROM FILE1
C+ WHERE FLD3='A' AND FLD4 <= :CUR_DATE_8
C+ FOR UPDATE OF FLD3
C/END-EXEC
*
C/EXEC SQL
C+ OPEN CURA
C/END-EXEC
*
C/EXEC SQL
C+ FETCH CURA INTO :FILE1_LOT, :FILE1_PROD, :FILE1_STS
C/END-EXEC
*
C DOW SQLCOD = *ZEROS
*
C/EXEC SQL
C+ UPDATE FILE2 SET FLD5='E' WHERE FLD5='A' AND FLD1 = :FILE1_LOT AND
C+ FLD2 = :FILE1_PROD
C/END-EXEC
*
C/EXEC SQL
C+ UPDATE FILE1 SET FLD3='E' WHERE CURRENT OF CURA
C/END-EXEC
*
C/EXEC SQL
C+ FETCH CURA INTO :FILE1_LOT, :FILE1_PROD, :FILE1_STS
C/END-EXEC
*
C END
*
C/EXEC SQL
C+ CLOSE CURA
C/END-EXEC
I get the error in the declare statement. Please let me know what would be the cause?
C/EXEC SQL
C+ DECLARE CURA CURSOR FOR
C+ SELECT DISTINCT FLD1,FLD2,FLD3 FROM FILE1
C+ WHERE FLD3='A' AND FLD4 <= :CUR_DATE_8
C+ FOR UPDATE OF FLD3
C/END-EXEC
*
C/EXEC SQL
C+ OPEN CURA
C/END-EXEC
*
C/EXEC SQL
C+ FETCH CURA INTO :FILE1_LOT, :FILE1_PROD, :FILE1_STS
C/END-EXEC
*
C DOW SQLCOD = *ZEROS
*
C/EXEC SQL
C+ UPDATE FILE2 SET FLD5='E' WHERE FLD5='A' AND FLD1 = :FILE1_LOT AND
C+ FLD2 = :FILE1_PROD
C/END-EXEC
*
C/EXEC SQL
C+ UPDATE FILE1 SET FLD3='E' WHERE CURRENT OF CURA
C/END-EXEC
*
C/EXEC SQL
C+ FETCH CURA INTO :FILE1_LOT, :FILE1_PROD, :FILE1_STS
C/END-EXEC
*
C END
*
C/EXEC SQL
C+ CLOSE CURA
C/END-EXEC
I get the error in the declare statement. Please let me know what would be the cause?
Comment