Batch PL/I Fault Diagnosis
This tutorial will guide you through some of the capabilities within BMC AMI DevX Abend-AID, including:
- Using BMC AMI DevX Abend-AID to examine a batch PL/I abend.
- Utilizing Abend-AID's features to view storage, compiled listings, variable values.
- Taking advantage of Abend-AID's link to BMC AMI DevX File-AID to view formatted VSAM, QSAM, etc., files.
Table of Contents
- Starting BMC AMI DevX Abend-AID
- The Diagnostic Summary
- Program Detail Screen
- Program Summary Screen
- Wrap-up
Starting BMC AMI DevX Abend-AID
To access Abend-AID for Batch within BMC AMI DevX Workbench for Eclipse:
This opens a view into Abend-AID within your BMC AMI DevX Workbench for Eclipse IDE. Integration of the tools needed for developers to do their daily jobs is a key feature of the Workbench experience.
The main menu of Abend-AID is the gateway to many useful views of your Fault Analysis data. We'll start by looking at the Fault Summary of a specific job (CWEZXXX1) to spotlight how you can leverage Abend-AID to quickly understand the root cause of a reported abend.
Fault Summary provides you easy, hyperlinked access to your generated batch, CICS, IMS, and SVC dumps sortable by job name, CICS region name, IMS message region name, etc. Each column provides a masking field (asterisks) to shorten the time needed to find your dump.
You now have filtered to only jobnames that begin with CWEZ. Next, we'll dig a little deeper using Abend-AID's hyperlinks.
We've now filtered down to entries only for jobname CWEZXXX1 (in this case, just one entry). Next we'll select the only available entry to begin diagnosing an abend.
The Diagnostic Summary
The Diagnostic Summary provides the information needed to diagnose a batch program error. The summary analyzes the abend, provides a probable reason why it occurred, and usually suggests a resolution. For COBOL, PL/I, and Assembler programs compiled with source support, the statement number and source code of the statement in error are shown.
We'll use the Diagnostic Summary as a window into details about the program, the listing, storage areas, a narrative explanation of the error code, and other information valuable in diagnosing an abend.
Program Detail Screen
The Program Detail screen provides detailed information about the selected program and gives you hyperlinks to source listings, concatenations and storage areas.
The STEPLIB Concatenation screen displays the datasets and their associated volsers for the JOBLIB or STEPLIB DD statement defined in the JCL at the time of this abend. The highlighted dataset name is the load library from where the module was loaded.
The Program Listing screen displays the source listing statements of the selected program, identifying the active statement (abending offset, program call, and so forth) with a highlighted line.
This screen displays the variables in storage and their values at the time of the abend. Our example contains a large table.
You are now placed at the end of the list. We can dig a little further into the individual fields for more useful information.
Displayed is the Expanded Data Field screen showing the value in both zone decimal and in character mode. This section is especially helpful when a field contains a mixture of display, binary, and packed decimal fields.
- The abending line of code is displayed. The line number is hyperlinked. As we saw earlier, clicking the line number will put you into the Program Listing.
- The variables comprising the line of code, along with their picture types and values at the time of the abend. The values provided are hyperlinks to the Expanded Data Field screen.
- Abend-AID produces for you a narrative explanation of the abend and IBM messages that accompany the abend.
- The Program Information subsection provides information about the load library or program object library the module was loaded from, the bind date/time, with hyperlinks to the Program Detail screen and the STEPLIB Concatenation screen.
- The Last Call or I/O Request subsection provides information about the last program call or I/O statements executed prior to the abend and the paragraph where the statement resided.
- The Call Trace Summary spells out the sequence of programs called from the initial program to the abend. Hyperlinks take you to the Program Detail screen for each program, or to the Program Listing screen for each hyperlinked offset.
The argument definitions and values for the call are displayed.
Here you can see all the module names, libraries from which they were loaded, for all programs (both application and LE) that appear in the calling chain. Abend-AID indicates when modules are loaded from the LINKLIST and details the library set to help with your diagnosis.
This is another path to the STEPLIB Concatenation (earlier we used a hyperlink from the Program Detail screen). As you saw previously, the library from where the modules loaded is highlighted.
If your system runs JES2, Abend-AID shows you the submitted JCL that produced the abend.
Program Summary Screen
The Program Summary Information screen identifies all active modules involved in an abending transaction. Key identification data is summarized for each module used by a transaction up to the abending module. This screen allows you to quickly verify whether the correct version of a module is in use.
From here you again have links to extensive information about the application programs that comprise the active calling chain:
- The Program Detail, Program Listing and Program Storage options have been covered previously.
- Clicking on the Compiler Options shows the language and version the program was compiled or assembled under, as well as the compile options (if the program was compiled with COBOL).
- The remaining options are specific to language(s) other than PL/I.
Wrap-up
This concludes our look at how Abend-AID provides powerful tools for diagnosing PL/I batch abends. We hope that you have enjoyed your look at these capabilities and look forward to working with you to implement some or all of the solution within your systems. Please remember to complete the Test Drive survey, as both your sponsor and our team are very interested in your feedback on the Test Drive Experience.
You can choose from any of the available scripts from the panel to the left or return to the main page here: Welcome to Test Drive