Chapter 26. Scenario 1: Invalid VSAM data generating an abend 473
File Manager
You need the following copybooks that contain the record structure of the VSAM files
DEMOS.PDPAK.CUSTFILE and DEMOS.PDPAK.COMPFILE:
򐂰 Copybooks CUSTFILE and COMPFILE in DEMOS.PDPAK.COPYLIB
Make sure you run the DEFVSAM1 batch job to load the VSAM files.
26.2 Tracking an abend in the application
To demonstrate the capabilities of the Problem Determination Tools, we force the application
to abend and then 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 the error in a VSAM application file.
Access the Trader application by selecting MYTD transaction —> Userid=TSDEMO,
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, TSDEMO.
After you select option 1 on the Options menu of the CICS Trader application and press Enter,
the application abends. The CICS-issued transaction abend message is shown in
Figure 26-1.
Figure 26-1 Options
474 Using IBM Application Development Tools for z/OS and OS/390
26.2.1 Viewing the abend in Fault Analyzer
As we can see in Figure 26-2, Fault ID F00123 contains the abending program MYTRADS
with the abend code ASRA. We will now make an Interactive reanalysis by entering an I in
front of the Fault Id and pressing Enter.
Figure 26-2 Interactive reanalysis
After the Interactive analysis has finished, the Interactive Reanalysis Report will be displayed
as shown in Figure 26-3.
Here we can see that the abend occurred at line 806, that information we will use when we
involve Debug Tool. We now look for more details and choose option 1 to see the synopsis.
Chapter 26. Scenario 1: Invalid VSAM data generating an abend 475
Figure 26-3 Interactive Reanalysis Report selecting synopsis
After selecting synopsis, we get the information shown in Figure 26-4:
򐂰 The source line where the abend occurred
򐂰 The variables involved and their values at abend
We see that DEC-NO-SHARES contains invalid data. To obtain more information about the
variable, we place the cursor on line 000115 as shown below and press Enter.
Figure 26-4 Synopsis
476 Using IBM Application Development Tools for z/OS and OS/390
After pressing Enter as described above, we get the following information as shown in
Figure 26-5.
DEC-NO-SHARES is a part of CUSTOMER-IO-BUFFER.
So now we have the question:
򐂰 Is the bad data coming from the file that has been read?
or
򐂰 Is it the program that put the wrong data in the field?
These questions we will discuss in 26.2.2, “Using Debug Tool to analyze the problem” on
page 480.
But before that, we will first find the actual record in the dump.
Figure 26-5 Compiler listing
Chapter 26. Scenario 1: Invalid VSAM data generating an abend 477
How to find the record in the dump
From the Interactive Analysis Report we select option 2 (Point of Failure) and the panel
shown in Figure 26-6 is displayed.
Figure 26-6 Point of failure
We type M on the command line and press PF8 to scroll max down so we get the link to the
associated data areas, where we can see the Working-Storage Section with its values, as
shown in Figure 26-7.
Figure 26-7 After M and PF8

Get Using IBM Application Development Tools for z/OS and OS/390 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.