Information
Space announcement This documentation space provides the same content as before, but the organization of the content has changed. The content is now organized based on logical branches instead of legacy book titles. We hope that the new structure will help you quickly find the content that you need.

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


    • or
      //SYSABEND DD
      or
      //SYSMDUMP 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.

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.
Warning

Important

Abend-AID

 does not suppress the IBM dump requested by and written to the //SYSMDUMP DD.

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. 

Warning

Important

When a duplicate dump is suppressed, 

Abend-AID

 also suppresses the IBM dumps requested by the //SYSUDUMP and //SYSABEND DDs. 

Abend-AID

 does not suppress the IBM dump requested by and written to the //SYSMDUMP DD. 

Abend-AID

 ignores U4039 dumps produced by the Language Environment.

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
Warning

Important

//ABNLTERM DD DSN and //ABNLTERM DD SYSOUT are mutually exclusive.

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.
Warning

Important

SNAP-AID output is also routed to the 

Abend-AID

 report data set. IBM dumps are not routed to the Abend-AID report data set.

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.

Warning

Important

With Release 10.2 the LRECL size was increased from 125 to 133. Although 

Abend-AID

 will continue to write to files from previous releases with LRECL=125, data will be modified to narrow format in the report output. For wide report format, you must allocate new files with the increased LRECL.

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
Warning

Important

Use the //ABNLWIDE DD DUMMY statement with the //ABNLTERM DD SYSOUT statement to cause wide (121-column) output to be written to the //ABNLTERM SYSOUT.

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

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

//ABNLNONE DD DUMMY

Suppresses formatting of all program storage and data management control blocks.

Mutually Exclusive: //ABNLNONE DD and
//ABNLALL DD

//ABNLPCBS DD DUMMY

Requests displaying of the Abend-AID data management control blocks section.

Mutually Exclusive: //ABNLPCBS DD and
//ABNLNCBS DD

//ABNLNCBS DD DUMMY

Suppresses displaying of the Abend-AID data management control blocks section.

Mutually Exclusive: //ABNLNCBS DD and
//ABNLPCBS DD.

//ABNLWSPT DD DUMMY

Requests displaying of the Abend-AID Program Storage section.

Mutually Exclusive: //ABNLWSPT DD and
//ABNLNWSP DD

//ABNLNWSP DD DUMMY

Suppresses displaying of the Abend-AID Program Storage section.

Mutually Exclusive: //ABNLNWSP DD and
//ABNLWSPT DD

//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:

  • Without CWINCLUD, the report shows all Assembler CSECTs on the calling chain.
  • With CWINCLUD only, Assembler CSECTs in load modules on the calling chain are eligible for inclusion in the report.
  • With CWINCLUD and ABNLINCL, Assembler CSECTs in all currently loaded modules of the abending task are eligible for inclusion in the report.

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

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.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC AMI DevX Abend-AID 17.02