Fault Diagnosis Advanced Topics 2



This tutorial will guide you through the following capabilities within BMC AMI DevX Abend-AID:

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 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 are going to 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

Upon successfully logging on, you are taken to the Abend-AID main menu.

  • Click on the 'Fault Summary' icon.

BMC AA home arrow to fault summary.jpg

Do This
  • Click on the 'CICS Transaction' tab.

  • Click on 'HCCAC013'.

Click CICS Transaction.jpg

worddav4ad88bc7be50158808147bdb590cdbc4.png

All entries associated with region HCCAC013 are listed (not shown). Let's zero in on one to look at it in more detail.


Do This
  • Type 0018157 in 'Entry' masking field, then press <Enter>.


  • Next, click the menu icon and select 'Menu'.

Fault summary 0018157.jpg

Menu 0018157.jpg

This will provide you access to up to 12 reports about this specific entry, from the diagnostic summary to a CICS Trace and Language Environment information. Feel free to look around at the different reports available, but please choose the Db2 Information report when you are ready to proceed on your journey.


Do This
  • Click on 'Db2 Information'.

Click Db2.jpg




BMC AMI DevX Abend-AID for Db2

Abend-AID for Db2 provides support for IBM's relational database manager, Db2. It presents the information needed to solve not only everyday but also unique, complex Db2 abends in a few concise report pages.

The Abend-AID for Db2 report provides a diagnostic report containing information about the statement in error and the specific SQL command that failed. It identifies the cause of the error and suggests a course of action.

A comprehensive Db2 Environment section under TSO, CALL, or RRSAF (Recoverable Resource Manager Services Attachment Facility) attach mode processing contains a summary of information to assist you in resolving the problem.

This section includes:

  • SQL code interpretation
  • SQL statement in error
  • Interpreted contents of the SQLCA
  • Contents of the SQLDA, for dynamic SQL
  • Display of the referenced columns
  • Names and contents of the host variables
  • Plan name, bind time, and bind date
  • Package bind information and package precompile information
  • Db2 release, subsystem, and authorization ID
  • Related information

Db2 Information Screen

The information screen displays the release of Db2, authorization ID, Db2 subsystem, and attach mode.

Db2 Info.jpg


Diagnostic Summary


Do This
  • Click on 'Diagnostic Summary' for info about the last Db2 call.

Click diag summary.jpg


The Diagnostic Summary provides information about the last Db2 call. If the last SQL return code was not 0, Abend-AID provides an explanation of the SQLCODE and, in some of the more common cases, provides corrective action.

In this example, the data types were not compatible.

 
 worddavab900b21ccc0b329cb717a8a03736f3d.png 


 Scroll down to see the rest of the Db2 Diagnosis Summary.

worddav192203903a544350c30190fef9426837.png

Because Abend-AID has access to the Db2 catalog and DBRM, the report will show the SQL statement returning the SQLCODE cited at the top of the Db2 Diagnosis Summary. It will also show the SQL statement that defined the cursor CUST_CURSOR (in this case – the OPEN as well as the DECLARE).

Do This
  • Press <F3> to return to the Db2 Information screen.


Additional Db2 Information Areas

Abend-AID provides a wealth of information to the developer for tracking down the root cause of problems. Try each of these sections on the Db2 Information screen and think about how this could help you solve problems faster!


Db2 Information Area

What it is used for

Host Variables

Examine the state of the Host Variables at the time of the abend for clues about what might have triggered the event.

Bind Information

Plan and package information. Normally, this information would be found by running SPUFI or 3rd party utilities. Abend-AID retrieves this information from the Db2 catalogs during report generation.

Precompile Information

Precompile information retrieved from the DBRM.

Columns Referenced

Columns referenced in the Db2 request.

Dependencies

Plan or package dependencies.

SQL Communications Area

The SQLCA control block DSECT is displayed with values from the last SQL statement (FETCH).
Note: If the last call was a dynamic SQL call, the SQLDA CSECT would have been displayed with its values.

RCT Detail

The Resource Control Table (RCT) screen is only visible when the abend occurred in a CICS transaction.
The RCT is a table defined to a Db2/CICS region and contains control characteristics. The RCT matches the CICS transaction ID to its associated Db2 authorization ID and plan ID (CICS attachment facility).



Once you have looked at a section, remember to press <F3> to return to the Db2 Information screen.


Integration With BMC AMI DevX File-AID


Abend-AID is integrated directly with BMC AMI DevX File-AID for Db2, giving developers powerful ways to quickly dig into the data affected by the program. This insight will often help you find problems with invalid or malformed data.


Do This
  • Click on 'File-AID Db2'.












  • The Db2 table affected is displayed.





  • Click on the menu icon for the Customer table and select 'File-AID Browse'.
  • Select the host (TestDrive) and click 'OK', then enter your TSO credentials and click 'OK' (not shown).

Click FADb2.jpg

worddavb654517fc3ff00feb600ca81ac7f8700.png

Genappdb file-aid browse.jpg


A File-AID Browse request is launched to provide insight into the data being processed at the time of the abend.

 
 worddav19a866b11419bad1e8fefe938ece7ba0.png


worddavbff295dad8bd2817d7dba93a4e9877fd.png 

As you can see, Abend-AID provides the Db2 developer a powerful and integrated set of tools to quickly analyze and solve most common Db2 related abends. Putting all of this information together in one place makes it easier and quicker to solve problems, increasing velocity and improving quality.


When you are finished checking out the File-AID integration, close the File-AID Browse tab. Next, double-click the Abend-AID tab twice to maximize your Abend-AID view. Lastly, press <F3> five times to return to the Abend-AID Main Menu.

BMC AA home.jpg

BMC AMI DevX Abend-AID for WebSphere MQ

Abend-AID for MQ provides support for IBM's WebSphere MQSeries. When a Batch or CICS transaction abends or a SNAP dump is invoked (and an MQ call was initiated), Abend-AID will generate a report that provides information about the last MQ call, reason, and return code, as well as other information.

Do This
  • Click on 'Fault Summary'.
  • If 'HCCA' remains in the masking field for 'Job Name or Application Description', clear the characters and press <Enter>.

worddav2549a874f8769e70dc24d4b45c8cf88f.png


We are going to look at a job called SARCTS553 to learn what Abend-AID can offer the WebSphere developer.


Do This
  • In the masking field under Job Name or Application Description, type 'SARC' and press <Enter>. If a value remains in the Entry masking field, remove it and press <Enter>.

  • Click on SARCTS53 to see the Abend-AID directory for that job name.

worddava78df6c5febc263674a2fc911984ce6b.png

worddav92587d8d6498b0a7a3935092a9d71fec.png


This brings up a list of entries associated with job SARCTS53. Let's take a close look at one of these, 0018135.


 

Do This
  • Click on the menu icon next to entry 0018135 and select 'Menu'.

worddav89167ae8d82739858e8fab84d940dd63.png

0018135 menu.jpg

 

Do This
  • Click on the 'WebSphere MQ Information' icon.

Click WebSphere MQ Info.jpg

 WebSphere MQ Info.jpg

The WebSphere MQ Information screen displays the queue manager name for the transaction, authorization ID, MQ release, and the MQ connection type. The four hyperlinked sections provide a significant amount of information pertaining to the last call, the reason and return codes, queues open at the time of the dump, and general MQ environment data.


Do This
  • Click on 'WebSphere MQ Diagnostic Information' to see the last MQ API call's reason code.

worddav570986b760d32b28a6eec51194b7e234.png


Abend-AID provides an explanation for any MQ reason code. For many reason codes, it also offers recommended corrective action. From here, press <F3> to return to the 'WebSphere MQ Information' screen.


Do This
  • Click on 'Last WebSphere MQ Call Information' to see the last MQ API call.

The Last WebSphere MQ Call Info screen presents information from the last WebSphere MQ API call issued by the Batch or CICS application. The fields presented on this screen depend upon the type of call being reported. The last API call was an MQOPEN call.

  • Click on the address of the ObjDesc '3F908910' to display the object descriptor information. 

The name of the queue to be opened is listed along with other information about the open call.

  • Click the 'Next Page' icon to see the next page of the object descriptor.

  • Press <F3> to return to the 'Last MQSphere Call Info' screen.

worddav21c33c5d4e39a5c13793871b6c4e41fe.png

worddav0a0e8347c2433874dea28b7305ba6878.png

worddava0feb5810f8e951184965b3b477c68e0.png


Do This
  • Click the options value of '00002210' to see the bit settings.

The bit settings are converted to the actual control block CSECT names.


  • Press <F3> to return to the 'Last MQSphere Call Info' screen.

worddav753da08cf1b760b31bcb95dbd7b47680.png

aa7-image055.png

Do This
  • Click on Reason '2085'.

Displayed is the Reason Code text seen earlier.


  • Press <F3> twice to return to the 'WebSphere MQ Information' screen.

worddav6ed46419d91d8a83b228d7c81ae5a927.png

worddav570986b760d32b28a6eec51194b7e234.png





 

 WebSphere MQ Info.jpg

The last two links provide valuable information to the programmer about the environment in which your program is operating. The environment can impact why an abend occurs.

Try clicking on both of these links to become familiar with how they'll help you resolve abends.


Tasks Opened Queues at Dump Time

Displayed are any queues open at the time that Abend-AID was invoked. Since the cause of the abend was the open failure of the queue CF.R170000.SMPE3.SAMPLE.QUEUE2, there were no other open queues prior to the abend.

For any open queues you would be able to see detail and handle information.

aa7-image058.png

WebSphere MQ Systems Information

This screen contains information about the MQ environment and the MQ control blocks (for use by systems programmers to diagnose the issue).

worddavaa7549838115f94e88ad03609075cf3f.png



Wrap-up

This concludes our look at how Abend-AID provides powerful analysis tools and data integration for the Db2 and WebSphere programmer. 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 solutions 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: TestDrive


 

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