Hallo KB,

ich hatte bisher noch nie Probleme mit embedded SQL und for update of Definition

Anbei ein Beispiel, das sich sowohl mit commit = *CHG als auch *NONE umwandeln und anschliessend auch ausführen lässt:

C/EXEC SQL
C+ Declare $SQLC1 Cursor For
C+ Select ATBMN
C+ From HSATEIP
C+ where FIRNR = :$$FINR
C+ and ATBNR = 'HSWA_0514_001'
C+ For Update of ATBMN, ATUSEU, ATPGMU
C/END-EXEC
*
* SQL-Command Eröffnen
*------------------------*
C/EXEC SQL
C+ open $SQLC1
C/END-EXEC

* Verarbeiten SQL-Command in einer Schleife
*-------------------------------------------
C Do *HIVAL
*
C/EXEC SQL
C+ FETCH $SQLC1 INTO :$$BMN
C/END-EXEC
* Ende-Bedingungen
C If SQLCOD = 100
C Or SQLCOD< 0
C Leave
C Endif
*
* Verarbeitung
C/EXEC SQL
C+ Update HSATEIP
C+ Set ATBMN = :$$BMN + 10,
C+ ATUSEU = :§§USER,
C+ ATPGMU = :§§PGM
C+ Where Current of $SQLC1
C/END-EXEC
*
C enddo
*
* SQL-Command Schliessen
*------------------------*
C/EXEC SQL
C+ close $SQLC1
C/END-EXEC