Application programming for PL/I
Application programs in PL/I use the following format, parameters, and DL/I calls to communicate with the IMS™ Transaction Manager.
Format
>>-CALL---------------------------------------------------------> >--+-PLITDLI--(--parmcount--,--function--+-----------------------+-+--> | +-,--i/o_pcb--+-------+-+ | | | +-| A |-+ | | | | '-| B |-' | | | '-,--alt pcb--+-------+-' | | +-| A |-+ | | '-| C |-' | +-AIBTDLI--(--parmcount--,--function--,--aib--+-------+---------+ | +-| A |-+ | | +-| B |-+ | | '-| C |-' | '-CEETDLI--(--parmcount--,--function--+-----------------------+-' +-,--i/o_pcb--+-------+-+ | +-| A |-+ | | '-| B |-' | +-,--alt_pcb--+-------+-+ | +-| A |-+ | | '-| C |-' | '-,--aib--+-------+-----' +-| A |-+ +-| B |-+ '-| C |-' >--)--;-------------------------------------------------------->< A |--,--i/o_area--+---------------------------------------+-------| +-,--mod_name---------------------------+ +-,--token------------------------------+ '-,--options_list--+------------------+-' '-,--feedback_area-' B |--,--i/o_area_length--,--i/o_area------------------------------> >--+-----------------------------+------------------------------| | .-------------------------. | | V | | '---,--area_length--,--area-+-' C |--,--destination_name--+---------------------------------------+--| '-,--options_list--+------------------+-' '-,--feedback_area-'
Parameters
- parmcount
- Specifies the name of a fixed-binary (31-byte) variable that contains the number of arguments that follow parmcount.
- function
- Specifies the name of a character (4-byte) variable, left justified, blank padded character string that contains the call function to be used. For example, (GUbb) is a call function.
- i/o pcb
- Specifies the address of the program communication block (I/O
PCB). The I/O PCB address is the first address passed on entry to
the application program in the PCB list, given the following circumstances:
- A program executing in DLI or DBB regions where CMPAT=YES is coded on the PSB.
- Any program executing in batch message processing program (BMP), message processing program (MPP), or IMS Fast Path (IFP) regions regardless of the CMPAT= value.
- alternate pcb
- Specifies the structure associated with the I/O PCB or alternate 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.
- aib
- Specifies the name of the structure that defines the application interface block (AIB).
- 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 the returned data.
- i/o area length
- Specifies the name of a fixed binary (31) variable in user-defined storage that contains the I/O area length (specified in binary).
- area length
- Specifies the name of a fixed binary (31) variable that contains the length (specified in binary) of the area immediately following it in the parameter list. Up to seven area length/area pairs can be specified.
- area
- Specifies the name of the area to be checkpointed. Up to seven area length/area pairs can be specified.
- token
- Specifies the name of a character (4) variable that contains a user token.
- options list
- Specifies the name of a structure that contains processing options used with the call.
- feedback area
- Specifies the name of a structure that receives information about options list processing errors.
- mod name
- Specifies the name of a character (8) variable character string containing the user-defined MOD name used with the call.
- destination name
- Specifies the name of a character (8) variable character string containing the logical terminal or transaction code to which messages resulting from the call are sent.
Example DL/I call formats
DL/I
CEETDLI interface:
%INCLUDE CEEIBMAW;
CALL CEETDLI (function, i/o pcb, i/o area);
DL/I
AIBTDLI interface:
CALL AIBTDLI (parmcount, function, aib, i/o area);
DL/I
language-specific interface:
CALL PLITDLI (parmcount, function, i/o pcb, i/o area);