372 IBM Application Development Tools for z/OS and OS/390
12.2 Tracking an abend in the application
To demonstrate the capabilities of the Problem Determination Tools, we force the
application to abend and you step through the process of fixing it. Debug Tool is
used to follow the execution of the application. Fault Analyzer is used to identify
the cause of the abend. File Manager is used to correct an error in a VSAM
Access the Trader application with the MYTD transaction —>
Userid=RB_DEMO, password=itso —> 4 = IBM —> 1 = New Real-time quote.
In this example, you attempt to obtain the real-time quotes of IBM for the
customer, RB_DEMO. After you select Option 1 on the Options menu of CICS
Trader application and press Enter, the application abends. The CICS-issued
transaction abend message is shown in Figure 12-2.
Figure 12-2 Trader application abend on the Options screen
12.2.1 Viewing the abend in Debug Tool
At the time of the abend, Debug Tool displays a message in the log section of the
debugging panel, as shown in Figure 12-3.
Chapter 12. Scenario 1: Invalid VSAM data generating an abend 373
Figure 12-3 Debug Tool view of the abend
To get more information, you can select the variables involved in this line and ask
for the details. Zoom the log (PF11) as shown in Figure 12-4.
Figure 12-4 Log of the abend
We can see there is an abend OC7 concerning the data. The hexadecimal listing
of the variable DEC-NO-SHARES shows a value of X’F0F2F0F0’.
374 IBM Application Development Tools for z/OS and OS/390
Now, go to the end of the execution, end the Debug Tool session, and switch to
Fault Analyzer to get more information about the abend.
12.2.2 Viewing the abend in Fault Analyzer
Use Fault Analyzer to conduct the analysis of the abend. Do the following:
1. Access Fault Analyzer in your ISPF session.
The fault history file is displayed, as shown in Figure 12-5.
Figure 12-5 Fault Analyzer fault history file
Each abend is assigned a fault ID when it is recorded in the fault history file.
You can identify an abend by knowing the transaction ID, and the date and
time when it occurred.
In this example, the Fault ID is F00103. An ASRA is listed in the Abend column.
2. Enter ? in the line command area next to the Fault ID to view the details of this
abend, as shown in Figure 12-6.
Tip: If you need to switch to a different fault history file, do the following:
Select Options —> Change Fault History File Options.
Move your cursor to the appropriate file on the list and press Enter.
Press PF3 to display the fault history records.
Chapter 12. Scenario 1: Invalid VSAM data generating an abend 375
Figure 12-6 Details about the abend
3. Enter v in the line command area next to the fault ID to view the real-time
analysis synopsis report, which is displayed in Figure 12-7. It is generated at
the time of the abend.
Figure 12-7 Fault Analyzer V1 real-time analysis report synopsis
4. Look more closely at the report in Figure 12-7. You can see:
376 IBM Application Development Tools for z/OS and OS/390
– Program MYTRADS experienced the abend.
– The detail of the abend. In this example, it is a data exception.
– A short explanation of the abend.
Scroll to the next page. It looks like Figure 12-8.
Figure 12-8 Next part of the synopsis
e. Attempt to identify the instruction that caused the abend.
The source statement cannot be identified because the compiler listing (or
side file) for the program MYTRADS was not available to Fault Analyzer
when the program abended.
Refer to Chapter 9.3.4, “Steps toward integration” on page 337 for a
discussion about using side files in production and development
12.2.3 Initiating interactive re-analysis for the abend
You must re-analyze the dump to identify the source statement in the program
MYTRADS that caused the abend. This can be done in one of two ways:
The abend is re-analyzed and the reports are displayed on line in the ISPF
The abend is re-analyzed in a batch job and the reports can be viewed in the
spool or can be directed to a data set. This does not tie up your ISPF session.