Writing user-recovery data

About this task

You should write only recovery-related records to the system log stream. You can do this using the commands provided by the application programming interface (API) or the exit programming interfaces (XPI). This is important because user recovery records are presented to a global user exit program enabled at the XRCINPT exit point.

User-written recovery records are managed in the same way as recovery manager records, and do not prevent CICS from performing log-tail deletion:

vUser-written recovery records written by user transactions are treated as part of the unit of work in which they are written—that is, they form part of the UOW chain. CICS shunts user-written recovery records as part of the unit of work, if the unit of work fails for any reason. These are:

Recovered by in-flight unit of work recovery during an emergency restart

Recovered by shunted unit of work recovery during both warm and emergency restarts.

vUser recovery records written by an XAKUSER global user exit program are written as part of an activity keypoint.

Retrieving user records from the system log:

During warm and emergency restarts, CICS scans the system log backwards. If, during this backwards scan, CICS finds active user records, they are presented to a global user exit program enabled at the XRCINPT exit point.

About this task

Active user log records are those that are:

vWritten by an XAKUSER global user exit program during the last completed activity keypoint.

vWritten by a user transaction through an API command.

These user records, which form part of a unit of work chain, are deemed to be active only if:

The high-order bit of the JTYPEID field is set to 1.

These records are presented to your XRCINPT global user exit program, regardless of the state of the unit of work, provided the unit of work lies within the scope of the backward scan of the system during restart. This category includes units of work that are in a backout-failed or commit-failed state.

The unit of work in which the command was issued was in-flight or failed indoubt when the previous run of CICS terminated.

These user records are always presented to your XRCINPT global user exit program, regardless of the state of the high-order bit in the JTYPEID field.

If CICS completes its scan of the system log and finds there are no active user records, it issues message DFHER5731.

Avoiding retention periods on the system log

CICS log tail deletion, which ensures that completed log records are retained for two complete activity key points only, is inhibited if you specify a retention period (RETPD=dddd) when you define the system log to MVS.

Chapter 11. Defining system and general log streams 115

Page 127
Image 127
IBM SC34-7012-01 manual Writing user-recovery data, Avoiding retention periods on the system log