Wir vermuten jetzt, dass der SQL-Optimizer die logische Datei von oben nutzt, in der gar nicht alle Sätze zu sehen sind. Daher wird wahrscheinlich der Satz aus der ersten Abfrage erneut geupdatet.
Ich kann auch nur vermuten!

Deshalb, finde zuerst heraus, ob es so ist wie Du vermutest, d.h. führe einen STRDBG (ohne irgendwas) aus.
Führe anschließend den Update aus und prüfe im Joblog welcher Zugriffsweg verwendet wurde.

Im Joblog werden nach dem Debug alle SQL commands protokolliert, so dass Du auch finden solltest, ob und warum der Datensatz nicht geändert wurde.

... auf alle Fälle sollte keine DDS beschriebene logische Datei je in einem SQL-Statement verwendet werden. Wenn es um die Selects und Omits geht, lege notfalls eine SQL View für die Selektion an und verwende diese.

Kann es sein, dass unter Commit gearbeitet wird und anstatt die Änderung festzuschreiben ein Rollback ausgeführt wird.

Sollte es wirklich so sein, dass der Satz laut Joblog geändert wurde und die Daten immer noch unverändert sind, solltest Du IBM einen Bug melden.

Birgitta