... set option ist dasselbe, wie die Angabe beim CRTSQLRPGI per Parameter COMMIT und wird eigentlich nur benötigt, wenn irgendwelche Gehörnte den Command default verpfuscht haben.
Wichtig ist hier, dass nicht mit COMMIT(*NONE) gewandelt wird. Innerhalb des Programms kann man dann per SQL Anweisung set transaction isolation switchen (geht allerdings nur an der Transaktionsgrenze). Isolation clause scheint da einfacher, ist allerdings DB2 only und ich empfehle sich da eher an den ANSI Standard zu halten.

Zum Verständnis ist es wichtig die Problme von Multi Benutzer Betrieb von Datenbanken zu verstehen, als Einstieg siehe auch: https://de.wikipedia.org/wiki/Isolation_(Datenbank).

Grundsätzlich gilt ein commit level immer für die gesamte Datenbankverbindung (bei AS/400 ACTGRP des Jobs, es sei denn ein Gehörnter hat das STRCMTL verhunzt). Mit sauberer Modularisierung kann man sich da das Leben vereinfachen, mit Blindflug sogar mehr Durcheinander anrichten als ihr jetzt schon mit den Dauersperren von Sätzen habt.

D*B