Customizing Fault Analyzer by using user exits

In order to provide greater flexibility and control of Fault Analyzer operation, a set of user exit points have been created where user exits can get control during Fault Analyzer 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 Fault Analyzer. For exits written in REXX, the data is passed in stem variables rather than in structures, since this approach is more manageable for REXX.

Note: REXX is the only supported programming language for Formatting user exits.

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.

Note: If a condition occurs that causes Fault Analyzer Recovery Fault Recording (RFR) to be performed, no further user exits will be called during this fault analysis.

Options settings and selections made in user exits affect the current analysis only.

Fault Analyzer analysis exit points (IDIDA) illustrates the exit points provided for real-time analysis, batch reanalysis, and interactive reanalysis, while IDIUTIL batch utility exit points illustrates the exit points provided for the IDIUTIL batch utility.
Figure 1. Fault Analyzer analysis exit points (IDIDA)

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.
Figure 2. IDIUTIL batch utility exit points

faoug004 Diagram illustrating user exit calls during IDIUTIL 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.

User exits are specified to Fault Analyzer via the Exits option (see Exits), the DumpRegistrationExits option (see DumpRegistrationExits), or the RefreshExits option (see RefreshExits).

The IDIUTIL Import, IDIUTIL ListHF, and IDIUTIL Delete user exits operate with the IDIUTIL batch utility only. They use an Exits control statement; for details, see EXITS control statement.