Hast Du die Option COMMIT geprüft oder compilierst Du einfach mit Default-Werten?
Default-Wert für COMMIT ist *CHG, d.h. es wird davon ausgegangen, dass Deine Tabellen in einem Journal aufgezeichnet werden. Alle Insert, Update und Delete-Operationen mit SQL werden gnadenlost unter Commitment Control ausgeführt.

Sofern Deine Tabellen bei der Compile-Option COMMIT=*CHG nicht im Journal aufgezeichnet sein sollten, gehen sämtliche INSERTs, UPDATEs und DELETES auf die nicht aufgezeichneten Tabellen schief.

In diesem Fall must Du die Compile-Option COMMIT=*NONE setzen (oder besser ein SET OPTION-Statement mit COMMIT=*NONE in Deinem Source Code hinterlegen.
Alternativ könntest Du auch ans Ende der INSERT/UPDATE oder DELETE-Operation WITH NC (= With No Commit) anfügen.

Birgitta