CICS COBOL Fault Diagnosis



This tutorial will guide you through some of the capabilities within BMC AMI DevX Abend-AID, including:

  • Using Abend-AID to examine a CICS COBOL abend.
  • Utilizing Abend-AID's features to view storage, compiled listings, variable values.
  • Employing Abend-AID to dig into the transaction executing at the time of the abend.


Table of Contents


Starting BMC AMI DevX Abend-AID

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

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













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.

Start AA.JPG

BMC AA sign in.jpg 

This opens a view into Abend-AID within your Workbench for Eclipse IDE. Integration of the tools needed for developers to do their daily jobs is a key feature of the BMC AMI DevX 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 (HCCAC013) to spotlight how you can leverage Abend-AID to quickly understand the root cause of a reported abend.



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.

Do This
  • Type HCCA in columns 1-4 in the asterisks and press <Enter>.

worddava0706412dbadc0bc5bd35dc899485ebb.png

filtered HCCA.png

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



Do This
  • Click the 'HCCAC013' hyperlink.

filtered HCCA arrow hccac013.png

image2021-5-20_9-23-39.png

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

Do This
  • Scroll through the list of abends until you reach entry number 0016243. You may need to use the Next button in the upper-right corner to reach the page containing entry 0016243. 

worddava7028cd21acb933ac146dd399950da43.png


Do This

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


  • Click on entry 0016243 to view the Diagnostic Summary.

OR

  • Click the menu icon (circled in red) to the left of entry 0016243 to display the dropdown menu.



  • Select 'Diag' to view the Diagnostic Summary.

worddav426f2a424b2946ac85a904c48e7f06bf.png



image2021-5-20_9-33-36.png

image2021-5-20_9-35-10.png


The Diagnostic Summary

The Diagnostic Summary provides the information necessary for diagnosing a transaction abend. The summary provides a probable reason for the abend, and usually suggests a resolution. For COBOL, PL/I, and Assembler programs compiled or assembled with source support, the statement number and source code of the statement in error are provided to the developer.


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.


aa2-image018.png

worddav621af0101c8013c4a79c5de953f1507b.png



Do This
  • Click the Diagnostic Summary's 'ASRA' hyperlink to see the IBM Message Text for the abend code.

aa2-image021.png


worddav56af67d4b0645c0e8fb4d230a4f7bb16.png

Abend-AID provides to you an explanation of the abend code. For many reason codes, recommended corrective action is offered.



Do This
  • Press <F3> to return to the Diagnostic Summary, then click the 'CCAADEMO' hyperlink to view the Program Detail screen.

aa2-image023.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.


worddav395c7e903ffb98c80758849437e88d1b.png

Do This

The Program Detail screen provides a hyperlink to the dataset containing the program's load module. This hyperlink displays the CICS DFHRPL concatenation (CICS has no steplib or joblib).


  • Click on 'CTS530.CICS.HCCAC013.LOADLIB.PDSE' hyperlink in Program Detail to display the DFHRPL concatenation.

worddav2e98a8e9ce7992eaed560cb31eb7c928.png

worddav7d4d4df121f22b2d5b5b50967d613075.png 

You are shown the entire DFHRPL concatenation directly from Abend-AID, saving the time of having to track down the information via other means.



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

aa2-image027.png

aa2-image029.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 for CICS displays the Working Storage Section, the Linkage Section, and the Procedure Division of the selected program. For Pl/I and Assembler programs, Abend-AID for CICS displays the entire source listing.




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.

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

aa2-image030.png

worddavc9c002a830e4fc167e6d87cf0fdb428b.png

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



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

worddav5798eb7e9da891b455158cd123d3b197.png


Do This
  • Click the 'Storage Areas' hyperlink.

worddav04f8a8680235b6711281101b2ad1e59a.png

 

Do This
  • Click on 'Working Storage'.

image2021-5-20_11-17-17.png

worddav5d7a9b7bfb41ddf0b06658eb6afa825a.png

You're placed in the WORKING-STORAGE SECTION of the COBOL Listing Screen. Later we'll look at the Linkage Section storage area, but note that there are more options available on the COBOL Storage Areas screen.



Do This
  • Click on the binary value of PAYMAP1A-LEN '(+1133)' hyperlink.

worddavceef6f2864650877a1a29fc216700afc.png

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



Do This
  • Press <F3> twice to return to the 'COBOL Storage Areas' screen, then click the 'Linkage Section' button.

worddavb2361c36f9cea4524a9f0ce7c74c2415.png



worddave85cdd1496ba50cace442c4b8020667a.png 

Abend-AID makes it easy to locate the fields that comprise the DFHCOMMAREA, their picture types, variable values and any other fields passed between programs (if present).



Do This
  • Press <F3> three times to return to the Diagnostic Summary screen, then click the 'AADM' hyperlink to start examining the invoked transaction.

image2021-5-20_11-39-0.png




Task Detail Screen

The Task Detail screen gives you detailed information about the status of the transaction at the time of the abend. Included is information about the resources being used, such as the program control table (PCT) entry, the task control area (TCA), and the execute interface block (EIB).

 worddavf824e206d3f2ac8a4ed7a7d17f531b65.png

Do This
  • Click the 'Abending Program' hyperlink.

worddav8d4e1c6b6b227edb9a94c2b7079c64ac.png

worddav8032dea9590ea28393a8867ce460f933.png 

Abend-AID provides multiple paths to key information. Earlier we saw the Program Detail screen was accessed from the Diagnostic Summary. Here we access the same info from the Task Detail screen, saving you the time it would take to return to Diagnostic Summary before again accessing Program Detail.



Do This
  • Press <F3> to return to the Task Detail screen, then click the 'Initial Program' hyperlink.

worddava8357f6b20075b79be4f421a9c6a0012.png

worddav8032dea9590ea28393a8867ce460f933.png 
 Since the abending program and the initial program were the same, the Program Detail screen from each provides the same information. Had the initial program invoked been different from the abending program, the 'Initial Program' hyperlink would have taken you to the program detail for the program initiated when the transaction was invoked.

Exception: When an invoked program issues a transfer control to a new program, the base is reset to the program that was just called and program storage prior to the transfer control would be cleared. In this situation, clicking on the initial program would return a 'No Program Storage Found' message.


Do This
  • Press <F3> to return to the Task Detail screen.

worddav88e51bd0a5a81d4c5cbe1d7cfdd47418.png 
 The remaining hyperlinks provide you access to other detailed information about the transaction. For your CICS administrators there is a link to control block information. The 'Supporting Information' section will be discussed later in the script.



Do This
  • Press <F3> to return to the Diagnostic Summary, then click the terminal ID 'C944' hyperlink.

aa2-image049.png

worddav859f33ff0d3cac6a999a41265e4c8ee1.png 

The Terminal Detail screen is where you can find information about the terminal associated with the transaction, such as the last 3270 image and data stream analysis. 

This is only viewable for terminal-based transactions (not message-based transactions).




Do This
  • Click on 'Last 3270 Image'.

worddavf95b2bd824ad808e123e5adc36b122f1.png

worddav3bd53f1f77f233008e1777ad6a298f23.png 

Here you have direct and clear access to what was displayed on the user's screen when the transaction was invoked.




Do This
  • Press <F3> to return to the Terminal Detail screen, then press <F3> again to return to Diagnostic Summary.

CCAADEMO diag short.png


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.

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

aa2-image057.png


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

worddav4bae820879146dac4a9a31ea0ca9850c.png


  • The Next Sequential Instruction subsection provides essential information about the instruction after the abend, the load library or program object library from where the module was loaded and the compile date/time.

worddave79281ba2f04404e88a20e355b86153e.png


  • The Last Call or EXEC CICS subsection shows you the last program call or last 'EXEC CICS' executed prior to the abend in the paragraph where the statement resided.

aa2-image061.png

  • The 'Last Call Arguments and Values' subsection will display any passed variables from the preceding subsection's last program call or last EXEC CICS. Since the last EXEC CICS that was executed was an ignore condition, there were no arguments to be passed.

worddavcc319bb0ad24284bcc90f602233c21bc.png

  • The Program Link Summary is one of the more important subsections within Diagnostic Summary. This subsection displays the sequence of programs called from the initial program to the point the abend occurs. In this example, the initial program was the program that abended, so the active calling chain consists of a single module.

worddavbc9e0e47a555158eed32db8c71c296b5.png

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



Do This
  • From within the Diagnostic Summary, scroll down to the Supporting Information subsection.

worddav3a637cd2e61c2686ab744df8e7c2a883.png

Do This
  • Click the 'SCREEN' hyperlink.

aa2-image066.png

worddavbfecfa088955464f9763d7b46948ae5d.png 

As we saw earlier in the Terminal Detail screen, the screen hyperlink shows you an image of the user's terminal.



Do This
  • Press <F3> to return to the Supporting Information subsection, then click the 'FILE' hyperlink.

aa2-image068.png

worddava0564a9c48b060da0380321b3cf3a6f2.png

The File Request Summary summarizes key identification data for each file request on the storage chain at the time of the abend.



Do This
  • Click the 'CCAAEMPF' hyperlink to see Local File Detail.

worddavc7f90647dfbeaacdffce84dd80706fb6.png

worddaved662dbef895217338604404aa1fb607.png

The File Detail screen displays general file information, statistics, and status about the selected file. In addition, the Local File Detail screen provides access to the Record Image screen.



Do This
  • Click on the 'Record Image' hyperlink in the Local File Detail screen.

worddav791b65331904a7948e4b3459e4e1d004.png

The key and record data displayed are associated with the selected file request (available for local files only). 



Do This
  • Press <F3> three times to return to the Diagnostic Summary, then scroll down to 'Supporting Information'.

worddav459e9f3ce3bbbfe3b0d091e22d109549.png

The hyperlinks in Supporting Information are also available via Abend-AID's Command Line. In this Test Drive, the 'PROG' command is available only via the Command Line.


Do This
  •  Click the Tools icon (upper-right corner of the Abend-AID pane), then select 'Command Line' from the drop down.








  • Enter 'PROG' in the 'Command Line' box and click <Submit>.

worddav17c863eb4998484d181b801f6cb34c29.png

worddavd69a3bbe2200c5bbdcf2ca23e7453efa.png

worddav489382258ce95f8e59cf257067b3897d.png 
 The Program Information screen offers you quick access to four screens of key program-related information.



Do This
  • Click on 'Program Summary Information'.

worddav3171e2bcc8a5bfa0ac851267201544aa.png

 

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.

Do This
  • Click on the menu icon next to program CCAADEMO.

worddav6e4c31ffe565233800b078dc40312440.png 

worddava41de4aa39c2493bb5df631ee44b7c3c.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 all been covered in this document previously.
  • Clicking on the Compile 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 Test Drive tutorials.

Wrap-up

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