@Fuerchau
Da hatte ich anscheinend Tomaten auf den Augen, das SQL war in beiden Fällen, -wie es sich gehört- im DEBUG ausgesternt.
SQLCOD auslesen ist mir nicht eingefallen - merke ich mir für nächstes Problem, Danke.
C*exec sql
C* UPDATE IDPCD1AA SET IDSOID = :P1OID WHERE CURRENT OF S1
C*end-exec
C EVAL SQL_00043 = P1OID SQLCOD 0
C Z-ADD -4 SQLER6
C CALL SQLROUTE
C PARM SQLCA
C PARM SQL_00038
1. Lauf: SQLCOD = -000000508
2. Lauf: SQLCOD = 000000000


SQL0508SQLCODE-508SQLSTATE24504
Explanation: Cursor&1notpositionedonlockedrow