Any program that is to execute during CICS® shutdown must be defined in a program list table (PLT), and the PLT must be named on the program list table shutdown (PLTSD) system initialization parameter. You can override the PLTSD value by providing a PLT name on the CEMT PERFORM SHUTDOWN command, or on the EXEC CICS PERFORM SHUTDOWN command. If a PLTSD program abends, syncpoint rollback occurs.
Programs that are to execute during the first quiesce stage of CICS shutdown are specified in the first half of the PLT (before the DFHDELIM statement).
You must define first stage PLTSD programs to CICS. You can either define the programs statically, or use program autoinstall.
Although terminals are still available during the first quiesce stage, tasks that are started by terminal input are rejected unless they are named in a shutdown transaction list table (XLT), or are CICS-supplied transactions, such as CEMT, CSAC, CSTE, and CSNE, that are defined as SHUTDOWN(ENABLED) in the supplied definitions.
The first quiesce stage is complete when all of the first-stage PLT programs have executed, and when there are no user tasks in the system.
You cannot use Debug Tool to debug a PLT program during the first quiesce stage.
Programs that are to execute during the second quiesce stage of CICS shutdown are specified in the second half of the PLT (after the DFHDELIM statement).
Second stage initialization
and second stage quiesce PLT programs do not require program resource
definitions. If they are not defined, they are system autoinstalled
(irrespective of the program autoinstall system initialization parameters).
This means that the autoinstall exit is not called to allow the definition
to be modified. The programs are defined with the following attributes:
As a result, system autoinstalled programs have a default CONCURRENCY setting of QUASIRENT, and a default API setting of CICSAPI.
During the second quiesce stage, no new tasks can start, and no terminals are available. Because of this, second phase PLT programs must not cause other tasks to be started, and they cannot communicate with terminals. Further, second phase PLT programs must not cause any resource security checking or DB2® calls to be performed.
If a transaction abend occurs while the PLTSD program is running, CICS is left in a permanent wait state. To avoid this happening, ensure that your PLTSD program handles all abend conditions.
The second quiesce stage is complete when all of the second phase PLT programs have been executed.
You cannot use Debug Tool to debug a PLT program during the second queisce stage.
CICS provides a shutdown assist transaction, that can be run during the first quiesce stage of shutdown. It can be run on a normal or an immediate shutdown.
You specify the name of the shutdown transaction on the SDTRAN system initialization parameter, or on the SDTRAN option of the PERFORM SHUTDOWN and PERFORM SHUTDOWN IMMEDIATE commands. You can also specify that no shutdown assist transaction is to be run. If you do specify that no shutdown assist transaction is to be run:
The purpose of the shutdown assist transaction is to help solve these problems; that is, to ensure that as many tasks as possible commit or back out cleanly within a reasonable time.
The default shutdown assist transaction is CESD, which starts the CICS-supplied program DFHCESD. DFHCESD attempts to purge and back out long-running tasks using increasingly stronger techniques. It ensures that as many tasks as possible commit or back out cleanly, enabling CICS to shut down in a controlled manner. For information about DFHCESD, and about how to write your own shutdown assist transaction, see the CICS Operations and Utilities Guide.