Exit XFCREQ

Exit XFCREQ is invoked before CICS® processes a file control API request. The exit is not invoked, on the target region, for function-shipped requests.

Exit-specific parameters
UEPCLPS
Address of the command-level parameter structure. See The UEPCLPS exit-specific parameter.
UEPFCTOK
Address of the 4-byte token to be passed to XFCREQC. This allows you, for example, to pass a work area to exit XFCREQC.
UEPRCODE
Address of a 6-byte hexadecimal copy of the EIB return code ‘EIBRCODE'. For details of EIB return codes, refer to EIB fields.
UEPRESP
Address of a 4-byte binary copy of the EIB response code ‘EIBRESP'.
UEPRESP2
Address of a 4-byte binary copy of the EIB response code ‘EIBRESP2'.
UEPTSTOK
Address of a 4-byte token that is valid throughout the life of a task. See Using the task token UEPTSTOK.
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.
UEPFSHIP
Address of a 16 byte area. See Use of the parameter UEPFSHIP.
UEPRSRCE
Address of an 8-character copy of the EIB resource value, EIBRSRCE.
Return codes
UERCNORM
Continue processing.
UERCBYP
The file control EXEC interface program should ignore this request.
UERCPURG
Task purged during XPI call.
XPI calls
All can be used.

Although the exit permits the use of XPI GETMAIN and FREEMAIN calls, we recommend that you use the EXEC CICS GETMAIN and FREEMAIN commands instead.

API and SPI calls
All can be used, except for:
  • EXEC CICS SHUTDOWN
  • EXEC CICS XCTL
Note:
  1. Take care when issuing recursive commands not to cause a loop. For example, it is your responsibility to avoid entering a loop when a file control request is issued from the XFCREQ exit. Use of the recursion counter UEPRECUR is recommended.
  2. Exit programs that issue EXEC CICS commands must first address the EIB. See Using CICS services.
  3. Exit programs that issue EXEC CICS commands, and that use the DFHEIENT macro, should use the DFHEIRET macro to set a return code and return to CICS. See Returning values to CICS.