Abend Exit Routine Search Order
The search order CMS uses to check for abend exit routines depends
on what caused the abend. If the:
- DMSABN macro causes the abend, CMS checks for abend exit routines defined by the VMERROR and VMERRORCHILD events. It then checks for abend exit routines defined by the ABNEXIT macro. If any exist, DMSABN passes control to the most recent one set. If none are found or if recovery is not attempted by an ABNEXIT-defined exit, CMS checks for MVS ESTAE-defined exits.
- OS/MVS ABEND macro causes the abend, CMS checks first for exit routines defined by the OS/MVS STAE or ESTAE macros. It then checks for abend exit routines defined by the VMERROR and VMERRORCHILD events. If none are found, CMS checks for exit routines defined by ABNEXIT.
- Program interrupt causes the abend, CMS checks first for exit routines defined by the OS/MVS SPIE or ESPIE macros, next for exit routines defined by the OS/MVS STAE or ESTAE macros, then for exit routines defined by the VMERROR and VMERRORCHILD events, and last for exit routines defined by ABNEXIT.
- DOS environment is active, CMS checks first for program check exit routines defined by STXIT PC. If none are found, CMS checks for a linkage to an abnormal termination routine (created by STXIT AB). If no PC or AB routine can be given control, control goes to CMS abend processing routines, which can invoke any exit routines created by ABNEXIT.