- What is a PLT in CICS TS V5.5?
- How PLT process has changed in CICS TS V5.5
- Example of PLT
CICS TS V5.5 requires the source code of Program List Tables (PLTs). If the source has been lost it is easily recreated. This blog explains how.
A program list table (PLT) specifies programs to be run during CICS startup and shutdown, and groups of programs to be enabled and disabled together.
CICS TS V5.5 changes the way in which PLTs are processed. In previous releases, it was necessary to reassemble PLTs when CICS was upgraded. In CICS TS V5.5, it is no longer necessary to do this, because CICS TS V5.5 processes the source of the PLTs directly. As a result of the change, CICS TS V5.5 cannot process assembled PLTs, so the source of PLTs must be available. If the source of a PLT has been lost, it will be necessary to recreate it.
Anatomy of a PLT
Below is an example of a PLT.
* * LIST OF PROGRAMS TO BE EXECUTED SEQUENTIALLY DURING SYSTEM * INITIALIZATION. * REQUIRED SYSTEM INITIALIZATION PARAMETER: PLTPI=I1 * DFHPLT TYPE=INITIAL,SUFFIX=I1
The DFHPLT macro is used to create the PLT. The TYPE=INITIAL statement gives the PLT a name, which is a one- or two-character SUFFIX.
* * The following programs are run in the first pass of PLTPI * DFHPLT TYPE=ENTRY,PROGRAM=TRAQA DFHPLT TYPE=ENTRY,PROGRAM=TRAQB DFHPLT TYPE=ENTRY,PROGRAM=TRAQC
Then the TYPE=ENTRY statements define one or more programs that are to be run during the first phase of PLT processing. If no first phase programs are required, no entries of this type need to be coded.
* DFHPLT TYPE=ENTRY,PROGRAM=DFHDELIM *
The special entry PROGRAM=DFHDELIM separates the list of programs that are invoked in the first phase of processing from the list of programs that are invoked in the second phase.
* * The following programs are run in the second pass of PLTPI * DFHPLT TYPE=ENTRY,PROGRAM=TRASA DFHPLT TYPE=ENTRY,PROGRAM=TRASB DFHPLT TYPE=ENTRY,PROGRAM=TRASC
Then the TYPE=ENTRY statements define one or more programs that are to be run during the second phase of PLT processing. If no second phase programs are required, no entries of this type need to be coded.
Finally, the TYPE=FINAL statement, just before the END statement, signals the end of the PLT.
Recreating the source of the PLT
If the source of one or more Program List Tables has been lost, it can be recreated by reference to its assembled version.
Here is an example of an assembled PLT:
DFHPLT -DFHPLTI1 00000001 TXT *DFHPLTI1Ø 0670I TRAQA TRAQB TRAQC 00000002 TXT DFHDELIMTRASA TRASB TRASC ”””””””” 00000003
The name of the PLT can be seen after DFHPLT on the first line. In this example, it is DFHPLTI1. From this, it can be seen how to code the TYPE=INITIAL statement, for example DFHPLT TYPE=INITIAL,SUFFIX=I1
On the next line, the release-specific information can be ignored (in this example, TXT *DFHPLTI1Ø 0670I ). Following that information, the names of the programs that are part of the first phase of PLT processing can be seen. In this example, the first one is TRAQA. Each program name entry is 8 characters so, in this example, TRAQA is followed by three blanks, then come TRAQB, and TRAQC. From this, the first set of TYPE=ENTRY statements can be recreated, for example the first one would be DFHPLT TYPE=ENTRY,PROGRAM=TRAQA.
At the start of line 3, the special DFHDELIM entry can be seen. From this, the inclusion of a TYPE=ENTRY, PROGRAM=DFHDELIM statement is indicated.
The DFHDELIM entry is followed by the names of the programs that are part of the second phase of PLT processing. In this example, these are TRASA, TRASB, and TRASC. From this, the second set of TYPE=ENTRY statements can be recreated, for example the first one would be DFHPLT TYPE=ENTRY,PROGRAM=TRASA.
The eight quotation marks after the list of program names are caused by the TYPE=FINAL entry, so this indicates the end of the table.
By reading the assembled version, the source of the PLT can easily be recreated. When it has been re-coded, it should be saved with a PDS member name that is the same name as the PLT. In this example, the source should be saved with the name DFHPLTI1.
When CICS TS V5.5 starts up or shuts down, it uses DFHPLTI1 when a PLT with a suffix of I1 is specified. On startup, the PLT is identified on the SIT parameter PLTPI. On shutdown, the SIT parameter PLTSD, or a CEMT override, is used, but the same PLT code applies in all cases.