Exit XRMIOUT

Exit XRMIOUT is invoked after a task-related user exit program has returned from handling an RMI API request.

Exit-specific parameters
UEPTRUEN
Address of the name of the task-related user exit program.
UEPTRUEP
Address of the parameter list to be passed to the task-related user exit program.

The UEPHMSA parameter in this parameter list contains the register save area (RSA) of the caller. For an EXEC CPSM call, register 1 in this RSA contains the address of the parameter list for the CPSM command and can be used to identify the CPSM command and the specified resource. For details, see CICSPlex SM API command argument list.

UEP_RM_PBTOK
Address of a 4-byte field containing the z/OS Workload Manager (WLM) Performance Block Token. An exit program can use this token to access information (such as the service class token, SERVCLS) in the WLM Performance Block. To do so, it must use the WLM EXTRACT macro, IWMMEXTR, passing the Performance Block Token as the MONTKN input parameter. For more information about the IWMMEXTR macro, see z/OS MVS Programming: Workload Management Services.

An exit program must not attempt to modify the Performance Block: if it does so, the results are unpredictable.

UEPRECUR
Address of a halfword recursion counter. The counter is set to 0 when the exit is first invoked, and is incremented for each recursive call.
Note: The task-related user exit program's parameter list is mapped by a DFHUEPAR DSECT that shares common field names with the global user exit program's DFHUEPAR parameter list. To include both DSECT definitions in your exit program, you must code:
DFHUEXIT TYPE=EP,ID=XRMIOUT
DFHUEXIT TYPE,TYPE=RM
The statements must be coded in this order.

The DFHUEPAR parameter list of the global user exit and the DFHUEPAR parameter list of the task-related user exit each occupy separate areas of storage. The parameter list of the task-related user exit is provided for information only; do not amend it in any way.

Return codes
UERCNORM
Continue processing.
UERCPURG
Task purged during XPI call.
XPI calls
All can be used.
API and SPI commands
All except EXEC CICS SHUTDOWN and EXEC CICS XCTL can be used. However, CALLDLI, EXEC DLI, or EXEC SQL commands must not be used.
Note: It is not advisable for your exit program to make calls to other external resource managers that use the RMI, because this causes recursion, and might result in a loop. It is the responsibility of your exit program to avoid entering a loop. You can use the recursion counter field UEPRECUR in the exit program to guard against this possibility.