Batch COBOL 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 COBOL 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

To access Abend-AID for Batch within BMC AMI DevX Workbench for Eclipse:

Information
Do This
  • Click on the BMC dropdown.
  • Click on Operations.
  • Click on Abend-AID.
  • Click on TestDrive.

Start AA.JPG

The Abend-AID Logon view opens in the bottom pane.

  • Double-click the tab for the Abend-AID view to maximize the pane.
  • Enter your Test Drive ID and password, and then press enter.

BMC AA sign in.jpg

 

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 for Eclipse 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 (CWEZXXXX) to spotlight how you can leverage Abend-AID to quickly understand the root cause of a reported abend.

Information
Do This

When successfully logged on, you are taken to the Abend-AID main menu.

  • Click on 'Fault Summary'.

BMC AA home arrow to fault summary.jpg

worddavb834e837a9d92100bce0ebfdaccb39ba.png

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.

Information
Do This
  • Type CWEZ into the masking field in the Job Name column and press <Enter>.

worddavde3147a83453363413ce937631ab1c0e.png

worddavc667f3517d4a7dcf56f300e7b85847da.png

You now have filtered to only jobnames that begin with CWEZ. Next, we'll dig a little deeper using Abend-AID's hyperlinks.

Information
Do This
  • Click on the 'CWEZXXXX' hyperlink.

aa1-image13a.png

worddav2378bfdd38f58617a019f4472ba8b780.png

We've now filtered down to entries only for jobname CWEZXXXX. Next, we'll select one of the entries to begin diagnosing an abend.

Information
Do This

You can access an Abend-AID report using a couple of methods.

  • Click on entry 0017226 to view the Diagnostic Summary.

aa1-image15a.png

OR

  • Click the menu icon (circled in red) to the left of entry 0017226 to display the dropdown menu.
  • Select 'Diag' to view the Diagnostic Summary.

aa1-image16a.png

aa1-image16b.png

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.

worddave51107ba71d44e7f25d5b622a765517e.png
 aa1-image18.png

Information
Do This
  • Click the Diagnostic Summary's 'CWAAHOUR' hyperlink to see details about the abended program.

aa1-image19.png

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.

worddav1031bedb223eb813d0d4c19a81209706.png

Information
Do This
  • Click on the 'STEPLIB' hyperlink.

worddavc8f9f761caa0aa2407e9d464ab38337f.png

worddavb551e251a6e28a322d4551c961950fc7.png

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.

Information
Do This
  • Press <F3> to return to the Program Detail screen, then click the 'Listing' hyperlink to view the compiled listing.

aa1-image23.png

worddav0d911101f3a9bb688a064bcaf988fcaf.png

The COBOL Listing screen displays the source listing statements of the selected program, highlighting the active statement (abending offset, program call, etc.). For COBOL programs, Abend-AID displays the Procedure Division of the selected program.

Information
Do This
  • Click the Previous button to see the previous page of the listing, then scroll down to lines 68-82.

aa1-image24a.png

 

worddavbe580159ffd148bb2855c7d17e906162.png

Abend-AID Peek

Abend-AID's Peek line command displays the program storage for variables in the listing.

To use the Peek command, enter 'Pn' in the first two columns of the line number, where 'n' is the relative number of the variable in the statement.

Information
Do This
  • To Peek variable H-EMP-HOURS, delete the first two characters in line 78, then input a 'P' in column 1 and, since H-EMP-HOURS is the second variable on that line, input '2' in the second column of the line number and press <Enter>.

worddav1029465447d1e34d9ce040cbdfbb2993.png

worddav88cad8bd72da099ed60e094436324ebe.png

Abend-AID highlights for you the storage containing the "peeked" variable.

Information
Do This
  • Press <F3> to return to the listing, then press <F3> again to return to the Program Detail screen.

worddav1031bedb223eb813d0d4c19a81209706.png

Information
Do This
  • Click on the 'Storage Areas' hyperlink, then click File Section to see the data from your FD statements (if this is a mainline module).

worddavfb4cde7dc9734f1dba142a2af5d85b72.png

worddav836a1e392fe70bb0ae45ea455024457d.png

worddav8ce09255fe8cf3b226ef0a5180000128.png

This is a subroutine, so no File Section exists. Abend-AID generates a message indicating you are positioned on the next area, the working storage section. In this section you can see the field name, the picture type, and hyperlinked values of all variables in storage.

Information
Do This
  • Click the value of HOURLY-EMP-RATE (025).

aa1-image30a.png

worddav4bfb0fbd29d0cdde5b946bff3bee006b.png

Here you are taken to the Expanded Data Field, which shows values in both zoned decimal and in character mode. This section is particularly helpful for fields containing a mixture of display, binary, and packed decimal fields.

Information
Do This
  • Press <F3> twice to return to COBOL Storage Areas, then click Linkage Section.

aa1-image31a.png

worddav0b00f306889daae9097519918fda778b.png

Displayed are the fields comprising the linkage section, the picture types, and variable values.

Information
Do This
  • Press <F3> three times to return to the Diagnostic Summary screen.

worddav5da576be192405652d8e346ddc34e44e.png

Warning

To summarize, the Diagnostic Summary screen provides an extensive amount of information to begin fault analysis, and it also adds hyperlinks to additional information.

  • The abending line of code is easily found with a hyperlinked line number that takes you to the listing.

aa1-image34.png

  • The variables comprising the line of code, along with their picture types and values at the time of the abend. The variables and values are hyperlinks to Working-Storage.

worddav00a29eb0abf7b98dcaef15a7eb84ee4e.png

  • Abend-AID produces for you a narrative explanation of the abend and IBM messages that accompany the abend.

worddav35f733b53298be4f7d75072eddd376ec.png

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

worddav37faffbdfa6e9957f22dfad4bf4e0d9c.png

  • The Last Call or I/O subsection shows you the last program call or I/O statements executed prior to the abend, the paragraph of the statement, and hyperlinks to the line numbers of the call.

worddavf50b5e33d679787c21e0d9c7653d8c79.png

  • 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 Call Detail screen (discussed next) for each offset.  

worddav2c0b3febde657ad825d88e5cde611d8b.png

Warning

Clicking any hyperlinked program name takes you to the Program Detail screen for that specific program.

Information
Do This
  • In the Call Trace Summary subsection, click the offset x'F4E' hyperlink (in the red box under the Return Value column).

worddavc6785c9d93f3b7684332524e57785f0a.png

worddav9ea7392761989df1e32be414db4f0d2e.png

Abend-AID highlights for you the CALL Statement where CWAACOB1 calls CWAAHOUR. Included are the call statement argument definitions and values. Hyperlinks on this screen provide you quick access to the listing or to the Expanded Data field for the argument values.

Information
Do This
  • Press <F3> to return to Diagnostic Summary, scroll down to the Supporting Information subsection and click on 'Mods'.

aa1-image42.png

worddav116761470a8f74df1a4fe842dc79a15c.png

Here you can see all the module names and the 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. 

Information
Do This
  • Press <F3> to return to the Supporting Information of Diagnostic Summary, then click on 'LIBR'.

aa1-image43a.png

worddav7fb736bec7dcb9da82ef142f152ebbe5.png

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.

Information
Do This
  • Press <F3> to return to the Supporting Information of Diagnostic Summary, then click on 'JES'.

aa1-image44a.png

worddavb7581a5ee3e5ec86ef25a38b201e96da.png

If your system runs JES2, Abend-AID shows you the submitted JCL that produced the abend.

Information
Do This
  • Press <F3> to return to the Supporting Information subsection of Diagnostic Summary, then click on 'FILE'.

aa1-image45a.png

File Summary Screen

The FILE command displays information about the files allocated to the abending program and their DD statements.

worddav13e2227de202222cd7b9e52b2016e219.png

Information
Do This
  • Click the menu icon next to EMPFILE (circled in red), then click 'Record Image'.

aa1-image47.png

worddav9f4670267241827f7dbd6a1f67b75f23.png

The Record Image screen (available for local files only) displays the current, and possibly the previous, key and record data associated with the selected file request. 

Information
Do This
  • Press <F3> to return to the File Summary screen, then click the menu button and select 'File Detail'.

worddav7da1f0b827218da41836a8995a954dc5.png

worddav68e12f4b875b95de42204060d01da98d.png

The File Detail screen gives you general file information, statistics, and status about the selected file. Hyperlinks are available to the Record Image, the file description in the listing, and additional information about the file. Also available to you are hyperlinks to browse or edit the file with File-AID.

Information
Do This
  • Press <F3> to return to the File Summary screen, then click the menu button and select File-AID Browse.

worddav3719621faa73172689338095968c736d.png

Information
Do This
  • If this pop-up window appears, highlight the host and click OK.

Select a host.jpg

Information
Do This
  • If required, enter your TestDrive TSO credentials (sent to you in your BMC AMI DevX Test Drive email) and click OK. The host's security software will validate your access to the file.

worddav16ffc429a9ec5f22df6cf83c6b753034.png

worddavfe7664839b97c4692045e3451aa133a4.png

You are placed in a File-AID browse session window from which you can see the dataset's records.

Information
Do This
  • Close the File-AID browse window by clicking the 'X' in the tab (see red arrow above).
  • Double-click the Abend-AID Test Drive tab (where the File Summary screen is displayed) twice to maximize the Abend-AID window, then press <F3> to return to the Supporting Information subsection of Diagnostic Summary.
  • Click on 'PROG'.

Program Summary Screen

The Program Summary Information screen (available from the 'PROG' link in the Supporting Information section of the Diagnostic Summary) 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.

worddav7b3e5339c0b0eaffae84dd2e9cf5ba12.png

Information
Do This
  • Click on the menu icon next to program 'CWAAHOUR'.

worddav333810340ad0fdeb132b4c7e8f61363b.png

From here you 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 in this document 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).
  • Data Locator, Extended Search, Impact Analysis and COBOL PERFORM Flow will be covered in later BMC AMI DevX Test Drive tutorials.

Wrap-up

This concludes our look at how Abend-AID provides powerful tools for diagnosing COBOL 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

 

 

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

Test Drive