System recovery programs
The system recovery programs, DFHSR1, DFHSRP, and DFHSRLI, together form the default CICS® recovery routine for the application (AP) domain. This routine is, in particular, the recovery routine for program checks, operating system abends, and runaway tasks that occur in user application code.
Design overview
The CICS kernel intercepts program checks, runaway tasks, operating system abends and some other internal errors for all CICS domains. The kernel then selects which CICS recovery routine to pass control to. The selected recovery routine can then process the error as appropriate.
The DFHSR1 module is the default recovery routine for the application domain. It receives control if any of the errors listed earlier occur in CICS system application programs, user application programs and some CICS nucleus modules. It processes internal errors itself but, when dealing with program checks, operating system abends, and runaway task abends, it calls the DFHSRP module. The DFHSRP module, in turn, converts the error into a transaction abend, if possible; if not possible, it terminates CICS. The DFHSRP module uses subroutines in DFHSRLI.
- AEYD Error detected by command storage protection
- AICA Task runaway
- AKEF Domain gate not active
- AKEG Kernel stack storage GETMAIN failure
- ASRA Program check
- ASRB Operating system abend
- ASRD Illegal macro call or attempt to access the CSA or TCA
- ASRK TCA not available
- xxxx as set by issuers of deferred abend
The processing associated with each of these abends is described in Error handling.
- If NO is coded, CICS does not recover from program checks or operating system abends, and terminates if one occurs.
- If a suffix is coded, CICS attempts to recover from all types of program check, but can only recover from an operating system abend if the abend code appears in the SRT identified by the suffix (for example, DFHSRT1A where 1A is the suffix). If the abend code is not in the SRT, CICS terminates.
For information about how to create the SRT, see System recovery table (SRT).
Modules
| Module | Function |
|---|---|
| DFHSRP | Called by DFHSR1 to process program checks, operating system abends, runaway tasks, and so on. |
| DFHSRLI | Provides functions for DFHSRP, via the DFHSRLIM interface. |
| DFHSR1 | The default recovery routine for the AP Domain. At recovery initialization, the DFHSII1 module calls the DFHSR1 module during AP domain initialization. The DFHSR1 module tells the Kernel that it is the default recovery routine for the AP domain and adds the ABAB gate. If any error occurs when informing the kernel, CICS is terminated with message DFHSR0605 and a system dump because it is not possible to run CICS without AP domain recovery. |
Exits
There is one global user exit point in DFHSR1: XSRAB. This exit can be called if an operating system abend has occurred and the abend code is in the SRT.
For further information about using the XSRAB exit, see System recovery program exit XSRAB.
Trace
- AP 0701, for which the trace entry level is AP 2
- AP 0702, for which the trace entry level is AP 2
- AP 0780, for which the trace entry level is Exc
- AP 0781, for which the trace entry level is Exc
- AP 0782, for which the trace entry level is Exc
- AP 0783, for which the trace entry level is Exc
- AP 0790, for which the trace entry level is Exc
- AP 0791, for which the trace entry level is Exc
- AP 0792, for which the trace entry level is Exc
- AP 0793, for which the trace entry level is Exc
- AP 0794, for which the trace entry level is Exc
- AP 0795, for which the trace entry level is Exc
- AP 0796, for which the trace entry level is Exc
- AP 0797, for which the trace entry level is Exc
- AP 0798, for which the trace entry level is Exc
- AP 0799, for which the trace entry level is Exc
- AP 079A, for which the trace entry level is Exc
Reference
The following topics describe processing details of the modules.