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:

vFor tables maintained by CICS, information is held in the tables themselves.

vFor 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.

vFor 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.

vFor 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:

vRestores the before-images of updated records

vRestores deleted records

vRemoves 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

Page 87
Image 87
IBM SC34-7012-01 manual Files, Bdam files and Vsam Esds files, Cics data tables