Exclude/Include

The Exclude and Include options are complimentary processes, sharing common parameters to control which job exceptions should be processed by Z Abend Investigator. The Exclude/Include process, as described in Controlling which jobs are analyzed with Exclude processing, should be read and understood before studying this section on the parameters.

The term "work unit" is used in this section to refer to either a batch job, a started task, or a TSO user.

Read syntax diagramSkip visual syntax diagram
Syntax

>>-+-EXclude-+-------------------------------------------------->
   '-INclude-'   

>--+--------------------------------------------------------+--><
   |    .-,--------------------------------------------.    |   
   |    |            .-,---------.                     |    |   
   |    V            V           |                     |    |   
   '-(----+-TYPE--(----+-JOB---+-+--)----------------+-+--)-'   
          |            +-STC---+                     |          
          |            +-TSU---+                     |          
          |            '-LETCB-'                     |          
          |               .-,---------------.        |          
          |               V                 |        |          
          +-CICSABEND--(----cics_abend_code-+--)-----+          
          |           .-,---------.                  |          
          |           V           |                  |          
          +-CLASS--(------class---+--)---------------+          
          |          .-,----.                        |          
          |          V      |                        |          
          +-NAME--(----name-+--)---------------------+          
          |           .-,---------.                  |          
          |           V           |                  |          
          +-ABEND--(----+-Sxxx--+-+--)---------------+          
          |             '-Unnnn-'                    |          
          |            .-,------.                    |          
          |            V        |                    |          
          +-TRANID--(----tranid-+--)-----------------+          
          |            .-,----------.                |          
          |            V            |                |          
          +-USERID--(------userid---+--)-------------+          
          |             .-,---------------------.    |          
          |             V                       |    |          
          '-EXECPGM--(------exec_program_name---+--)-'          

where:
TYPE
Specifies the type of work unit as either JOB (batch jobs), STC (started tasks), or TSU (TSO users).

An extra type, LETCB, specifies that LE must be active for the abend TCB. This type can be used to distinguish between abends that occur in application tasks, as opposed to system tasks, provided that the application is written in a language that uses Language Environment®.

CICSABEND
Specifies one or more abend codes for CICS® transactions as cics_abend_code. Each abend code must be four alphanumerical characters.

The abend code tested is the final abend code for the transaction.

Note that CICS system dumps captured via the HFZXTSEL MVS™ post-dump exit are not affected by the Exclude/Include option.

CLASS
Specifies one or more execution classes for batch jobs as class.
NAME
Specifies the names of one or more jobs, tasks, or TSO users as name.
ABEND
Specifies one or more system or user abend codes as one of the following:
  • Sxxx

    where xxx is a three-character hexadecimal system abend code (for example, S0C4)

  • Unnnn

    where nnnn is a four-character decimal digit user abend code (for example, U4039)

The abend code tested is the final abend code for the abending job step.

TRANID
Specifies the names of one or more CICS transactions as tranid.
USERID
Specifies the TSO or CICS user ID, or the user ID under which a batch job, a CICS transaction, or a started task is executing, as userid.
EXECPGM
Specifies the program name from the JCL EXEC statement PGM keyword, as exec_program_name.

When an abending task meets the Exclude criteria, and no subsequent Include criteria also matches the task, the abend is not logged in the history file and no further Z Abend Investigator processing is performed.

Specification rules:
  • Individual suboptions, and values within suboptions, must be delimited by either one or more blank characters, or a comma.
  • Wildcards are permitted in the specification of criterion values. The supported wildcard characters are an asterisk (*) to indicate zero, one or more characters, and a percent sign (%) to indicate a single required character.

    For examples of using wildcards with criterion values, see Exclude/Include wildcard examples.

  • If no Exclude criteria are specified, the default is to include everything.
  • All suboptions of an Exclude or Include criterion (that is, TYPE, CICSABEND, CLASS, NAME, ABEND, TRANID, USERID, and EXECPGM) must be satisfied for the criterion to be met (logical AND). It is possible to create Exclude or Include criteria that are never met, for example
    Exclude(TYPE(STC) CLASS(A))
    The reason why these criteria are never met is that a started task does not run in a JES initiator address space, and therefore is not associated with a particular class.

    In this case, and if no other Exclude criteria are specified (anywhere), then no job would be excluded, which means that Z Abend Investigator analyzes any abends that occur.

  • If more than one type (JOB, STC, TSU, or LETCB), cics-abend-code, class, name, abend-code (Sxxx or Unnnn), tranid, userid, or exec-program-name value is specified within a single TYPE, CICSABEND, CLASS, NAME, ABEND, TRANID, USERID, or EXECPGM suboption, then a match on any one value is sufficient for the entire suboption to match (logical OR).
  • If multiple Exclude options are specified, then exclusion occurs if the criteria matches for any one, provided that a matching Include criteria does not follow.

This option does not apply to batch or interactive reanalysis.

This option is not included in the section of the fault analysis report that shows options in effect.

Note: Every Include and Exclude criteria is checked against the abending task without regard to any previous Include or Exclude criteria. Hence, it is important to ensure that the order of these criteria in the parmlib config member, and, if available, in the user options file, result in the desired installation-specific rule set. For example, to exclude all batch jobs, except those executing in class A, you could specify the following sequence of criteria:
Exclude            /* This excludes everything */
Include(CLASS(A))  /* This includes batch jobs in class A only */

For more information, see Controlling which jobs are analyzed with Exclude processing.

Another way to stop Z Abend Investigator from analyzing a fault is to use the HFZOFF DD statement switch. For details, see Turning off Z Abend Investigator with a JCL switch (HFZOFF).