To interact with IMS™ message queues, DL/I databases, and GSAM files, you customize EGL program elements as needed to generate a COBOL program that can access your organization's program specification blocks (PSBs) and program communication blocks (PCBs). Those blocks are hereafter called the runtime PSBs and runtime PCBs.
The system variable DLILib.psbDatahas a second field, psbRef. The initial value of the field is zero, which indicates that no PSB is scheduled. When CICS schedules the PSB, EGL runtime assigns to that field the address used to access the PSB. You can use the variable to "pass the PSB" (really, to pass a name and the related address) during a transfer or call.
An I/O PCB is valid in the runtime PSB (to allow for checkpoints in DL/I access, for example); alternate PCBs are tolerated; and DB PCBs are valid.
DB and GSAM PCBs are also valid.
DB PCBs are also valid.
If the value of build descriptor option workDBType is DLI (as is the default), set your last DB PCB for the EGL work database, which is identified by the name ELAWORK.
An I/O PCB is valid in the runtime PSB (to allow for checkpoints in DL/I access, for example); alternate PCBs are tolerated; and DB PCBs are valid.
EGL adjusts for the initial two or three I/O and teleprocessing PCBs if they are declared in the PSB record but are not present in the runtime PSB. This adjustment allows you to generate the same program across different environments. In relation to CICS, for example, EGL runtime ignores the initial I/O and alternate PCB records if they are present in the code but do not match the runtime PSB used in CICS.
You specify a call interface (AIBTDLI or CBLTDLI) by setting the program property @DLI , property field callInterface, and your choice affects the requirements for the PSB record part that you define:
Alternatively, you can declare a record that redefines the alternate PCB record, and name that overlay record ELAALT. For details on redefining records, see Declaring a record that redefines another.
In a called program, you need to declare only the PCB records that are used there.
If you specify properties pcbParms and psbParm, the PCB-specific addresses in the former override the equivalent addresses in the latter; the passed PSB record is ignored.
Related concepts
DL/I database support
IMS runtime support
Related reference
add
converse
show
transfer
Related tasks
Declaring a record that redefines another
Interacting with terminals in IMS
Using serial files in IMS