Application programming for PL/I

Application programs in PL/I use the following format, parameters, and DL/I calls to communicate with IMS databases.

Restriction: For the PLITDLI interface, all parameters except parmcount are indirect pointers; for the AIBTDLI interface, all parameters are direct pointers.

Format

Read syntax diagramSkip visual syntax diagram CALL PLITDLI(parmcount,function, db pcbA, tp pcbABCAIBTDLI(parmcount,function,aibABCEETDLI(parmcount,function, db pcbA, tp pcbAB, aibAB);
A
Read syntax diagramSkip visual syntax diagram , i/o area ,, ssa, token, stat function, rsa, rootssa
B
Read syntax diagramSkip visual syntax diagram , i/o area length, i/o area ,, area length, area
C
Read syntax diagramSkip visual syntax diagram , psb name, uibptr , sysserve

Parameters

parmcount
Specifies the name of a fixed binary (31-bit) variable that contains the number of arguments that follow parmcount.
function
Specifies the name of a fixed-character (4-byte) variable left-justified, blank padded character string containing the call function to be used (such as GUbb).
db pcb
Specifies the structure associated with the database PCB to be used for the call. This structure is based on a PCB address that must be one of the PCB addresses passed on entry to the application program.
tp pcb
Specifies the structure associated with the I/O PCB or alternate PCB to be used for the call.
aib
Specifies the name of the structure that defines the AIB in your application program.
i/o area
Specifies the name of the I/O area used for the call. The I/O area must be large enough to contain all the returned data.
i/o area length
Specifies the name of a fixed binary (31) variable that contains the I/O area length.
area length
Specifies the name of a fixed binary (31) variable that contains the length of the area immediately following it in the parameter list. Up to seven area lengths or area pairs can be specified.
area
Specifies the name of the area to be checkpointed. Up to seven area lengths or area pairs can be specified.
token
Specifies the name of a character (4) variable that contains a user token.
stat function
Specifies the name of a character (9) variable string containing the stat function to be performed.
ssa
Specifies the name of a character variable that contains the SSAs to be used for the call. Up to 15 SSAs can be specified, one of which is rootssa.
rootssa
Specifies the name of a character variable that contains a root segment search argument.
rsa
Specifies the name of a character variable that contains the record search argument.
psb name
Specifies the name of a character (8) containing the PSB name to be used for the call.
uibptr
Specifies the name of the user interface block (UIB).
sysserve
Specifies the name of a character (8) variable character string to be used for the call.

Example of a DL/I call format

Using the DL/I CEETDLI interface:
CALL    CEETDLI (parmcount,function,db pcb,i/o area,ssa1);
Using the DL/I AIBTDLI interface:
CALL    AIBTDLI (parmcount,function,aib,i/o area,ssa1);
Using the DL/I language-specific interface:
%INCLUDE CEEIBMAW;
CALL    PLITDLI (parmcount,function,db pcb,i/o area,ssa1);