To use Commitment Control, you must explicitly start and end a commitment control cycle using the start commitment control (STRCMTCTL) command to start the commitment control and the end commitment control (ENDCMTCTL) command to end the commitment control. IBM® Rational® EGL Server for IBM i does not implicitly start or end commitment control cycles. However, DB2® implicitly starts commitment control automatically for programs that use SQL I/O options. After commitment control is started for the job, both native database I/O and SQL I/O can use the common commitment control IBM i provides.
If necessary, you can change the commitment control for an SQL program in the templates. The COMMIT parameter on the CRTSQLCBLI command sets the level of commitment control for SQL statements in a program. The LCKLVL parameter on the STRCMTCTL command does not affect programs that use only SQL I/O statetments.
If no commitment control cycle is active and the program attempts to open a file requiring commitment control, the program ends with an error condition. Messages in the job log explain the exact nature of the error. The program ends abnormally under these conditions because it might attempt to explicitly commit changes to a file, but that is possible only with an active commitment control cycle.
For more information on iSeries® Commitment Control, see the i5/OS™ Information Center.