point; the TBEXITS parameter allows only one exit program at each exit point.
PLTPI processing is described in Chapter 4, “Writing initialization and shutdown
programs,” on page 425.
Exit XFCBFAIL, file control backout failure exit
XFCBFAIL is invoked whenever there is a failure during backout of an update made
to a file record.
If, within a given UOW, there are backout failures for more than one record in the
same file, or for records in multiple files, the exit is invoked:
v For the first record in each data set for which backout fails.
If more than one file is associated with a single data set, only the first record in
the first of the files to fail backout within the UOW causes CICS to invoke the
exit. All subsequent records are failed with the same error, but the exit is not
invoked again.
v For the first record for each data set that fails during any retry of the backout for
this UOW.
It is not invoked for backout failures to other (non-file-control) resources within the
UOW.
For VSAM data sets, backout failure processing saves information that allows the
backout to be retried later.
For BDAM data sets, the backout cannot be retried. If backout fails against a BDAM
data set, you can use the XFCBFAIL exit to preserve data integrity by terminating
CICS immediately. If the XFCBFAIL exit is not enabled, or does not terminate CICS,
the BDAM data is committed and the locks are released. If the exit is enabled, you
can use the XFCBFAIL global user exit program to save information that you can
use to manually correct the data. However, you need to be careful that in doing this
you do not back out other changes made between the time of the backout failure
and the time of your own manual recovery action.
When invoked
If an error occurs during backout of a change made to a file (on the first
failure in the UOW for the data set associated with the file).
Exit-specific parameters
UEPBLOGR
Address of the file control portion of the log record that represents
the update that was being backed out when the file control failure
occurred. The log record can be mapped using the DSECT
DFHFCLGD.
UEPTRANS
Address of a 4-byte field containing the transaction id under which
the update that is being backed out was made.
UEPTRMNL
Address of the 4-byte terminal id for the terminal or principal facility
from which the update that is being backed out was made.
UEPTASK
Address of the 4-byte (packed decimal) field containing the task
number for the task under which the update that is being backed
out was made.
Chapter 1. Global user exit programs 127