If your installation is using dump analysis and elimination (DAE), code your program to provide symptom data that DAE can compare with the symptom data from previous dumps. Through this comparison, DAE can reduce the number of duplicate dumps. Another benefit is that the symptom data, which is stored in the DAE data set, provides a consistent set of data for identifying a failure.
DAE suppresses dumps that match a dump you already have. Each time DAE suppresses a duplicate dump, the system does not collect data for the duplicate or write the duplicate to a data set. In this way, DAE can improve dump management by only dumping unique situations and by minimizing the number of dumps.
The following tables show the required and optional symptoms. SDWA field names are given for the symptoms the failing program must provide to enable dump suppression. The tables have both MVS and RETAIN symptoms so that you can relate the MVS symptoms DAE uses to the RETAIN symptoms you might use to search the RETAIN data base. An MVS symptom string must contain at least five symptoms that are not null. DAE places symptoms into strings in the order shown in the tables.
Required symptoms are first and must be present.
Symptom | SDWA Field | MVS Keyword | RETAIN Keyword |
---|---|---|---|
Name of the failing load module | SDWAMODN | MOD/name | RIDS/name#L |
Name of the failing CSECT | SDWACSCT | CSECT/name | RIDS/name |
Optional symptoms must follow the required symptoms. DAE needs at least three of these optional symptoms to make a useful symptom string.
Symptom | SDWA Field | MVS Keyword | RETAIN Keyword |
---|---|---|---|
Product/component identifier with the component identifier base | SDWACID, SDWACIDB | PIDS/name | PIDS/name |
System completion (abend) code | AB/S0hhh | AB/S0hhh | |
User completion (abend) code | AB/Udddd | AB/Udddd | |
Recovery routine name | SDWAREXN | REXN/name | RIDS/name#R |
Failing instruction area | FI/area | VALU/Harea | |
PSW/register difference | REGS/hhhhh | REGS/hhhhh | |
Reason code, accompanying the abend code or from the REASON parameter of the macro that requests the dump | HRC1/nnnn | PRCS/nnnn | |
Subcomponent or module subfunction | SDWASC | SUB1/name | VALU/Cname |
When DAE is started, usually during IPL, DAE selects from the symptom strings (stored in the DAE data set) that were active in the last 60 days: either the string was created for a unique dump within the last 60 days, or its dump count was updated within the last 60 days. The selected symptom strings are placed in virtual storage.
In a sysplex, changes to the in-storage strings are propagated to the in-storage strings throughout the sysplex.
Note that, if you specify an ACTION of SVCD, TRDUMP, NOSUP, or RECOVERY on a SLIP command, the command overrides DAE suppression and the system writes the dump. Also, dumps requested by the DUMP operator command are not eligible for suppression.
When DAE does not suppress a dump, the symptom string is in the dump header; you can view it with the IPCS VERBEXIT DAEDATA subcommand. DAE also issues informational messages to indicate why the dump was not suppressed.
VRADATA KEY=VRADAE
The following table shows the effect of the VRADAE and VRANODAE keys on dump suppression when SUPPRESS and SUPPRESSALL keywords are specified in the ADYSETxx parmlib member. For SUPPRESS, the VRANODAE key can be present or absent; the system does not check it. The table assumes that the symptom string from the dump has matched a previous symptom string.
ADYSETxx Option | VRADAE Key in SDWA | VRANODAE Key in SDWA | Dump Suppressed? |
---|---|---|---|
SUPPRESS | Yes | N/A | Yes |
SUPPRESS | No | N/A | No |
SUPPRESSALL | Yes | No | Yes |
SUPPRESSALL | No | Yes | No |
SUPPRESSALL | No | No | Yes |
SUPPRESSALL | Yes | Yes | No |
The only way to ensure that a dump is not suppressed, regardless of the contents of the ADYSETxx parmlib member, is to specify the VRANODAE key in the SDWA, or DAE=NO on SYMRBLD used to build a symptom record passed to the SDUMPX or IEATDUMP macro with the SYMREC keyword.