The shutdown assist transaction
You are recommended always to use the CESD shutdown-assist transaction when shutting down your CICS® regions.
On a normal shutdown, CICS waits indefinitely for running transactions to finish, which can delay shutdown to a degree that is unacceptable. The CICS shutdown assist transaction improves normal shutdown, and reduces the need for an immediate shutdown.
You can use the DFHCESD program "as is", or use the supplied source code as the basis for your own customized version. CICS supplies versions in assembler, COBOL, and PL/I.
The operation of CESD, for both normal and immediate shutdowns, takes place over a number of stages. CESD controls these stages by sampling the number of tasks present in the system, and proceeds to the next stage if the number of in-flight tasks is not reducing quickly enough.
- Shutdown is initialized.
- After a time allowed for transactions to finish normally, CESD proceeds to issue a PURGE for each remaining task and JVM server. The transaction dump data set is closed in this stage.
- If there are still transactions running after a further eight samples (except when persistent sessions support is being used), the z/OS Communications Server is force-purged, then killed, and IRC is closed immediately.
- After running further samples, if any transactions are still running, CICS shuts down abnormally, leaving details of the remaining in-flight transactions on the system log to be dealt with during an emergency restart.