Eigentlich ist es das!
Wenn im SQLTrigger Commit definiert ist, durch Option Commit=*CHG, wird automatisch ein STRCMTCTL durchgeführt wenn dieser noch fehlt.
Anschließend wird deine Operation durchgeführt.
Sollte z.B. vor dem Update deiner Hauptdatei noch keine Commitdefintion existieren kann es nun 2 Verhalten geben:

Before-Trigger: Beide Updates werden in den Commitzyklus gepackt und werden mit Commit bestätigt/Rollback gelöscht.
After-Trigger: Der Update der Hauptdatei läuft noch ohne Commit, der Trigger-Update dann mit commit. Beim Rollback wird dann nur die History gelöscht.

Deshalb ist es gefährlich, z.B. nur After-Trigger zu haben.
Programme wie UPDDTA, die kein Commit unterstützen dürfen nicht so einfach verwendet werden.
Auch STRSQL startet im Regelfall mit Commit(*NONE), kann aber per F13 geändert werden.

Sicherlich ist ein Before-Trigger (Achtung: alle 3!) sinnvoll um im Zweifel fehlende Commitsteuerung zu aktivieren!

Klar ist auch, dass bei normalem Jobende eine Commit und bei abnormalem Jobende ein Rollback durchgeführt wird.
Wenn eine Commit-Definition auf ACTGRP geht, dann wird die ACTGRP abnormal beendet, was einen Rollback auslöst.

Übrigens bleiben bei fehlendem Commit alle Satzsperren erhalten!