DL/I interface program exits XDLIPRE and XDLIPOST
The XDLIPRE and XDLIPOST exit points are invoked following the issue of an
EXEC DLI command or DL/I call. Exit XDLIPRE is invoked before the request is
processed and XDLIPOST is invoked after the request is processed.
When the request is function shipped, the exits are invoked from both the
application-owning region and the database-owning region. However, there are
restrictions when they are invoked in a database-owning region, as described
below.
The
CICS IMS Database Control Guide
contains a sample program for the
XDLIPRE exit.
Notes:
1. The descriptions of the exits that follow show the general format of the
application’s parameter list. For detailed information about the format of the
CALL-level DL/I parameter list, refer to the
IMS/ESA Application Programming:
DL/I Calls
manual.
2. For all EXEC DLI calls, the application’s parameter list is in assembler-language
format (that is, the value of the program language byte pointed to by UEPLANG
is always UEPASM, and the parameter list pointed to by UEPAPLIST is always
in assembler-language format). This is because all EXEC DLI calls are
converted into assembler-language CALL-level requests.
3. In an XDLIPRE exit program you can change the PSB name and the SYSID
name. This helps availability if the originally specified SYSID fails.
You can change the SYSID from:
v A remote value to another remote value
v The local value to a remote value
v A remote value to the local value.
Changing the SYSID has an effect only if the associated PSB has a PDIR entry.
The SYSID may be the local CICS (that is, the SYSIDNT specified on the CICS
region) or a remote connection name. For the new SYSID to be used, the PSB
name must have a PDIR entry; if it does not have a PDIR entry, the assumption
is made that the local CICS is connected to DBCTL, and an attempt is made to
run the IMS™ request there. An IMS schedule failure is handled in the same
way as a failure to route to a connection that does not exist. If the SYSID is
changed to either the same value as the SYSIDNT of the local CICS or blanks
(hex ’40404040’), CICS attempts to run the IMS request on the local system.
DL/I interface program exits
44
CICS TS for OS/390: CICS Customization Guide