However, if a PLT-defined
shutdown
program itself passes control to another
program (via a link or transfer-control command), the program thus invoked
executes according to the execution key (EXECKEY) defined in its program
resource definition.
Important
You are strongly recommended to specify EXECKEY(CICS) when defining
both PLT programs and programs to which a PLT program passes control.
Data storage key for PLT programs
The storage key of storage used by PLT programs depends on how the storage is
obtained:
v Any working storage requested by the PLT program is in the key set by the
TASKDATAKEY of the transaction under which the PLT program is invoked. In
the case of those PLT programs that run during initialization (PLTPI programs),
the transaction is always an internal CICS transaction, in which case the
TASKDATAKEY is always CICS. In the case of those programs that run during
shutdown (PLTSD programs), it depends on the transaction you use to issue the
shutdown command. If you issue a CEMT PERFORM SHUTDOWN command,
the TASKDATAKEY is always CICS. If you run a user-defined transaction, to
invoke a program that issues an EXEC CICS PERFORM SHUTDOWN
command, the TASKDATAKEY can be either USER or CICS.
v PLT programs can use EXEC CICS commands to obtain storage by issuing:
– Explicit EXEC CICS GETMAIN commands
– Implicit storage requests as a result of EXEC CICS commands that use the
SET option.
The default storage key for storage obtained by EXEC CICS commands is set by
the TASKDATAKEY of the transaction under which the PLT program is invoked,
exactly as described for working storage.
As an example, consider a transaction defined with TASKDATAKEY(USER) that
causes a PLT shutdown program to be invoked. In this case, any implicit or
explicit storage acquired by the PLT program by means of an EXEC CICS
command is, by default, in user-key storage. However, on an EXEC CICS
GETMAIN command, the PLT program can override the TASKDATAKEY option
by specifying either CICSDATAKEY or USERDATAKEY.
PLT programs—general
Chapter 4. Writing initialization and shutdown programs 397