User-defined abend code explanations

The abend code explanation header record in IDIHUSRM has the following format:
Figure 1. Syntax

1 :abend.abend_code

Is either a CICS or a non-CICS abend code specification.

A CICS abend code specification is the characters "CICS" followed by a 4-digit CICS abend code. It is not case sensitive. For example:

are all valid CICS abend code specifications.

A non-CICS user abend code specification is a three-character prefix followed by a four-digit user abend code. It is not case-sensitive. For example:

are all valid abend code specifications.

The three-character abend code prefix is used to identify the load module name in which the user abend is issued. That is, the first 3 characters of the load module name in which the abend occurred, must match the specified abend code prefix. This match permits the same user abend code to be issued from different load modules, each potentially with its own unique explanation.

Note that :abend. must begin in column 1.
In the following example, two non-CICS user abends are defined. The U1888 abend might be issued by a load module whose name begins with the 3 characters MD1, for example MD100P. The U0016 abend might be issued from a load module name whose name begins with the 3 characters EXT, for example EXTMAIN. The IDIHUSRM specification follows:
An error occurred when attempting to write the invoice
Incorrect EXTRACT option specified.
The problem might be one of the following:
  - Invalid range
  - Typo
Respecify and try again.

When using the LOOKUP command, user-defined abend code explanations appear in the "Abend Codes" main category, under the subcategory "Other Abend Codes", and further separated into categories according to the three character load module name prefix.