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:
- 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.
- Exit programs that issue EXEC CICS commands must first address the EIB. See Using CICS services.
- 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.