In XFCREQC:
1. Check ‘UEPRCODE’ to make sure that the file control request
completed without error.
2. Use UEPFCTOK to find the address of the area. This area now holds
the compressed data.
3. Decompress the data in place.
4. Copy the data from the new area to the user’s INTO area. Use the
user-specified LENGTH (from the command-level parameter list) to
ensure that the data fits and that the copy does not cause a storage
violation.
5. Set ‘LENGERR’ in UEPRESP, UEPRESP2, and UEPRCODE if the data
does not fit.
6. Use EXEC CICS FREEMAIN to free the work area pointed to by
UEPFCTOK.
7. At this point the command-level parameter list points to the now free
area as the address for INTO. This is not a problem, because after
completion of XFCREQC File Control restores this pointer to point to the
area supplied by the user program.
8. Return to CICS.
Exit XFCREQ
When invoked
Before CICS processes a file control API request.
Exit-specific parameters
UEPCLPS
Address of the command-level parameter structure. See “The
UEPCLPS exit-specific parameter” on page 71.
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 the
CICS
Application Programming Reference
manual.
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 “Use of the task token UEPTSTOK” on page 77.
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.
file control EXEC interface API exits
Chapter 1. Global user exit programs 79