Using Abend-AID DD Statements
This section contains information about using the batch Abend-AID DD statements. You can add DD statements to the execution JCL to override specifications in the Abend-AID tables and user exits.
The following types of Abend-AID DD statements can be coded:
- General usage
- IBM dump-related
- Processing control
- Report output
- Storage-related
- Record format
- IDMS-related
The Abend-AID tables and user exits are installed and modified by the Abend-AID installer. The tables and user exits listed below may be installed at your site.
Abend-AID Tables
- Global site options table (CWGLOBAL) created during installation
- Routing criteria (CWROUTE) created during installation
- Job and program selection tables (CWJOBTAB and CWPGMTAB)
- Abend code tables (CWTABS01, CWTABU01, CWTABP01, CWTABL01)
- CSECT inclusion table (CWINCLUD)
- CSECT bypass table (CSECTBYP).
Abend-AID User Exits
- Processing control (CWEXIT01)
- Report routing and control (CWEXIT02)
- Customized storage display (CWEXIT03).
Control Hierarchy
When the DD statements, tables, and user exits are used, there is a hierarchy that determines Abend-AID control. The following control hierarchy within Abend-AID defines the order in which overrides occur:
- JCL DD statements override what is specified in user exits, job and program selection tables, routing criteria, and the global site options table.
- User exits override job and program selection tables, routing criteria, and the global site options table.
- The job selection table overrides what is specified in the program selection table, routing criteria, and the global site options table. The program selection table is ignored when a match is found in the job selection table.
- The program selection table overrides what is specified in the routing criteria and global site options table.
Abend-AID DD Statements
Any of the DD statements listed in this section can be included in the execution JCL to control Abend-AID processing and/or reports. If two mutually exclusive DD statements are present in the JCL, the last DD statement encountered will be in effect. Mutually exclusive DD statements are noted in this section.
General Usage
Following is a description of the general usage DD statements:
//SYSUDUMP DD
| Any one of these DD statements will invoke Abend-AID. Abend-AID does not write to any of these DD statements. |
//ABENDAID DD SYSOUT | Abend-AID writes to this DD when writing to SYSOUT only. This DD is required to be present to receive Abend-AID output for SNAP-AID. If there is an error while writing to a report data set, Abend-AID output is written to this DD. If it is not present in the JCL, it may be dynamically allocated. |
//ABNLHELP DD DUMMY | Includes the Abend-AID Help pages in the Abend-AID report. These pages are not displayed in the Abend-AID Viewer. Table Override: //ABNLHELP DD overrides the Display Help Text in Abend-AID Report CWGLOBAL option, which suppresses the Help pages. Table Usage: Help pages can be either displayed or suppressed globally by using the Display Help Text in Abend-AID Report CWGLOBAL option. |
//ABNLIGNR DD DUMMY | Suppresses Abend-AID and allows normal IBM dump processing. |
//ABNLIGNS DD DUMMY | Suppresses SNAP-AID and allows normal processing to continue. |
//ABNLLIST DD DSN | Specifies a BMC source shared directory or source listing file in the job JCL that is used to merge the source into the Abend-AID report. |
//ABNLLPDS DD DSN | Specifies a single partitioned (PDS or PDSE) data set with members that contain COBOL compiled source listings. These listings may be used to provide the source code of the statement in error in cases where no matching COBOL listing is found in a BMC source listing file. The program's name, compile date, time and release level must match the listing's member name, compile date, time and release level exactly to be considered for inclusion. |
//ABNLTERM DD DSN | Specifies an Abend-AID report data set for Abend-AID output. |
//ABNLTERM DD SYSOUT | Routes Abend-AID output to SYSOUT in 72-column format, in addition to writing to the Abend-AID report data set. |
//ABNLWIDE DD DUMMY | Specifies 121-column output when the default is 72 columns. |
IBM Dump-Related
Following is a description of the IBM-related DD statements:
//ABNLDUMP DD DUMMY | Requests printing of the normal IBM dump in addition to the Abend-AID report. Dump output is routed to //SYSUDUMP DD SYSOUT or //SYSABEND DD SYSOUT. It is not routed to the Abend-AID report data set or to Abend-AID-specific SYSOUTs. See Overridesbelow. |
//ABNLFMTD DD DUMMY | Requests printing of only the formatted control blocks part of the IBM dump as defined by your installation. Refer to the overrides. |
//ABNLNODP DD DUMMY | Suppresses printing of the normal IBM SYSUDUMP or SYSABEND dump. Mutually Exclusive: //ABNLDUMP and //ABNLFMTD are mutually exclusive of //ABNLNODP. |
Overrides
User Exit Override: //ABNLDUMP, //ABNLFMTD, or //ABNLNODP DD takes precedence over printing or suppressing the IBM dump as specified in the CWEXIT01 abend-handling user exit and the abend-handling tables below.
Method of Hierarchy: The abend-handling user exit and tables are listed by precedence; that is, each one listed takes priority over the ones below.
- CWEXIT01
- CWJOBTAB
- CWPGMTAB
- CWTABS01, CWTABU01, CWTABP01, CWTABL01.
Processing Control
Use the following DD statements to control Abend-AID processing.
Enabling Abend-AID
Following is a description of the ABNLENAB DD statement:
//ABNLENAB DD DUMMY | Enables Abend-AID processing when it has been disabled in the CWGLOBAL table. If //ABNLENAB DD is present in the JCL, it can be overridden, and Abend-AID processing will be ignored. See Bypassing Abend-AID. Table Override: Use //ABNLENAB DD to override the Disable Abend-AID Processing global option, which disables Abend-AID processing. See “Disable Abend-AID processing ” in “Task 14.9 Modify Batch Global Options” in the Abend-AID Advanced Configuration space. |
Bypassing Abend-AID
After Abend-AID processing is active, it can be bypassed in the following ways:
- Include the //ABNLIGNR DD DUMMY statement to ignore Abend-AID processing for a particular job step.
- Include the //ABNLIGNS DD DUMMY statement to ignore SNAP-AID processing for a particular job step.
- Use the CWEXIT01 processing control exit to ignore Abend-AID processing for a specific abend code or job name.
- Use the CWEXIT02 user exit to bypass Abend-AID processing.
- Use the CWJOBTAB selection table to bypass Abend-AID processing based on a specific job name or job name prefix. Use the CWPGMTAB selection table to bypass Abend-AID processing based on a specific program name or program name prefix.
Suppressing Duplicate Reports
Setting Abend-AID CWGLOBAL options can suppress the creation of duplicate reports in shared directories. The following items are used to determine if a report is a duplicate of an existing report:
- Program name
- Error offset within the program
- Error code
- LE condition
- Job name (optional)
- System ID (optional)
When an error occurs, Abend-AID does the following:
- If duplicate dump suppression is not enabled, a new report is created.
- If duplicate dump suppression is enabled, through the global option or DD statement override, Abend-AID makes a request to BMC AMI Common Shared Services (CSS) to determine whether the dump should be suppressed. If the dump is indeed a duplicate, it is suppressed and its history information is added to the original report. Otherwise, a new report is created.
Duplicate dump suppression is limited to shared directories and is not available when using SNAP-AID.
There are two DD statements that can be used to override the CWGLOBAL options for dump suppression:
//ABNLNDUP DD DUMMY | When using duplicate dump suppression, a report for an error in a job step is not suppressed. Table Override: Use //ABNLNDUP DD to override the Enable duplicate dump suppression global option. See “Enable duplicate dump suppression (Y/N)” in “ Task 14.9 Modify Batch Global Options ” in the Advanced-configuration guide. |
//ABNLYDUP DD DUMMY | Causes a report for an error in a job step to always be considered for suppression using JOBNAME, but not SYSID. Table Override: Use //ABNLYDUP DD to override the Enable duplicate dump suppression global option. See “Enable duplicate dump suppression (Y/N)” in “Task 14.9 Modify Batch Global Options” in the Advanced-configuration guide. |
Report Output
This section discusses how to control where Abend-AID report output is routed. Abend-AID output can be routed to one of the following destinations:
- Abend-AID report shared directory
- Abend-AID report database attached to a shared directory
- Abend-AID report file
- Sequential file
- SYSOUT.
Report Data sets -- Shared Directories, Databases, and DDIO Files
Abend-AID uses the Abend-AID Viewer to provide interactive viewing of reports and source listings. Abend-AID report data sets, or specifically, report shared directories and the report databases attached to them, as well as DDIO report files, must be preallocated and preformatted. See Common Shared Services User/Reference for information about defining, allocating, and formatting report data sets.
Abend-AID reports can be routed to the site default shared directory or to selected report data sets in any of the following ways:
- Specify a single default Abend-AID report shared directory name in the CWROUTE default set during installation.
- Specify an Abend-AID report data set name in the output processing user exit, CWEXIT02.
- Use the //ABNLTERM DD DSN to specify an Abend-AID report data set name. For example, insert the card //ABNLTERM DD DSN=MY.ABEND.REPORTS to route Abend-AID reports to that report data set.
- CWJOBTAB
The following overrides occur:
- The //ABNLTERM DD statement overrides what is specified in CWEXIT02, CWJOBTAB, and CWROUTE.
- CWEXIT02 overrides what is specified in CWJOBTAB and CWROUTE.
- CWJOBTAB overrides what is specified in CWROUTE.
Defining a Sequential File
Use the //ABNLTERM DD DSN statement in your JCL to route the Abend-AID output to a sequential file. The DCB attributes must be RECFM=VBA and LRECL=133. Otherwise, Abend-AID issues the error message ABONL-2. If Abend-AID is unable to open this file, a valid //ABENDAID DD will be used.
User Exit Override: The //ABNLTERM DD DSN overrides the Abend-AID file name specified in the output processing user exit, CWEXIT02.
Table Override: The //ABNLTERM DD DSN overrides the Abend-AID shared directory from CWROUTE or CWJOBTAB.
Mutually Exclusive: //ABNLTERM DD DSN and //ABNLTERM DD SYSOUT are mutually exclusive.
Routing Output to SYSOUT
Use the //ABNLTERM DD SYSOUT statement in your JCL to route the Abend-AID output to SYSOUT. For example, an //ABNLTERM DD SYSOUT=* card in your JCL routes the Abend-AID report to the MSGCLASS destination as coded on the JOB card.
Specifying Narrow Output
Use the //ABNLTERM DD SYSOUT statement to route output in narrow (72-column) format.
Specifying Wide Output
Use the //ABNLWIDE DD DUMMY statement to specify 121-column output when the default report width has been changed to 72 columns.
User Exit Override - CWEXIT02: The //ABNLTERM DD DSN overrides the Abend-AID file name specified in the output processing user exit, CWEXIT02.
Table Override: The //ABNLWIDE DD statement overrides the following tables:
- CWJOBTAB
- CWPGMTAB
- CWGLOBAL
Controlling Report Format
Viewing or printing Abend-AID reports can be done in a narrow (72-column) or wide (121-column) format when routed to SYSOUT or a sequential file. The report format in the Abend-AID report data set cannot be altered. Refer to the following table to determine the column width of the Abend-AID report.
ABNLTERM Decision Table
“Use 72-column width format” CWGLOBAL option setting of Yes or No, CWJOBTAB, or CWPGMTAB (ONLINE=) | //ABNLTERM | FORMAT |
|---|---|---|
N | N | 121 on //ABENDAID |
N | Y | 72 on //ABNLTERM |
Y | N | 72 on //ABENDAID |
Y | Y | 72 on //ABNLTERM |
Storage-Related
Use these DD statements to control displaying program working storage and control block information in the Abend-AID report. Mutually exclusive DD statements are noted.
Overrides
Use the following DD statements to override the specific program working storage and control block settings made in these tables:
Table Override:
- CWGLOBAL
- CWTABS01
- CWTABU01
- CWTABP01
- CWTABL01.
//ABNLALL DD DUMMY | Requests formatting of all program storage and data management control blocks. Mutually Exclusive: //ABNLALL DD and |
//ABNLNONE DD DUMMY | Suppresses formatting of all program storage and data management control blocks. Mutually Exclusive: //ABNLNONE DD and |
//ABNLPCBS DD DUMMY | Requests displaying of the Abend-AID data management control blocks section. Mutually Exclusive: //ABNLPCBS DD and |
//ABNLNCBS DD DUMMY | Suppresses displaying of the Abend-AID data management control blocks section. Mutually Exclusive: //ABNLNCBS DD and |
//ABNLWSPT DD DUMMY | Requests displaying of the Abend-AID Program Storage section. Mutually Exclusive: //ABNLWSPT DD and |
//ABNLNWSP DD DUMMY | Suppresses displaying of the Abend-AID Program Storage section. Mutually Exclusive: //ABNLNWSP DD and |
//ABNLINCL DD DUMMY | Causes all active load modules to be considered for CSECT inclusion when the CWINCLUD table is present. For more information, see “CSECT Inclusion Table (CWINCLUD)” in “Task 2.6 Control Abend-AID processing with table settings” in the Abend-AID Advanced Configuration space. These are the effects on the Program Storage section:
Note: Special COBOL INCLUDE processing is applied after all //ABNLINCL DD DUMMY and CWINCLUD processing. CSECTS not selected as a result of //ABNLINCL DD DUMMY and CWINCLUD pattern will be considered for inclusion in the report. For more information, see “Display COBOL storage no longer active” in “Task 14.9 Modify Batch Global Options” in the Abend-AID Advanced Configuration space. |
Record Format
Following is a description of the ABNLSPRT DD statement:
//ABNLSPRT DD DUMMY | Displays the entire record in the file summary section of the Abend-AID report when the default has been changed by the Display the Entire Current Record CWGLOBAL option to be NO. Table Override: CWGLOBAL |
IDMS-Related
Following is a description of the IDMS-related DD statements:
//ABNLIGNI DD DUMMY | Bypasses only the Abend-AID for IDMS reporting facility. Note: This does not affect any other Abend-AID report processing, including SNAP-AID. |
//ABNLIDTR DD SYSOUT | Used by Abend-AID for IDMS to produce a dynamic trace output. Traces and displays all calls made to the IDMS database. |
//ABNLIFRE DD DUMMY | Causes the work areas that are acquired by Abend-AID for IDMS for each bind run unit to be freed when a finish is issued. |