Exit XDLIPOST

Exit XDLIPOST is invoked on exit from the DL/I interface program.

Programs running in this exit must be coded to threadsafe standards and defined to CICS® as threadsafe.

Exit-specific parameters
UEPCTYPE
Address of type-of-request byte. Values are:
UEPCEXEC
An EXEC DLI request.
UEPCCALL
A CALL-level request.
UEPCSHIP
The request has been function shipped from another region. When this value is set, restrictions apply to the setting and use of the rest of the exit parameters, as described.
UEPAPLIST
Address of application's parameter list. The general format for COBOL and assembler language is:
plist address --> parm1 address --> parm1
                parm2 address --> parm2
                parm3 address --> parm3
                ..............
                up to a maximum of 18 parameters
                excluding the optional parmcount.
              The general format for PL/I is:
plist address --> parm1 address --> parm1 (parmcount)
       parm2 address --> locator descriptor --> parm2
       parm3 address --> locator descriptor --> parm3
       ..............
       up to a maximum of 18 parameters.
When UEPCTYPE is not UEPCSHIP, your exit program can change any of the parameters in the application parameter list. For UEPCSHIP requests, your exit program cannot change any of the parameters. Furthermore, for UEPCSHIP requests, UEPAPLIST points to a copy of the parameter list in the previous format, but which contains only the first two parameters parm1 and parm2. See also DL/I interface program exits XDLIPRE and XDLIPOST.
Note: For PL/I applications, parm1 might or might not contain a parameter-count. Your exit program should check this field before using it.
UEPLANG
Address of program language byte. Its values are:
UEPPLI
PL/I
UEPCBL
COBOL
UEPASM
assembler language.

For UEPCSHIP requests, the language is always assembler.

UEPIOAX
Address of I/O area existence flag byte:
UEPIOA1
I/O area exists.

For UEPCSHIP requests, the I/O area existence flag is always off.

UEPIOA
Address of I/O area. This is the application's IOAREA, or DFHEDP's IOAREA in the case of EXEC DLI. The contents of the IOAREA can be overwritten in the exit and are returned to the application program in the new form. However, it should be noted that the application's IOAREA could be in the program's static storage and, in this case, should not be overwritten.

For UEPCSHIP requests, UEPIOA is always zero.

UEPUIBX
Address of UIB existence flag byte:
UEPUIB1
a UIB exists.
UEPUIB
Address of the UIB, which is mapped by DFHUIB in module DFHDBCOP. The contents of the UIB can be overwritten in the exit for all types of request, including UEPCSHIP. The new contents are returned to the application or to the region that function shipped the request.
Return codes
UERCNORM
Continue processing.
UERCPURG
Task purged during XPI call.
XPI calls
All can be used.