Exits

Read syntax diagramSkip visual syntax diagram
Syntax

             .-,----------------------------------------------.      
             V                                                |      
>>-EXIts--(----+-CONTROL-+--(--| exit name specification |--)-+--)-><
               +-LISTING-+                                           
               +-MSGXPL--+                                           
               +-FORMAT--+                                           
               +-END-----+                                           
               '-NOTIFY--'                                           

exit name specification

   .-,---------------------------------.   
   V                                   |   
|------+-exit_name-----------------+---+------------------------|
       |          .-,---------.    |       
       |          V           |    |       
       '-REXX--(----exit_name-+--)-'       

The Exits option specifies the types and names of user exits to be invoked during Z Abend Investigator execution. Any number of exit names can be specified for a given exit type, and all exits are attempted invoked.

Note: For information about specifying user exits for the HFZUTIL batch utility, see EXITS control statement instead.

Multiple specifications of the Exits option are cumulative.

Exits can be either REXX EXECs or load modules (note that REXX is the only supported programming language for the Formatting user exit):
  • REXX EXECs must be specified as
    REXX(exit_name_1exit_name_2, …)
    and be available via the HFZEXEC DDname.
  • Load module exits must be available via the standard system search path (LPA, LINKLIST, or JOBLIB/STEPLIB JCL statement).
The possible exit types are:
CONTROL
Analysis Control user exit. This exit can be used to modify options in effect or exclude a fault from analysis. For details, see Analysis Control user exit.
LISTING
Compiler Listing Read user exit. This exit can be used to obtain source code information from sources other than compiler listings or Z Abend Investigator side files that are contained in available MVS™ PDS (or PDSE) data sets. For details, see Compiler Listing Read user exit.
MSGXPL
Message and Abend Code Explanation user exit. This exit can be used to provide message and abend code explanations to complement or substitute those provided by Z Abend Investigator. For details, see Message and Abend Code Explanation user exit.
FORMAT
Formatting user exit. This exit can be used to add user-specific information to the analysis report. For details, see Formatting user exit.
END
End Processing user exit. This exit can be used to request suppression of the MVS system dump, the Z Abend Investigator minidump, or the entire history file entry. For details, see End Processing user exit.
NOTIFY
Notification user exit. This exit can, for example, be used to provide installation-specific notification of recorded faults. For details, see Notification user exit.
The exit name that is specified as exit_name can be any valid TSO/E REXX EXEC or load module name. However, certain names are reserved for special purposes:
NONE
The special name 'NONE' represents a 'null' exit that is not invoked and causes further attempts to invoke exits of the specified type to be terminated.
-DROPCNF-
The special name '-DROPCNF-' is used to drop exit specifications from the HFZCNF00 parmlib member. For details, see Dropping HFZCNF00 parmlib member user exit specifications.

If one or more exits have been specified via the Exits option, information about the exits is written to the "Options in Effect" section of the analysis report. In this section, all specified exits are listed, and those of each type that were invoked (if any) are identified.

Note: The invocation status of the Notification user exit is not available as this exit is invoked after the completion of the analysis report.
An example of the information written to the "Options in Effect" section of the analysis report follows:
Exits:

  The following user exits were specified via Exits options.

  Type     Name     Type Invoked
  -------- -------- ---- ---------------------
  CONTROL  CTLEXITA LMOD No - module not found
           CTLEXITB REXX Yes
           CTLEXITC REXX Yes
           CTLEXITD LMOD No - module not found
  END      ABC1     LMOD Yes
  NOTIFY   NONE     n/a  (Not attempted)
This example indicates:
  • Four Analysis Control user exits had been specified. The first of these (CTLEXITA) was a load module that could not be invoked. The second user exit specified (CTLEXITB) was a REXX EXEC that was invoked. No attempt was made to invoke the third (CTLEXITC) or fourth (CTLEXITD) user exits because of the successful invocation of the second.
  • A single End Processing user exit (ABC1) had been specified as a load module. This user exit was invoked.
  • A 'null' Notification user exit had been specified, which is never invoked.