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:
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 parametersplist address --> parm1 address --> parm1 (parmcount) parm2 address --> locator descriptor --> parm2 parm3 address --> locator descriptor --> parm3 .............. up to a maximum of 18 parameters.
parm1
andparm2
. 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.