LISTHFDUP control statement

The LISTHFDUP (list history file with duplicates) control statement can list all fault entries in a history file, as well as any duplicate occurrences of each fault.

The LISTHFDUP control statement lists fault instances, whereas the LISTHF control statement lists fault entries. A fault instance is either a fault entry or a duplicate of a fault entry. For example, if a given fault entry has had 10 duplicates recorded against it, LISTHFDUP will by default list all 11 instances of the fault separately with individual timestamps, whereas LISTHF will list only the original fault entry with a total duplicate count.

The LISTHFDUP control statement specifies a set of optional qualifiers to select which fault instances should be listed.

Figure 1. Syntax

1  LISTHFDUP?  ( + & or |
2.1  ABEND_DATE
2.2.1 >
2.2.1 <
2.2.1 =
2.2.1 yyyy/mm/dd
2.2.1 TODAY-days
2.1 
2.2.1 USER_ID
2.2.1 ABEND_CODE
2.2.1 JOB_NAME
2.2.1 CICS_TRANSACTION_ID
2.1 =
2.1 literal )

Description

The qualifiers have a basic capacity to compare greater than, less than, or equal for the fault entry ABEND_DATE, USER_ID, ABEND_CODE, JOB_NAME, or CICS_TRANSACTION_ID (all of which are field names in the ENV data area) to a literal in the LISTHFDUP control statement. Comparisons can be combined with and, or (& |) operators. The result of this simple syntax capability can be passed on to a user exit if more complex comparisons are desired.

Two special literal comparison qualifiers are recognized. An asterisk in the literal truncates the comparison for wild card capabilities, such as:
JOB_NAME = AB*
The other special literal is TODAY-days, which is converted to today's date, minus the number of numeric days specified at days, and then converted to a string of the 2001/02/23 format before comparison. Naturally, the TODAY-days literal is only meaningful when used with ABEND_DATE, such as:
ABEND_DATE < TODAY-30

The value specified for days must be in the range 0 - 2147483647.

When comparing ABEND_CODE, the format is four numeric digits for user abend codes and three hex digits preceded by S for system abends. For example, S0C4 for a system 0C4 and 4038 for a user 4038 abend. CICS® abend codes are four alphabetic characters, for example, ASRA.

The IDIUTIL ListHFDUP user exit (see IDIUTIL ListHFDUP user exit) can be used with the LISTHFDUP control statement to apply extra selection criteria to the abend instances that should be listed.

An example showing the use of the LISTHFDUP control statement is provided in Example 2. Listing history file abend instances.