v First phase PLTPI programs must not enable any task-related user exit program
with the TASKSTART option.
v Because first-phase PLT programs run so early in CICS initialization, no resource
definitions are available. This means that you cannot use installed PROGRAM
definitions (or the program autoinstall user program) to define first-phase PLT
programs to CICS, nor to define the user exit programs that first-phase PLT
programs enable. Instead, default definitions are installed automatically by CICS.
Whether or not program autoinstall is specified as active on the PGAIPGM
system initialization parameter, the autoinstall user program is not invoked to
allow the definitions to be modified.
This type of autoinstall by CICS is known as system autoinstall.
CICS defines first-phase PLT programs, and the user exit programs that they
enable, with the following attributes:
LANGUAGE(Assembler)
RELOAD(No)
STATUS(Enabled)
CEDF(No)
DATALOCATION(Below)
EXECKEY(CICS)
EXECUTIONSET(Fullapi)
CONCURRENCY(Quasirent)
It is recommended that you write your global user exit programs to be
threadsafe. However, the system-autoinstalled program definition specifies
CONCURRENCY(Quasirent); that is, the exit programs are defined as
quasi-reentrant. To define a first-phase PLT global user exit program as
threadsafe, specify the THREADSAFE keyword on the EXEC CICS ENABLE
command. This overrides the CONCURRENCY(QUASIRENT) setting on the
system-autoinstalled program definition.
v You cannot use Debug Tool to debug a first-phase PLT program.
Second phase PLT programs
During the final stages of CICS initialization, most CICS services are available to
PLT programs. These programs are specified in the second part of the PLTPI list
(after the DFHDELIM entry). The limitations on the services that are available to
second phase PLTPI programs are described below.
v Because interregion communication (IRC) and intersystem communication (ISC)
have pseudo-terminal entries associated with their function, you cannot run any
IRC or ISC functions during PLTPI processing.
Note: In this instance, “ISC”, means both intersystem communication over SNA
(ISC over SNA) and IP interconnectivity (IPIC).
In other words, second phase PLT programs must not issue any EXEC CICS
commands even INQUIRE commands, related to transaction routing (and
therefore pseudo-terminals) that attempt to access remote resources.
This restriction occurs if the remote resource is not available. The remote
resource might be unavailable for one of the following reasons:
– AUTOCONNECT=NO has been specified on the connection definition.
– The remote region is not running.
– The remote resource in the remote region is not available.
– The link is broken; because of a network problem, for example.
However, if the connection with the remote region is available and the resource
in the remote region is also available, this restriction does not apply.
426 Customization Guide