Nunja, SQLSTATE ist eigentlich als Fehlerschlüssel durch ANSI definiert.
Leider reagieren viele Datenbanken eben unterschiedlich.

Wesentlich bei der DB400 ist, dass ohne Journalisierung gearbeitet werden kann, was fast keine andere DB erlaubt.
Die wesentlichen Fehler daraus sind bei Update/Delete/Insert, dass diese anderen DB's Transaktionen mit Commit/Rollback erfordern.

Es gibt leider keinen Status, ob eine DB400-Tabelle aufgezeichnet wird oder nicht. Hier hilft nur Try and Error.
Klappt der Update z.B. nicht mit dem Fehler "SQL-Journalisierung" versucht man es dann eben ohne Commt.