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
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);