vCICS remains operational, but the task currently in control terminates.

vCICS terminates (see “Shutdown requested by the operating system” on page 29).

If a program check occurs when a user task is processing, the task abends with an abend code of ASRA. If a program check occurs when a CICS system task is processing, CICS terminates.

If an operating system abend has occurred, CICS searches the system recovery table, DFHSRT. The system recovery table contains a set of operating system abend codes that you want CICS to recover from. CICS searches the table looking for the system abend code issued by the system:

vIf a match is not found, CICS is terminated.

vIf a match is found, and a CICS system task is processing, CICS is terminated.

vIf a match is found, and a user task is processing, the default action is to abend the task with an abend code of ASRB. However, you can change this action by coding a global user exit program at exit point XSRAB. The value of the return code from XSRAB determines which of the following happens next:

The task terminates with the ASRB abend code.

The task terminates with the ASRB abend code and CICS cancels any program-level abend exits that are active for the task.

CICS terminates.

For programming information about the XSRAB exit point, see the CICS Customization Guide.

CICS supplies a sample system recovery table, DFHSRT1$, that has a default set of abend codes. You can modify the sample table to define abend codes that suit your own requirements. The source of DFHSRT1$ is supplied in the CICSTS41.CICS.SDFHSAMP library. For more information about the system recovery table, see the CICS Resource Definition Guide.

Note: Because it is possible to introduce recursions between program checks and abends, take great care when coding a global user exit program at the XSRAB exit point.

Chapter 8. Unit of work recovery and abend processing 95

Page 107
Image 107
IBM SC34-7012-01 manual Unit of work recovery and abend processing