Customizing Z Abend Investigator by using user exits
In order to provide greater flexibility and control of Z Abend Investigator operation, a set of user exit points have been created where user exits can get control during Z Abend Investigator operation. The user exits can be written in REXX, assembler, or high-level languages. They are normally passed two data structures. The first is a common environment structure passed to all user exits which provides the general information fields for the fault currently being processed. The second structure is normally fields to the particular exit being called. Some of the fields are used to pass information to the exits and others are for the user exit to pass data or required actions back to Z Abend Investigator. For exits written in REXX, the data is passed in stem variables rather than in structures, since this approach is more manageable for REXX.
The exits can be used to perform functions such as dynamically selecting the history file data set or compile listing data sets. They can also be used to notify users by messages or email that a fault has occurred plus many other uses.
Options settings and selections made in user exits affect the current analysis only.
- Analysis Control user exit
- Analysis Control user exit (MVS SVC Dump registration)
- Compiler Listing Read user exit
- Message and Abend Code Explanation user exit
- Formatting user exit
- End Processing user exit
- End Processing user exit (Fault entry refresh)
- Notification user exit
- Notification user exit (MVS SVC Dump registration)
- HFZUTIL Import user exit (used only with the HFZUTIL batch utility)
- HFZUTIL Delete user exit (used only with the HFZUTIL batch utility)
- HFZUTIL ListHF user exit (used only with the HFZUTIL batch utility)
![faoug003 Diagram illustrating the points during the processing where the various types of user exits are invoked: First options processing is performed. When complete, the user exit is invoked. Then the analysis processing is performed, during which the user exit is invoked. When analysis processing is complete, the user exit is invoked. Then the report generation processing is performed, during which the and user exits are invoked. Then history file update processing is performed, after which the user exit is invoked.](graphics/faoug003.gif)
![faoug004 Diagram illustrating user exit calls during HFZUTIL processing: First, control statement processing is performed. If IMPORT processing is requested, then the user exit is invoked for each fault entry in the history file. If DELETE processing is requested, then the user exit is invoked for each fault entry in the history file. If LISTHF processing is requested, then the user exit is invoked for each fault entry in the history file.](graphics/FAOUG004.gif)
User exits are specified to Z Abend Investigator via the Exits option (see Exits), the DumpRegistrationExits option (see DumpRegistrationExits), or the RefreshExits option (see RefreshExits).
The HFZUTIL Import, HFZUTIL ListHF, and HFZUTIL Delete user exits operate with the HFZUTIL batch utility only. They use an Exits control statement; for details, see EXITS control statement.