NoDup(CICSFAST(…))

Figure 1. Syntax

1! NODUP(CICSFAST(5,NOINCLUDEEXECCICSDUMP))
1  NoDup ( cicsFAST ( minutes?  ,
2.1 IncludeExecCicsDump
2.1 NoIncludeExecCicsDump ) )

This suboption is used to specify the number of minutes elapse time, since the last occurrence of a fault, during which subsequent invocations of Fault Analyzer for other faults in the same job step are deemed duplicates of the last fault if they satisfy the appropriate fault characteristics criteria.

An illustration of this type of processing is shown in NoDup(CICSFAST) illustration, where:
  • All instances of fault A are considered duplicates of each other based on fault characteristics alone
  • All instances of fault B are considered duplicates of each other based on fault characteristics alone
  • The fault A characteristics do not match those of fault B
Figure 2. NoDup(CICSFAST) illustration

faoug006 Illustration of NoDup(CICSFAST) processing: Two types of CICS faults are being analyzed in real time, referred to as A and B. Initially, fault A occurs and is analyzed since it is not a duplicate. Then, within the number of minutes specified for the NoDup(CICSFAST) option since the first fault A occurred, another fault A occurs. This second fault A occurrence is deemed a duplicate of the first fault A. Then a fault B occurs, still within the number of minutes specified for the NoDup(CICSFAST) option since the second fault A occurred, and is analyzed since it is not a duplicate. Then, within the number of minutes specified for the NoDup(CICSFAST) option since the first fault B occurred, another fault B occurs. This second fault B occurrence is deemed a duplicate of the first fault B. Finally, beyond the number of minutes specified for the NoDup(CICSFAST) option since the second fault A occurred, another fault A occurs. This third fault A occurrence is analyzed since it is not a duplicate.

This option is currently used under CICS® to prevent multiple identical transaction abends that occur within a short period of time from all being analyzed by Fault Analyzer with subsequent risk of exhausting system resources.

The valid range of minutes is 0 - 10080 (10080 is equivalent to one week). Specification of 0 minutes means that "CICSFAST" duplicate faults are not detected.

The default elapse time is 5 minutes.

In the CICS® environment, a fault is considered a duplicate of another if the faults occurred within the specified elapse time (minutes), and the following fault details are identical:
  • Transaction IDs
  • CICS® abend codes
  • Failing program names
  • Request IDs
  • System and user sense codes
  • Operating system abend codes
  • Offsets to the point of error
  • PSWs on entry to abend

NoDup(CICSFAST) signatures are kept in the CICS® region.

All fault details are obtained from the transaction abend control block (TACB), except for the transaction IDs. Only TACB fields that are valid for both TACBs are included in the duplicate comparison.

By default, invocations of Fault Analyzer using the EXEC CICS® DUMP command are not subject to NoDup(CICSFAST) duplicate determination. However, if the IncludeExecCicsDump suboption is specified, then NoDup(CICSFAST) duplicate determination is also performed when using the EXEC CICS® DUMP command:
  • If a TACB is available, then the duplicate determination is performed on the same basis as for CICS® abends shown above (with the CICS® dump codes used instead of the CICS® abend codes).
  • If a TACB is not available, then the duplicate determination is performed on the basis of:
    • Transaction IDs
    • CICS® dump codes
    • Failing program names

When a fault is deemed a duplicate of another based on the fault characteristics and the NoDup(CICSFAST(…)) option in effect, the writing of the history file entry is suppressed, the duplicate count associated with the last fault is incremented by one, and message IDI0066I is issued. This type of fault suppression is referred to as CICS fast duplicate fault suppression.

Fault Analyzer provides an exit, IDINDFUE, which can be used to override the duplicate designation of certain faults, based on abend code and other attributes. For details, see CICS NoDup(CICSFAST) override assembler exit (IDINDFUE).

To prevent Fault Analyzer from continuing to designate new occurrences of abends as duplicates of an already deleted fault entry, the NoDup(CICSFAST) recording area should be cleared. For details, see Clearing the NoDup(CICSFAST(…)) recording area.