... Transaktionssteuerung und Modularisierung sind kein Hexenwerk, ein Programm spielt Commit Master und steuert die Transaktion und beinhaltet üblicherweise selber keine Datenbankzugriffe. Die Zugriffe werden von Zugriffsprogrammen (technisch SRVPGM) gemacht, die als Commit Slaves (:= machen kein Commit oder Rollback) agieren.
Treten in den Slaves Probleme auf, entscheidet der Master ob diese Transaktions relevant sind und agiert entsprechend mit Commit oder Rollback. Der Master läuft in einer benamten ACTGRP, die Slaves in *CALLER.
AS400 typisch muss man beim RCLACTGRP aufpassen, der hat den idiotischen Default OPTION(*NORMAL).
Sperren werden Commit typisch bis zum Transaktionsende gehalten, solange man den Anfängerfehler nicht macht, zwischendurch einen EXFMT zu machen passt das so.

D*B