This system function issues a CICS® SYNCPOINT command.
There is an implicit sysLib.commit() upon completion of a program (exit program or a transfer or show statement). You can explicitly call sysLib.commit() at any time during the execution of a program. Best practice is to call sysLib.commit() from within programs that have get forUpdate, replace, delete, or add statements with a logic loop at the completion of a logical unit of work so that the program does not hold multiple locks.
Take care to prevent deadlocks when you access data sets using VSAM Local Shared Resources (LSR) on CICS from a generated EGL program. When using LSR and using a get next or get previous statement on a file, call sysLib.commit() at the completion of a logical unit of work. Do this prior to attempting a get forUpdate, replace, delete, or add statement that requires exclusive use of resources. This releases the get next position and allows later updates to the data set.
If you are defining transfer to program statements to replace transfer to transaction statements, note that the recovery unit of work holds across the transfer to program and you must call sysLib.commit() if you want to end the unit of work.