IBM SC34-7012-01 Server User Manual


 
terminating transaction takes place immediately. Therefore, it does not cause any
active locks to be converted into retained locks. In the case of a CICS region abend,
in-flight tasks have to wait to be backed out when CICS is restarted, during which
time the locks are retained to protect uncommitted resources.
To restore the resources to the state they were in at the beginning of the unit of
work, CICS preserves a description of their state at that time:
v For tables maintained by CICS, information is held in the tables themselves.
v For recoverable auxiliary temporary storage, CICS maintains information on the
system log about all new items written to TS queues. CICS maintains
information about TS queues for backout purposes in main storage.
v For transient data, CICS maintains cursors that indicate how much has been
read and written to the queue, and these cursors are logged. CICS does not log
before- or after-images for transient data.
v For CICS files, the before-images of deleted or changed records are recorded in
the system log. Although they are not strictly “before-images”, CICS also logs
newly added records, because CICS needs information about them if they have
to be removed during backout.
Files
CICS file control is presented with the log records of all the recoverable files that
have to be backed out.
File control performs the following processing:
v Restores the before-images of updated records
v Restores deleted records
v Removes new records added by the unit of work
If backout fails for any file-control-managed resources, file control invokes backout
failure support before the unit of work is marked as backout-failed. See
“Backout-failed recovery” on page 79.
BDAM files and VSAM ESDS files:
In the special case of the file access methods that do not support delete requests
(VSAM ESDS and BDAM) CICS cannot remove new records added by the unit of
work.
In this case, CICS invokes the global user exit program enabled at the XFCLDEL
exit point whenever a WRITE to a VSAM ESDS, or to a BDAM data set, is being
backed out. This enables your exit program to perform a logical delete by
amending the record in some way that flags it as deleted.
If you do not have an XFCLDEL exit program, CICS handles the unit of work as
backout-failed, and shunts the unit of work to be retried later (see “Backout-failed
recovery” on page 79). For information about resolving backout failures, see
Logical delete not performed.
Such flagged records can be physically deleted when you subsequently reorganize
the data set offline with a utility program.
CICS data tables:
For CICS-maintained data tables, the updates made to the source VSAM data set
are backed out. For user-maintained data tables, the in-storage data is backed out.
Chapter 8. Unit of work recovery and abend processing 75