My experience has been with RPG and native IO – not SQL
STRCMTCTL LCKLVL(*ALL) CMTSCOPE(*JOB)
1. STRCMTCTL must be issued before files are open
2. Files under native I/O should have a COMMIT on the F spec
3. Files must be journalled to a single journal ??
3. Code should contain one or more COMMIT or ROLLBACK
4. Process should end with ENDCMTCTL
Level check is critical to determine which records are locked — *ALL would be every record that is read by the program.