Hallo zusammen,

ich bräuchte mal etwas Fachexpertise zum Thema Commitsteuerung und RPGLE / SQLRPG.

Ich habe ein steuerndes Programm und Commit=*CS mit Cursor with hold - Definitionen.
Während dieser Cursor durchlaufen wird, wird ein zweites Programm aufgerufen, dass ebenfalls unter Commit = *CS . Solange das zweite Programm den Commit erfolgreich durchführen kann ist alles schöne und mein Cursor aus dem ersten Programm läuft weiter und arbeitet den nächsten Satz ab.
Fällt das zweite Programm aber auf die Nase und ein Rollback wird ausgeführt, werden alle Cursor geschlossen - auch die aus dem steuernden Programm.
Hab ich eine Möglichkeit das zu verhindern bzw. wie würde ich im steuernden Programm wieder auf meinen cursor an genau dieser Stelle zugreifen könne?

Hier mal vereinfacht der Ablauf...

PGM1
...
Declare cursor c1 with hold
Open c1
If SQLCODE =0
DOU ...
fetch next c1
If SQLCODE=0
CALL PGM2
EndIf
ENDDO
...
EndPGM

vielen Dank für Eure Hilfe