IBM SC34-6814-04 Server User Manual


 
Writing shutdown programs
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.
First phase PLT programs
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.
PLT programs for the second 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:
LANGUAGE(ASSEMBLER) STATUS(ENABLED) CEDF(NO)
DATALOCATION(BELOW) EXECKEY(CICS)
EXECUTIONSET(FULLAPI)
As a result, system autoinstalled programs have a default CONCURRENCY setting
of QUASIRENT, and a default API setting of CICSAPI.
v For those threadsafe PLT programs that
are defined with the OPENAPI value for the API attribute, or
are C or C++ programs compiled with the XPLINK compiler option
provide an appropriate resource definition, or alternatively, for Language
Environment conforming programs, use the CICSVAR runtime option to set the
appropriate CONCURRENCY and API values. See Defining runtime options for
Language Environment, in the CICS Application Programming Guide.
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
428 Customization Guide