v An internal CICS request to process a system file.
Note that:
v If the exit program passes the request to CICS file control (without choosing to
redirect it to a remote region), it is not allowed to make changes to any of the
parameters.
v If the exit program intercepts the request and bypasses file control:
– It must return all the responses and output parameters that would otherwise
have been returned by file control. These are marked output in the
descriptions of the exit-specific parameters below.
– It must indicate whether, if the request was function-shipped, the mirror
transaction is permitted to terminate. Certain file control requests require that
another request has been executed previously in the same transaction. (For
example, READNEXT must be preceded by a matching STARTBR; REWRITE
must be preceded by a matching READ, READNEXT, or READPREV with the
UPDATE option). If the mirror transaction terminates between two such
requests, the second is likely to fail. Conversely, a mirror transaction that is
retained unnecessarily will hold on to CICS resources and may contribute to
storage and locking problems.
– CICS terminates file browses and outstanding updates as part of syncpoint
processing. However, the XFCFRIN exit is not invoked for syncpoint. If you
want to emulate this aspect of CICS behavior accurately, or you want to
support recoverable resources, you must invoke a task-related user exit
program which schedules the syncpoint manager—see “Coding a program to
be invoked by the CICS syncpoint manager” on page 293.
v To redirect the request to a remote region, the exit program must add or change
the value of the SYSID parameter. In this case, it may also need to supply the
values of the key length and record length. It is not permitted to make changes to
any of the other parameters.
The FCFR functions (UEP_FC_FUNCTION) are derived from those available
through the EXEC CICS interface, where certain of the request options (SET, INTO,
UPDATE) have been included in the function values. (For example,
UEP_FC_FUN_DELETE is derived from EXEC CICS DELETE with the RIDFLD
option specified; UEP_FC_FUN_REWRITE_DELETE is derived from EXEC CICS
DELETE without RIDFLD.)
XFCFROUT
If enabled, the XFCFROUT exit is invoked after completion of a file control request.
It is invoked in both the following cases:
v After CICS file control has completed its processing, either normally or with an
error
v If your XFCFRIN exit program chooses to bypass CICS file control processing.
XFCFROUT allows you to monitor the results of completed file control requests. For
example, if you didn’t choose to bypass CICS file control processing, you can
analyze the (CICS-internal) file control request to determine its type, the parameters
passed to file control, and the values returned.
All parameters are input-only; your exit program cannot modify any of the values.
Chapter 1. Global user exit programs 73