Commit processing
CICS® ignores any EXEC SQL COMMIT statements in your application programs. The Db2® commit must be synchronized with CICS, which means that your program must issue an EXEC CICS SYNCPOINT command. CICS then performs the commit processing with Db2. An implicit SYNCPOINT is always invoked by the EXEC CICS RETURN at end of task.
Be aware of the actions that happen at SYNCPOINT:
- The UOW is completed. This means that all updates are committed in both CICS and in Db2.
- The thread is released for terminal-oriented transactions (unless a held cursor is open). If the thread is released and there is no use for it, it is terminated unless it is a protected thread.
- The thread is not released for non-terminal-oriented transactions, unless NONTERMREL=YES is specified in the DB2CONN. It first happens when the transaction is finished.
- All opened cursors are closed.
- All page locks are released.
- If RELEASE(COMMIT) was specified in the BIND process:
- Table space locks are released
- The cursor table segments of the plan in the EDM pool are released.
- Table space locks obtained by dynamic SQL are released independently of the BIND parameters.