Broadcom InterTest Batch... · 2014. 7. 31. · CA Product References This document references the...
Transcript of Broadcom InterTest Batch... · 2014. 7. 31. · CA Product References This document references the...
Graphical User Interface Primer
r8.5
CA InterTest™
This documentation and any related computer software help programs (hereinafter referred to as the
―Documentation‖) is for the end user’s informational purposes only and is subject to change or withdrawal by CA at
any time.
This Documentation may not be copied, transferred, reproduced, disclosed, modified or duplicated, in whole or in
part, without the prior written consent of CA. This Documentation is confidential and proprietary information of CA
and protected by the copyright laws of the United States and international treaties.
Notwithstanding the foregoing, licensed users may print a reasonable number of copies of the Documentation for
their own internal use, and may make one copy of the related software as reasonably required for back-up and
disaster recovery purposes, provided that all CA copyright notices and legends are affixed to each reproduced
copy. Only authorized employees, consultants, or agents of the user who are bound by the provisions of the license
for the product are permitted to have access to such copies.
The right to print copies of the Documentation and to make a copy of the related software is limited to the period
during which the applicable license for the product remains in full force and effect. Should the license terminate for
any reason, it shall be the user’s responsibility to certify in writing to CA that all copies and partial copies of the
Documentation have been returned to CA or destroyed.
EXCEPT AS OTHERWISE STATED IN THE APPLICABLE LICENSE AGREEMENT, TO THE EXTENT PERMITTED BY
APPLICABLE LAW, CA PROVIDES THIS DOCUMENTATION ―AS IS‖ WITHOUT WARRANTY OF ANY KIND, INCLUDING
WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
OR NONINFRINGEMENT. IN NO EVENT WILL CA BE LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY
LOSS OR DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF THIS DOCUMENTATION, INCLUDING WITHOUT
LIMITATION, LOST PROFITS, BUSINESS INTERRUPTION, GOODWILL, OR LOST DATA, EVEN IF CA IS EXPRESSLY
ADVISED OF SUCH LOSS OR DAMAGE.
The use of any product referenced in the Documentation is governed by the end user’s applicable license
agreement.
The manufacturer of this Documentation is CA.
Provided with ―Restricted Rights.‖ Use, duplication or disclosure by the United States Government is subject to the
restrictions set forth in FAR Sections 12.212, 52.227-14, and 52.227-19(c)(1) - (2) and DFARS Section 252.227-
7014(b)(3), as applicable, or their successors.
All trademarks, trade names, service marks, and logos referenced herein belong to their respective companies.
Copyright © 2009 CA. All rights reserved.
CA Product References
This document references the following CA products:
■ CA InterTest™ Batch
■ CA InterTest™ for CICS
■ CA Endevor® Software Change Manager
Contact CA
Contact Technical Support
For your convenience, CA provides one site where you can access the
information you need for your Home Office, Small Business, and Enterprise CA
products. At http://ca.com/support, you can access the following:
■ Online and telephone contact information for technical assistance and
customer services
■ Information about user communities and forums
■ Product and documentation downloads
■ CA Support policies and guidelines
■ Other helpful resources appropriate for your product
Provide Feedback
If you have comments or questions about CA product documentation, you can
send a message to [email protected].
If you would like to provide feedback about CA product documentation, complete
our short customer survey, which is available on the CA support website at
http://ca.com/support.
Contents 5
Contents
Chapter 1: Introduction 11
Audience ..................................................................................... 11
Chapter 2: Navigation 13
CA InterTest Main Window .................................................................... 14
Toolbars ..................................................................................... 15
Views ........................................................................................ 15
Open Views .............................................................................. 17
Change the Active View ................................................................... 19
Close Views .............................................................................. 20
Rearrange Views .......................................................................... 20
Rearrange Tabbed Views .................................................................. 23
Rearrange a Group of Tabbed Views ....................................................... 24
Maximize a View .......................................................................... 25
Minimize a View .......................................................................... 25
Program Listing Area ......................................................................... 25
Open a Program Listing ................................................................... 26
Display a Hidden Program Listing .......................................................... 27
Tile Program Listings ...................................................................... 28
Reorder Tabbed Program Listings .......................................................... 29
Vertical Ruler and Pop-up Menu ............................................................ 30
Online Help .................................................................................. 31
F1 Support ............................................................................... 32
Dynamic Help ............................................................................ 33
Chapter 3: Basic COBOL CICS Demo Session 35
Before You Begin ............................................................................. 36
Synchronized Processing ...................................................................... 37
Symbolic Version Processing ............................................................... 38
How to Run the CICS Demo Session ........................................................... 38
Demo Source ................................................................................. 39
Import CA InterTest Server Settings ........................................................... 41
Check the Server Status ...................................................................... 43
Create a CICS Project ......................................................................... 44
Configure Debug Settings ..................................................................... 45
Select the Source Program to Monitor .......................................................... 47
6 Graphical User Interface Primer
How to Use the Outline View .................................................................. 50
View Monitoring Status ....................................................................... 51
Start Program Execution ...................................................................... 51
Abend Occurs ................................................................................ 54
Determine the Cause of the Error .............................................................. 56
Change the Value in TASKNUM ................................................................ 57
What You Can Do When Your Program is Stopped .............................................. 58
Breakpoints .................................................................................. 58
Types of Breakpoints ...................................................................... 59
When to Use Breakpoints .................................................................. 60
Set Unconditional Breakpoints ............................................................. 60
Change Breakpoints ....................................................................... 63
How to Remove Breakpoints ............................................................... 65
Delete Breakpoints ........................................................................ 66
Bookmarks ................................................................................... 67
Add Bookmarks ........................................................................... 67
How to Remove Bookmarks ............................................................... 69
Resume Program Execution ................................................................... 70
Terminate Debug Session ..................................................................... 73
What You Have Learned ....................................................................... 74
Chapter 4: Basic PL/I CICS Demo Session 75
Before You Begin ............................................................................. 76
Synchronized Processing ...................................................................... 77
Symbolic Version Processing ............................................................... 78
How to Run the CICS Demo Session ........................................................... 78
Demo Source ................................................................................. 79
Import CA InterTest Server Settings ........................................................... 80
Check the Server Status ...................................................................... 82
Create a CICS Project ......................................................................... 83
Configure Debug Settings ..................................................................... 84
Select the Source Program to Monitor .......................................................... 86
How to Use the Outline View .................................................................. 89
View Monitoring Status ....................................................................... 91
Start Program Execution ...................................................................... 91
Abend Occurs ................................................................................ 95
Determine the Cause of the Error .............................................................. 97
Change the Value in TASKNUM ................................................................ 97
Breakpoints .................................................................................. 98
Types of Breakpoints ...................................................................... 99
When to Use Breakpoints ................................................................. 100
Set Unconditional Breakpoints ............................................................ 100
Contents 7
Change Breakpoints ...................................................................... 103
What You Can Do When Your Program is Stopped ............................................. 105
Bookmarks .................................................................................. 105
Add Bookmarks .......................................................................... 106
How to Remove Bookmarks .............................................................. 107
How to Delete Breakpoints ................................................................... 107
Resume Program Execution .................................................................. 110
Terminate Debug Session .................................................................... 113
What You Have Learned ...................................................................... 114
Chapter 5: Basic Assembler CICS Demo Session 115
Before You Begin ............................................................................ 116
Synchronized Processing ..................................................................... 117
Symbolic Version Processing .............................................................. 118
How to Run the CICS Demo Session .......................................................... 118
Import CA InterTest Server Settings .......................................................... 120
Check the Server Status ..................................................................... 122
Create a CICS Project ........................................................................ 123
Configure Debug Settings .................................................................... 124
Select the Source Program to Monitor ......................................................... 126
How to Use the Outline View ................................................................. 129
View Monitoring Status ...................................................................... 130
Start Program Execution ..................................................................... 131
Abend Occurs ............................................................................... 135
Determine the Cause of the Error ............................................................. 137
Change the Value in TASKNUM ............................................................... 138
What You Can Do When Your Program is Stopped ............................................. 140
Breakpoints ................................................................................. 140
Types of Breakpoints ..................................................................... 141
When to Use Breakpoints ................................................................. 142
Set Unconditional Breakpoints ............................................................ 142
Change Breakpoints ...................................................................... 145
How to Delete Breakpoints ............................................................... 147
Delete Breakpoints ....................................................................... 148
Bookmarks .................................................................................. 149
Add Bookmarks .......................................................................... 149
How to Remove Bookmarks .............................................................. 151
Resume Program Execution .................................................................. 152
Terminate Debug Session .................................................................... 154
What You Have Learned ...................................................................... 155
8 Graphical User Interface Primer
Chapter 6: Basic COBOL Batch Demo Session 157
Before You Begin ............................................................................ 158
Synchronized Processing ..................................................................... 159
Symbolic Version Processing .............................................................. 160
How to Run the Demo Session ................................................................ 160
Demo Source ................................................................................ 161
Import CA InterTest Server Settings .......................................................... 162
Check the Server Status ..................................................................... 163
Create a Batch Project ....................................................................... 164
Configure Debug Settings .................................................................... 165
Select the Source Program to Monitor ......................................................... 170
How to Use the Outline View ................................................................. 173
View Monitoring Status ...................................................................... 174
Start Program Execution ..................................................................... 175
Abend Occurs ............................................................................... 176
Determine the Cause of the Error ............................................................. 178
What You Can Do When Your Program is Stopped ............................................. 179
Change the Value in TASKNUM ............................................................... 179
Breakpoints ................................................................................. 180
Types of Breakpoints ..................................................................... 181
When to Use Breakpoints ................................................................. 182
Set Unconditional Breakpoints ............................................................ 182
Set Variable Change Breakpoints ......................................................... 186
Change Breakpoints ...................................................................... 189
How to Delete Breakpoints ............................................................... 190
Delete Breakpoints ....................................................................... 192
Bookmarks .................................................................................. 193
Add Bookmarks .......................................................................... 193
How to Remove Bookmarks .............................................................. 195
Resume Program Execution .................................................................. 196
Chapter 7: Basic PL/I Batch Demo Session 199
Before You Begin ............................................................................ 200
Synchronized Processing ..................................................................... 201
Symbolic Version Processing .............................................................. 202
How to Run the Demo Session ................................................................ 202
Demo Source ................................................................................ 203
Import CA InterTest Server Settings .......................................................... 204
Check the Server Status ..................................................................... 205
Create a Batch Project ....................................................................... 206
Configure Debug Settings .................................................................... 207
Contents 9
Select the Source Program to Monitor ......................................................... 212
How to Use the Outline View ................................................................. 216
View Monitoring Status ...................................................................... 217
Start Program Execution ..................................................................... 218
Abend Occurs ............................................................................... 220
Determine the Cause of the Error ............................................................. 222
Change the Value in TASKNUM ............................................................... 222
What You Can Do When Your Program is Stopped ............................................. 223
Breakpoints ................................................................................. 224
Types of Breakpoints ..................................................................... 225
When to Use Breakpoints ................................................................. 225
Set Unconditional Breakpoints ............................................................ 226
Set Variable Change Breakpoints ......................................................... 228
Change Breakpoints ...................................................................... 232
How to Delete Breakpoints ............................................................... 233
Delete Breakpoints ....................................................................... 234
Bookmarks .................................................................................. 235
Add Bookmarks .......................................................................... 235
How to Remove Bookmarks .............................................................. 237
Resume Program Execution .................................................................. 238
Chapter 8: Basic Assembler Batch Demo Session 239
Before You Begin ............................................................................ 240
Synchronized Processing ..................................................................... 241
Symbolic Version Processing .............................................................. 242
How to Run the Demo Session ................................................................ 242
Demo Source ................................................................................ 243
Import CA InterTest Server Settings .......................................................... 244
Check the Server Status ..................................................................... 245
Create a Batch Project ....................................................................... 246
Configure Debug Settings .................................................................... 247
Select the Source Program to Monitor ......................................................... 251
How to Use the Outline View ................................................................. 255
View Monitoring Status ...................................................................... 257
Start Program Execution ..................................................................... 258
Abend Occurs ............................................................................... 260
Determine the Cause of the Error ............................................................. 262
Change the Value in TASKNUM ............................................................... 263
What You Can Do When Your Program is Stopped ............................................. 265
Breakpoints ................................................................................. 265
Types of Breakpoints ..................................................................... 266
When to Use Breakpoints ................................................................. 267
10 Graphical User Interface Primer
Set Unconditional Breakpoints ............................................................ 267
Set Variable Change Breakpoints ......................................................... 270
Change Breakpoints ...................................................................... 273
How to Delete Breakpoints ............................................................... 274
Delete Breakpoints ....................................................................... 275
Bookmarks .................................................................................. 276
Add Bookmarks .......................................................................... 276
How to Remove Bookmarks .............................................................. 278
Resume Program Execution .................................................................. 278
Glossary 281
Index 291
Chapter 1: Introduction 11
Chapter 1: Introduction
CA InterTest provides a graphical user interface for debugging COBOL, PL/I, and
Assembler applications executing in batch or under CICS. Using a single
graphical user interface for both CA InterTest Batch and CA InterTest for CICS
reduces your learning curve and simplifies your training requirements.
CA InterTest enables you to perform the following tasks:
■ Define projects for testing CICS or batch applications
■ Import programs into your projects
■ Set, remove, and modify breakpoints
■ Pause, resume, and interrupt program execution
■ View and modify data values of active programs
■ Single-step forward through program statements
■ Step backwards through previously executed statements
■ Customize and personalize views
This section contains the following topics:
Audience (see page 11)
Audience
This guide is intended for programmers who are new to CA InterTest or its
graphical user interface. New users should use this guide to get familiar with CA
InterTest and to learn how to use the user interface.
Chapter 2: Navigation 13
Chapter 2: Navigation
Before you begin a debug session, it is important to understand how to navigate
CA InterTest and perform basic actions.
This section contains the following topics:
CA InterTest Main Window (see page 14)
Toolbars (see page 15)
Views (see page 15)
Program Listing Area (see page 25)
Online Help (see page 31)
CA InterTest Main Window
14 Graphical User Interface Primer
CA InterTest Main Window
CA InterTest contains a group of views that provide all the functions you need to
debug your programs.
A view is a visual component within the CA InterTest window. It is typically used
to navigate a hierarchy of information or display properties for a program listing,
which displays the program being debugged. Modifications made in a view are
generally done with dialogs.
The following illustration shows the CA InterTest main window with several views
open.
Usually, only one instance of a particular type of view may exist within the CA
InterTest window. Views might appear by themselves or stacked with other
views in a tabbed notebook. To activate one of these views, click its tab. Only one
view is active at one time. The active view is the one whose tab is highlighted. In
this example, the program listing is active.
The exception to only one type of view existing within the CA InterTest window is
the Program Listing area, where several imported program listing files can be
open at one time. The listings behave like sub-views that are grouped together
(or stacked) in the Program Listing area.
Toolbars
Chapter 2: Navigation 15
You can change the default window layout by opening views, closing views, or
docking views in different positions.
Toolbars
There are two kinds of toolbars in CA InterTest:
■ Main toolbar
■ View toolbar
The main toolbar is displayed at the top of the main window directly beneath the
menu bar. The contents of this toolbar change based on the active view. You can
find explanations of all the buttons on the toolbar in the online help.
There are also individual view toolbars, which appear in the title bar of a view.
Actions in a view's toolbar apply only to the view in which they appear. The
following example shows the Bookmarks view toolbar:
Note: Some view toolbars include a Menu button, shown as an inverted triangle
that contain actions for the view.
Views
CA InterTest supports the following types of views:
Auto Data
Displays variables and their contents at a particular breakpoint.
Bookmarks
Displays all anchors (bookmarks) placed on a specific line of code.
Breakpoints
Displays all breakpoints (enabled and disabled) that are set in the vertical
ruler of the Program Listing area.
Call Trace
Displays a list of the called subprograms in a load module based on the
current breakpoint. This is a CICS only view.
Views
16 Graphical User Interface Primer
Console
Displays read-only standard output messages from CA InterTest.
Error Log
Displays all warnings and errors generated by the common user interface.
This is used by CA support and you can export this log when reporting an
error.
Help
Displays the related help topics for the highlighted view.
InterTest Debug
Displays the monitored and unmonitored programs.
Outline
Displays an outline of the program that is currently open in the Program
Listing area and lists the structural elements.
Properties
Displays a list of attributes, if any, related to another active view. Not all
views have information to display in this view.
Register Data
Keeps track of general register values during a debugging session for
Assembler programs.
Servers
Displays the servers that have been defined for CA InterTest to communicate
with the mainframe.
Session Data
Keeps track of session-related information during a debugging session for
CICS programs.
Statement Trace
Displays a trace of previously executed statements.
Tasks
Displays the tasks available for the currently active program.
Watch Data
Keeps track of variables and other program-related information during a
debugging session.
Views
Chapter 2: Navigation 17
Use views to navigate a hierarchy of information (such as variable values), show
breakpoints, bookmarks, console output, and various other activities.
CA InterTest saves any changes you make in a view across instances of the GUI.
Each view has a close button next to its name that lets you close the view. The
following example displays the Breakpoints view tab with the close button.
Views also have their own toolbars and pop-up menus that contain actions you
can perform that are specific to the view.
The following example displays the toolbar of the Breakpoints view with buttons
for actions on the toolbar's right side:
Note: All views have minimize and maximize buttons on their toolbars.
You can perform the following actions with the buttons on the Bookmark's
toolbar, as described in the following table:
Button Description
Configures the settings for the program name
Shows the position in the program listing where the
breakpoint is set
Configures a selected breakpoint
Deletes a selected breakpoint.
Adds a global breakpoint
Minimizes the view.
Maximizes the view.
Open Views
You can open a hidden view as needed. There are two ways of opening a view:
■ Using the Window menu
■ Using the shortcut keys
Views
18 Graphical User Interface Primer
To open a view using the Window menu
1. Select Window, Show Views.
A list of views is displayed as shown in the following illustration:
2. Click the view you want to open.
The selected view is displayed in the CA InterTest main window.
To open a view using the shortcut keys
1. Press Alt+Shift+Q keys.
A pop-up menu opens that lets you select and open the following views:
Views
Chapter 2: Navigation 19
2. Press the single letter for the view you want to see.
For example, pressing the letter A will open the Auto Data view.
Change the Active View
A view displayed in the CA InterTest main window can be active or inactive, but
only one view is active at a given time.
To change the active view, click the tab of the view you want to make active. The
system highlights the selected view's title bar. The highlighted view becomes the
active view. In the following illustration, the InterTest Debug view is the active
view; the Breakpoints, Watch Data, Auto Data, Program Listing area, Outline,
Properties, and Servers views are inactive views.
Views
20 Graphical User Interface Primer
Close Views
When you have many views open at one time your screen can become cluttered.
To reduce the clutter on your screen, close one or more views. To close a view,
click the X button next to the name of the view.
Note: When you close a view tab, the view remains closed in the current debug
session and in future debug sessions until you manually reopen the view.
Rearrange Views
You can rearrange the placement of views in the CA InterTest main window any
time. You can do this by dragging and dropping the view to place it in a different
location. This action is called docking.
To rearrange one or more views
1. Click the title bar of the view you want to rearrange and drag the view across
the CA InterTest main window.
The following cursors indicate where the view docks in relation to the view
area beneath the cursor when you release the mouse button:
Up Arrow
Docks above the view that appears beneath the cursor.
Down Arrow
Docks below the view that appears beneath the cursor.
Right Arrow
Docks to the right of the view that appears beneath the cursor.
Left Arrow
Docks to the left of the view that appears beneath the cursor.
Stacked Cursor
Docks the view in the same pane as the view that appears beneath the
cursor. The view displays as a tab in the pane.
Views
Chapter 2: Navigation 21
Restricted Cursor
Does not dock the view at the location if you release the mouse button
there.
Detached Cursor
Detaches the view from its location in the window. You can re-attach the
view by clicking the tab of the detached view, and dragging and dropping
the view at its original location or at another location in the window.
2. Release the mouse button to dock the view in any position in the window.
Drag the view's title bar to dock the view in another position in the window.
The views are docked to the new positions in the CA InterTest main window.
The following example shows the main window with six views displayed:
Views
22 Graphical User Interface Primer
The following example shows the same window, but the Breakpoints view is
now next to the Servers view.
Views
Chapter 2: Navigation 23
Rearrange Tabbed Views
CA InterTest lets you rearrange the order of views in a tabbed notebook if you
prefer to see the views differently on the main window.
The following procedure illustrates how to rearrange the Bookmarks and
Statement Trace views in a tabbed notebook.
To rearrange tabbed views
1. Select Window, Reset Perspective.
2. Click OK on the Reset Perspective dialog.
The window perspective is reset to its original layout.
3. Select Statement Trace from the Show Views drop-down list on the Window
menu.
4. Select Bookmarks from the Show Views drop-down list on the Window menu.
5. Drag the Statement Trace title bar to the right of the Bookmarks tab until the
cursor appears as a Stack cursor; then release the mouse button.
The Statement Trace tab now appears to the right of the Bookmarks tab.
6. Drag the Bookmarks view tab to the right of the Statement Trace tab until
the cursor is a Stack cursor and release the mouse button.
The Bookmarks view tab now appears to the right of the Statement Trace
tab.
Views
24 Graphical User Interface Primer
Rearrange a Group of Tabbed Views
You can rearrange a group of tabbed views in another location in CA InterTest if
you prefer to see the views differently on the main window.
To rearrange a group of tabbed views
1. Select Window, Show Views, Reset Perspective.
The views on the window are reset to the defaults.
2. Select Session Data and Register Data from Window, Show Views on the CA
InterTest main window.
The views displays on the main window. Auto Data view and Watch Data
view are already displayed as one of the default views. The four tabs Watch
Data, Auto Data, Session Data, and Register Data are next to each other in
a stacked fashion.
3. Right-click the title bar of one of the views in the tabbed group and select
Move, Tab Group.
The tabbed group (Watch Data, Auto Data, Session Data, and Register Data)
becomes dockable and the cursor changes to a stacked cursor.
4. Move the group of tabbed views to below the Breakpoints view and click the
mouse once.
The group of tabbed views displays in the new location.
Program Listing Area
Chapter 2: Navigation 25
Maximize a View
All views have Maximize buttons on their toolbars that you can click to
expand the view. You might want to maximize a view to enlarge the view to see
the details better or to focus on a particular area.
To enlarge the view, click the Maximize button on the right side of the menu bar
of the view you want to maximize. To restore the view, click the Restore button
located on both the left side and the right side of the CA InterTest main
window.
Minimize a View
All views have Minimize buttons on their toolbars that you can click to
collapse the view. You might want to minimize a view because you are not using
it right now, but do not want to close it, as you will need it later.
To shrink the view, click the Minimize button on the right side of the menu bar of
the view you want to minimize. To restore the view, click the Restore button .
Program Listing Area
The Program Listing area is a rectangular area in the CA InterTest main window
and behaves slightly differently than the other views. The main menu bar and
toolbar on the window contain operations that are applicable to the active view.
You can open a program listing to view compiler output and to use for a program
being debugged. Any number of listings can be open at one time, but only one
listing can be active at any given time.
Tabs in the view area indicate the names of program listings that are currently
open for viewing. By default, views are stacked in the view area. However, you
can tile them to view programs simultaneously, or you can use any combination
of stacked and tiled views to suit your needs. You can also minimize and
maximize the views to increase or reduce the amount of window space they
occupy.
Program Listing Area
26 Graphical User Interface Primer
If you have set one or more breakpoints for tracing the program, they are
displayed as blue circles at the left margin of the individual program listing, as
shown by the arrow in the following illustration. The Program Listing area is
located in the middle of the window.
Open a Program Listing
Before you debug a program, you must open that program listing in the Program
Listing area. You can open multiple programs in the view, but only one view is
active at a time.
To open a program listing
Double-click the program name on the InterTest Debug view. The program
opens in the Program Listing area.
Program Listing Area
Chapter 2: Navigation 27
Display a Hidden Program Listing
You may have several programs open in the Program Listing area and want to
look at one of them.
To display a hidden program listing
Click the tab of the listing you want to view on the Program Listing area.
CA InterTest highlights the selected tab and brings the listing into focus,
indicating that it is the active view.
Note: The active program in the Program Listing area controls the contents of
many views on the CA InterTest main window as those views are synchronized
with the currently active program in the Program Listing area.
To display a hidden program listing using Show List
If there are many listings open, CA InterTest may not have enough visual space
to display all the tabs. You will then see the symbol >> followed by a number.
This is the Show List button that appears to the right of the tabs of individual
program listings in the Program Listing area.
The number represents the number of hidden programs. If you click the >>
button, a pop-up menu displays all of the programs that are opened. A
highlighted name indicates the listing is hidden in the stack in the Program
Listing area, and clicking a highlighted name will bring that listing into focus.
The following diagram displays the names of the hidden views after clicking the
>> button.
Program Listing Area
28 Graphical User Interface Primer
Tile Program Listings
You can create two or more sets of listings in the Program Listing area. You can
also resize the listings, but you cannot drag other types of views into the
Program Listing area.
To tile program listings
1. Open at least two listings in the Program Listing area by double-clicking the
file names on the InterTest Debug view.
Note: The restricted cursor displays if you try to drop the view on top of any
view or outside the CA InterTest main window.
2. Dock the program listing on a directional arrow drop cursor so that two
listings appear in the Program Listing area.
Note: You can resize each view and the entire Program Listing area to
accommodate the program listing views and other views as necessary.
3. (Optional) Observe the color of the program listing tabs.
■ Blue—Indicates that the program listing is currently active.
■ Default color (depends on the system color scheme)—Indicates that the
program listing was the last active view, but focus has been switched to
another view outside of the Program Listing area. This is important when
working with other types of views such as the Outline view whose
contents are directly related to the last active program listing.
Program Listing Area
Chapter 2: Navigation 29
Example: The following illustration displays a layout of two tiled program
listings:
Reorder Tabbed Program Listings
You can rearrange the order of a tabbed group of listings in the Program Listing
area. You can do this by dragging the title bar of one of the tabbed views to the
left or right of another view and releasing the mouse button when the cursor
appears as a stack cursor. The view you moved becomes the active program
listing.
Program Listing Area
30 Graphical User Interface Primer
Vertical Ruler and Pop-up Menu
The vertical ruler is the vertical bar located at the left of any one of the program
listings. Right-click the vertical ruler and a pop-up menu opens as shown in the
following illustration:
The following list describes the options on the vertical ruler pop-up menu:
Add Bookmark
Opens the Add Bookmark dialog so you can enter a name for the new
bookmark.
Add Task
Opens the New Task dialog so you can enter a new task.
Run From Here
Allows you to control program execution flow. You can resume execution
from a different location. It could be to skip a single statement, or it could be
to force the ELSE instead of the IF condition once you realize that the
comparison was in error.
Add Breakpoint
Adds a breakpoint at that statement in the code. A blue circle appears to the
left of the statement for conditional and unconditional breakpoints.
Online Help
Chapter 2: Navigation 31
Configure Breakpoint
Opens the Breakpoint Properties for Batch/CICS Debug Session dialog so
you can select which type of breakpoint you want to configure.
Reset Execution Count
If execution count is turned on, resets the count for each statement back to
zero.
Show Execution Count
Turns display on to show how many times a statement has been executed.
Show Line Numbers
Enables or disables display of line numbers next to the statement numbers.
Preferences
Opens the Preferences dialog that lets you review or change how you have
customized the Program Listing area.
Online Help
CA InterTest provides extensive online documentation and context-sensitive
help. You can request online help anytime while using CA InterTest by clicking
the Help menu and selecting the following options as needed.
Help Contents
Opens an external Help browser window and displays a top-level link to the
CA InterTest online documentation, which you can expand to display subsets
of the documentation.
Online Help
32 Graphical User Interface Primer
Search
Activates the CA InterTest online Help view and displays the Search panel in
which you can enter text that you want to search for. Click Go to display all
topics on the online documentation in which the search text appears.
Dynamic Help
Displays the help data as it is dynamically displayed to reflect the context of
the view that is in focus. For example, when the focus is on Breakpoints,
Dynamic Help will only display those topics relevant to breakpoints.
Note: The dynamic help feature is not supported in the Program Listing area
pop-up menus, window controls such as menu items or buttons, or toolbar
buttons.
Cheat Sheets
Opens pages to guide you through some of the processes. Each cheat sheet
is designed to help you complete a specific task, and lists the sequence of
steps required to help you achieve that goal.
Key Assist
Opens the Key Assist window where you can see shortcut key combinations.
Update InterTest
Opens the Install/Update dialog from which you will be able to install updates
of the currently installed features, or new features.
About CA InterTest
Displays the About CA InterTest dialog, which provides information on the
software release number, plug-in details, and configuration details.
F1 Support
You can access online Help for most (but not all) window controls by placing the
focus on the dialog or control and pressing F1.
If the control is located in the CA InterTest main window, the Help view is
activated automatically and a keyword search targeting text in the online
documentation related to the control is performed. When the search is complete,
links to topics related to the keyword search are displayed in the Help panel.
If the control is located on a dialog started by CA InterTest, an external Help
window is activated. The same keyword search is performed and links to topics
related to the keyword search are displayed in the Help panel.
Online Help
Chapter 2: Navigation 33
Dynamic Help
When the CA InterTest Help view is active in CA InterTest as you make each view
active, the help data displayed is dynamically updated to mirror the view that is
in focus.
Chapter 3: Basic COBOL CICS Demo Session 35
Chapter 3: Basic COBOL CICS Demo
Session
This demo session takes you step-by-step through the basic CA InterTest for
CICS COBOL demo session. Performing the demo at a PC is the best way to begin
learning about CA InterTest. If a PC is not available, you can still learn about the
product by reading this chapter.
This section contains the following topics:
Before You Begin (see page 36)
Synchronized Processing (see page 37)
How to Run the CICS Demo Session (see page 38)
Demo Source (see page 39)
Import CA InterTest Server Settings (see page 41)
Check the Server Status (see page 43)
Create a CICS Project (see page 44)
Configure Debug Settings (see page 45)
Select the Source Program to Monitor (see page 47)
How to Use the Outline View (see page 50)
View Monitoring Status (see page 51)
Start Program Execution (see page 51)
Abend Occurs (see page 54)
Determine the Cause of the Error (see page 56)
Change the Value in TASKNUM (see page 57)
What You Can Do When Your Program is Stopped (see page 58)
Breakpoints (see page 58)
Bookmarks (see page 67)
Resume Program Execution (see page 70)
Terminate Debug Session (see page 73)
What You Have Learned (see page 74)
Before You Begin
36 Graphical User Interface Primer
Before You Begin
The examples in this guide use default CA InterTest library names, which differ
from installation to installation.
Because the guide cannot anticipate differences at your installation, you must
know certain information specific to your CA InterTest installation before
attempting the tutorial sessions in this guide. The following list identifies
information you must know before you can attempt the demo session:
From your IBM installation
■ User ID
■ z/OS host name
■ Path to the file containing CA InterTest server settings to be imported. If
your CA InterTest was installed properly it should begin with a properly
configured set of servers for your site. For more information, see the CA
InterTest for CICS Installation Guide.
■ CA InterTest PROTSYM data set names
From CA InterTest for CICS
■ CICS host name
■ Path to the file containing CA InterTest server and CICS server settings to be
imported. If your CA InterTest was installed properly it should begin with a
properly configured set of servers for your site.
■ CA InterTest PROTSYM data set names
Synchronized Processing
Chapter 3: Basic COBOL CICS Demo Session 37
Synchronized Processing
Before you begin testing you should be aware that when CA InterTest for CICS
searches the symbolic files for the programs that you specify to be monitored for
testing, it tries to match a symbolic file with the same date and time as that of
the load module. If a match cannot be found, a dialog opens, as shown in the
following example.
Select the version you want the mainframe debugger to use and click Use, or, if
you do not want to monitor the file after all, select Do Not Monitor. Based on your
decision, the local version will be updated to match your choice.
This CA InterTest for CICS feature lets you maintain synchronized processing at
all times by letting you select the correct symbolic version of the program that
you want to test.
Note: For a complete description of this feature, see the CA InterTest for CICS
User Guide.
How to Run the CICS Demo Session
38 Graphical User Interface Primer
Symbolic Version Processing
When you request a program that has no previously declared breakpoints or
monitoring options set, CA InterTest matches the post processed symbolic file
with the most recent compile date/time to the load module date/time.
■ If an exact match is found, CA InterTest automatically selects and displays
the program listing.
■ If no match is found, CA InterTest displays the symbolic version list from
which you can do the following:
– Select the appropriate symbolic file
– Ignore symbolic processing for the program
The dialog also explains the cause of the mismatch.
During automatic breakpoint processing, if a program has no previously selected
symbolic file, CA InterTest matches the load module's date/time to a symbolic
file.
■ If an exact match is found, CA InterTest automatically selects and displays
the program.
■ If no match is found, CA InterTest automatically selects the first symbolic file
that contains the program and displays it with a warning message on the first
Source Listing Breakpoint screen indicating the mismatch.
Note: Once you select a symbolic file for a program, CA InterTest continues to
use the selected file and bypasses subsequent date/time matching until all
declared breakpoints and monitoring options are removed for the program.
How to Run the CICS Demo Session
The CA InterTest basic demo session takes you through the following scenario:
1. Import CA InterTest server settings. You may need to do this step the very
first time you start the GUI or whenever your CA InterTest administrator
updates any of the server settings. If your CA InterTest was installed
properly it should begin with a properly configured set of servers for your
site. For more information, see the CA InterTest for CICS Installation Guide.
2. Check the server status.
3. Create a CICS project.
4. Configure the debug settings.
5. Select the program to debug.
Demo Source
Chapter 3: Basic COBOL CICS Demo Session 39
6. Respond to the information provided when a program error is detected.
CA InterTest intercepts and prevents an ASRA abend. It halts the demo
program at the ADD statement that caused the ASRA and displays a
diagnostic message informing you that the problem was caused by
improperly formatted data.
7. Examine the value of a data item.
Examine the current value of TASKNUM. The receiving field in the ADD
statement is causing the problem. You find that TASKNUM does not contain
a valid packed decimal number.
8. Change dynamically the value of a data item.
Modify the value of TASKNUM to correct the error.
9. Set a breakpoint to halt the program at another statement.
This step is purely instructional; it has nothing to do with correcting the
ASRA abend.
10. Add and remove a bookmark.
11. Resume program execution.
CA InterTest halts the program at the breakpoint you set in the previous
statement. You see that the value of TASKNUM changed when the ADD
statement executed.
12. Clean up by removing the breakpoint you set.
13. Resume program execution and the demo program runs to completion.
Demo Source
The source programs for this demo are as follows:
Name of Program Language Type
COBDEMO Enterprise COBOL
COB2DEMO COBOL II
C370DEMO COBOL/370
CMVSDEMO COBOL for MVS/VM
C390DEMO COBOL for OS/390
Demo Source
40 Graphical User Interface Primer
Note: For simplicity, we refer to the demo program as C370DEMO with a transid
of DE37 throughout this CA InterTest Graphical User Interface Primer. Substitute
the name of the program that you want to have demonstrated in place of
C370DEMO. These programs use mixed case in the display of source code and
maps on the screen. If you need or want to use a set of programs that will display
in UPPERCASE only, substitute the letters UEMO instead of DEMO as the last four
characters of the program name (for example, C370UEMO instead of
C370DEMO). The following table shows the transid associated with each of the
demo programs.
Transid Name of Program Language Type
DEMC COBDEMO Enterprise COBOL
DEC2 COB2DEMO COBOL II
DE37 C370DEMO COBOL/370
DEMV CMVSDEMO COBOL/MVS
DE39 C390DEMO COBOL/390
Use the compile procedures created during installation to compile a demo
program, populate the PROTSYM, and link the program.
When testing a program, CA InterTest automatically intercepts all abends. How
this works is illustrated later when CA InterTest prevents the demo program
from abending because of an ASRA.
Import CA InterTest Server Settings
Chapter 3: Basic COBOL CICS Demo Session 41
Import CA InterTest Server Settings
Before you start a debugging session you must connect to a CA InterTest server.
The GUI component runs on Windows and the debugging session runs on z/OS.
This server provides the communication between the user interface and the
mainframe platform. CA InterTest also communicates directly with the CICS
region during a debug session. If your CA InterTest was installed properly it
should begin with a properly configured set of servers for your site. For more
information, see the CA InterTest for CICS Installation Guide.
To import CA InterTest server settings
1. Start CA InterTest.
The CA InterTest main window opens.
2. Click File, Import.
The Import dialog opens.
Import CA InterTest Server Settings
42 Graphical User Interface Primer
3. Click Next.
The Import Server Settings dialog opens.
4. Type or browse for the file path (provided by the CA InterTest administrator)
to the file containing the server settings.
5. Click Finish.
You have now loaded a definition of your site's CA InterTest servers.
Check the Server Status
Chapter 3: Basic COBOL CICS Demo Session 43
Check the Server Status
It is a good idea to make sure that the server you are connected to is running.
To check the server status
1. Click Window, Show Views, Servers, on the CA InterTest main window
toolbar if the Servers view is not already visible.
The Servers view opens, displaying the name of the server and its status, as
shown in the following illustration:
The server will have one of the following statuses:
Available
The server is connected to a CICS region/mainframe and is running.
Not Available
The server failed to connect and is not running. The reason for the failure
is denoted next to its status.
Create a CICS Project
44 Graphical User Interface Primer
2. If the Status column is blank, click the Refresh Server button on the
Servers view toolbar.
The system may take several seconds to respond.
3. If the status remains blank or Not Available, contact your CA InterTest
administrator.
Create a CICS Project
After you are connected to a CA InterTest server and a CICS server, you must
create a CICS project in which to debug your program.
To create a CICS project
1. Click the Create CICS Project button on the CA InterTest main window
toolbar.
The New CICS Project dialog opens.
2. Enter Basic CICS Demo in the Project Name field.
3. Check the Use default location box if it is not already checked.
4. Select Basic Demo from the InterTest Server drop-down list.
5. Select Basic CICS Demo from the CICS Region drop-down list.
Note: Do not check the Import files once project is created box.
Configure Debug Settings
Chapter 3: Basic COBOL CICS Demo Session 45
6. Click Finish.
The InterTest Debug view displays your project name (Basic CICS Demo),
project type (CICS), the server name (Basic CICS Demo), the status
indicator (Debugging Inactive), and two empty folders: Monitored
(Programs), and Unmonitored (Programs), as shown in the following
illustration:
Configure Debug Settings
You must now set the debug settings for your CICS project to ensure that the
server and region are correct.
To configure debug settings
1. Right-click the project name (Basic CICS Demo) on the InterTest Debug
view, and select Configure Session Debug Settings.
Configure Debug Settings
46 Graphical User Interface Primer
The InterTest Debug Settings dialog opens.
2. Ensure that the following fields are completed:
InterTest Server
Displays the InterTest server name (Basic Demo).
CICS Region
Displays the CICS region name (Basic CICS Demo).
3. Click Finish.
The debug settings are configured.
More information:
Before You Begin (see page 36)
Select the Source Program to Monitor
Chapter 3: Basic COBOL CICS Demo Session 47
Select the Source Program to Monitor
Now you are ready to look at the programs and instruct CA InterTest to monitor
the program. As part of monitoring a CICS program, CA InterTest automatically
prevents all CICS abends during execution. How this works is shown later when
CA InterTest prevents your program from abending because of an ASRA.
To select the source program to monitor
1. Verify that the program to be debugged has been compiled and
post-processed into the PROTSYM files.
2. Click the InterTest Debug view so that it is the active view.
3. Click the project name (Basic CICS Demo) on the CA InterTest Debug view.
The project name is highlighted.
4. Click the Import PROTSYM Files button on the CA InterTest main
window toolbar.
The Import PROTSYM Files dialog opens.
Select the Source Program to Monitor
48 Graphical User Interface Primer
5. Enter the following information:
InterTest Server
Defines the CA InterTest server. Select Basic Demo.
PROTSYM Data Set
Defines the fully-qualified data set name of the CA InterTest PROTSYM
VSAM file.
Type CAI.PROTSYM, or substitute CAI.PROTSYM with the DSN
provided by your CA InterTest administrator.
If you receive an error about failure to retrieve a member list, check with
your CA InterTest administrator.
6. Click List Members.
The table is populated with the programs in the data set you chose.
Note: If you have not logged on to the mainframe, you may see a dialog
requesting you to log on to it.
7. Scroll down through the table until you reach C370DEMO, the program you
want to debug. Check the box next to C370DEMO to select the program.
Note: The file list may not contain the name of the demo program indicated
previously. This is because the CA InterTest administrator who installed CA
InterTest changed the name of the sample programs available to you. Check
with your CA InterTest administrator to find out the correct name.
Select the Source Program to Monitor
Chapter 3: Basic COBOL CICS Demo Session 49
8. If the Into folder box is empty, click the Browse button, and select the Basic
CICS Demo folder to import the program into.
The name Basic CICS Demo appears in the Into folder box.
9. Ensure that the two check boxes in the Options section are checked.
10. Click Finish.
The demo program displays in the InterTest Debug view in the Monitored
Programs folder.
11. Double-click the demo program on the InterTest Debug view.
The program listing displays in the Program Listing area, with an outline of
the program in the Outline view.
How to Use the Outline View
50 Graphical User Interface Primer
How to Use the Outline View
The Outline view displays an outline of the program that is currently active in the
Program Listing area and lists the structural elements. This makes it easier to
display any section of your COBOL program. The contents of the Outline view are
specific to the active program listing. The Outline view contains a top level node
for each action. For example, a COBOL program listing shows the four divisions
of the COBOL program in the Outline view when you first open or activate the
listing:
■ To expand the Procedure division, click the plus sign (+) next to the text.
Selecting a variable or label name repositions the program listing to the line
containing the name. If the location is collapsed, the area is automatically
expanded.
■ To expand all the program sections, click the plus sign (+) (Expand Tree) on
the Outline view toolbar.
■ To collapse the program sections, click the minus sign (-) (Collapse Tree) on
the Outline view toolbar.
We recommend that you expand and collapse the programs in the Outline view
to see how clicking a variable or label on the Outline view brings you immediately
to that location in the program listing.
View Monitoring Status
Chapter 3: Basic COBOL CICS Demo Session 51
View Monitoring Status
The InterTest Debug view lists the programs that are monitored. If you want to
see whether a program is monitored, perform the following steps.
To view monitoring status
1. Click the + sign to the left of the CICS project name on the InterTest Debug
view.
The tree expands and shows the debugging status, and monitored and
unmonitored folders.
2. Click the + sign next to the Monitored Programs folder.
The tree expands and shows the programs that are monitored.
Start Program Execution
Now you are ready to begin testing the demo program.
To start program execution
1. Go to your mainframe session, and sign on to CICS using your established
CICS sign on procedure. This is usually done through emulation software for
IBM3270 terminals.
Start Program Execution
52 Graphical User Interface Primer
2. Go back to the CA InterTest session, and click the project (Basic CICS Demo)
that contains the program (C370DEMO) you want to debug on the InterTest
Debug view. Click the program name (C370DEMO) under Monitored
Programs.
The green bug button is enabled on the CA InterTest Debug view toolbar.
3. Click the green bug button on the CA InterTest Debug view.
The InterTest Debug Settings dialog opens.
4. Ensure that the following fields are completed:
InterTest Server
Displays the InterTest server name (Basic Demo) you selected when
creating a CICS project.
CICS Region
Displays the CICS region name (Basic CICS Demo) you selected when
creating a CICS project.
5. Click Connect.
Start Program Execution
Chapter 3: Basic COBOL CICS Demo Session 53
6. The following dialog may display if you have not yet logged on to the
mainframe (TSO/CICS).
7. Type your password in the Password box, and click Finish.
CA InterTest notifies CA InterTest for CICS that your program is ready for
debugging.
8. Go to the mainframe CICS display (green screen), and type in the
transaction identifier of the demo program, DE37.
9. Press Enter.
The following Welcome screen displays.
Abend Occurs
54 Graphical User Interface Primer
10. Press Enter on this CICS mainframe screen.
The demo program begins execution. Your CICS session will indicate that it is
in xSystem state:
11. Return to the CA InterTest session to continue with your debugging session.
Notice that the InterTest Debug view now displays the debug status as
Debugging.
Abend Occurs
The demo program is executing and CA InterTest detects an error at the ADD
instruction. Execution of that ADD instruction triggers an ASRA abend, which CA
InterTest prevents.
Abend Occurs
Chapter 3: Basic COBOL CICS Demo Session 55
At the abend, the following events occur:
■ The InterTest Debug view now displays the CAIN3628 message in the Debug
status field.
■ The appropriate program listing causing the error is activated (if the
program was not displayed earlier).
■ The program positions itself at the statement causing the error.
When CA InterTest stops program execution, we say that it halts the
program at a breakpoint. This is done automatically when an abend occurs,
or CA InterTest halts a program at a breakpoint that was set by you.
Determine the Cause of the Error
56 Graphical User Interface Primer
When an abend occurs:
■ A small blue arrow appears in the ruler to the left of the line causing the
error, and the line is highlighted.
■ A diagnostic message describes the error.
This message explains that the error was caused by improperly formatted
data. Since Add +1 To TaskNum triggered the breakpoint, it is likely that
TASKNUM contains improperly formatted data.
Determine the Cause of the Error
CA InterTest displays the current value of TASKNUM in the Auto Data view, as
shown in the following illustration:
When the Auto Data view is open, CA InterTest automatically displays the values
of the variables associated with a statement. (The Watch Data view displays the
value of data items that you want to watch.) In this case, TASKNUM has been
displayed in the Auto Data view. The left column shows the name of the data
item. In the columns to the right are the field's display value, hex value, and data
type in the appropriate display format.
Now take a look at the contents of TASKNUM. Confirm that the value stored in
TASKNUM is not a valid packed decimal value by examining its current value in
the Auto Data view; that is, its value prior to the execution of the ADD statement
that triggered the ASRA. Instead, it contains low-values (binary zeros). COBOL
does not allow you to add a value to a field initialized with low values.
Change the Value in TASKNUM
Chapter 3: Basic COBOL CICS Demo Session 57
Change the Value in TASKNUM
You have identified and confirmed the cause of the problem. Now you want to fix
it.
To change the value in TASKNUM
1. Right-click the variable TASKNUM in the Auto Data view. Click Change Value.
The Data View Value dialog opens.
2. Select the Display value button.
3. Change the value of TASKNUM displayed in the box to a numeric zero (type
a numeric zero).
Note: You do not have to know the type of data (binary, packed, and so on)
or the length of TASKNUM. You can change the contents of a field by
overtyping the desired bytes.
4. Click OK.
TASKNUM now contains a packed decimal zero.
What You Can Do When Your Program is Stopped
58 Graphical User Interface Primer
What You Can Do When Your Program is Stopped
Once a program is stopped, you can use the CA InterTest testing and debugging
facilities to do the following tasks:
■ Examine the source listing.
■ Examine and modify main and auxiliary storage (memory) to detect and
correct errors.
■ Set and remove breakpoints.
■ Examine a program's statement trace.
■ Keep data items in a watch view to observe changes in their values.
■ Abend your task with or without a dump.
■ Go around a problem by resuming program execution from a location other
than the one at which the program is currently stopped.
■ Execute the program in single-step mode; that is, the program executes one
verb and then stops.
When debugging your own programs, you will typically perform one or more of
these activities.
Breakpoints
Now that the value in TASKNUM has been properly initialized, the next step
might be to continue testing by resuming program execution. However, this is a
good opportunity to learn about another important CA InterTest feature: the
ability to control program execution by setting breakpoints. A breakpoint is an
intentional stopping or pausing place in a program, put in place for debugging
purposes.
When you open or activate a program listing in the Program Listing area, the
breakpoints added to that program appear as blue circles . When the mouse
hovers over a blue circle, the following details of a breakpoint are displayed:
■ Breakpoint type
■ Program name
■ Statement number (in square brackets)
■ Source code text
Breakpoints
Chapter 3: Basic COBOL CICS Demo Session 59
The following illustration displays the information when the mouse hovers over a
blue circle:
In this example, execution stops just before the statement Add +1 to TaskNum
is executed. A blue arrow points to that statement.
Types of Breakpoints
There are six types of breakpoints, as shown in the following table:
Breakpoint Type Function
Automatic The program stops because CA InterTest detected and
prevented an error.
Conditional The program stops at the location you specify if a
condition is met. Optionally, conditional breakpoints can
be set to stop at any instruction if a condition is met.
Request The program stops at every CICS command or macro, at
certain CICS commands or macros, or at calls to PL/I,
DB2, or software.
Single-step The program stops after executing one or more verbs.
Breakpoints
60 Graphical User Interface Primer
Breakpoint Type Function
Unconditional The program stops at the location you specify, just before
the statement is executed.
Variable Change The program stops at any location if the value of a
specified variable has changed. This is a special type of
conditional breakpoint.
An automatic breakpoint occurs when CA InterTest detects an error. When a
program is stopped at an automatic breakpoint, you can either correct the error
or go around it. You set all other breakpoints.
In this section you will learn how to set and remove unconditional breakpoints,
because you will use these the most.
When to Use Breakpoints
You can set breakpoints at any time—before you execute the program and when
the program is stopped. Although where you decide to set breakpoints depends
on the specifics of your program, you might want to set breakpoints in the
following places:
■ At the beginning of the Procedure Division, so when the program executes
you can set additional breakpoints
■ At paragraph names, so you can examine the contents of variables at the
start of sections
■ Before a call, so you can dynamically control the program path
■ At each location named in an EXEC CICS HANDLE CONDITION, so you can
verify error handling
Set Unconditional Breakpoints
At an unconditional breakpoint the program stops at the location you specify,
just before the statement is executed. Let us see how to set a breakpoint at the
following IF statement. You set unconditional breakpoints directly on the
Program Listing area.
To set unconditional breakpoints
1. Click the demo COBOL program listing on the Program Listing area, so its
name is highlighted in its tab.
2. Press <Ctrl> + F on your keyboard.
The Find/Replace dialog opens.
Breakpoints
Chapter 3: Basic COBOL CICS Demo Session 61
3. Type If Tasknum Greater 2 in the Find box, and click Find.
The demo program positions itself so that the line you searched for appears
in the program listing.
4. Right-click the ruler to the left of the line you have selected (statement 484),
and select Add Breakpoint.
Breakpoints
62 Graphical User Interface Primer
A blue circle appears to the left of the ruler, and a blue mark appears in the
right-side vertical ruler. By default, the Add Breakpoint dialog adds an
unconditional breakpoint if the listing line is within the Procedure Division,
and a variable change breakpoint if the line is within the Data Division.
Note: You cannot add a breakpoint in a comment line or outside the source
code section.
Breakpoints
Chapter 3: Basic COBOL CICS Demo Session 63
Change Breakpoints
You may want to change an unconditional breakpoint to a conditional breakpoint
or a variable change breakpoint.
To change breakpoints
1. Right-click the blue circle to the left of the line (statement 484) where you
have set an unconditional breakpoint, or double-click the breakpoint in the
Breakpoints view, and select Configure Breakpoint in the dialog.
The Update Line Breakpoint dialog opens.
2. Click the Conditional breakpoint type button.
The other fields become active.
3. Click the Variable List button, and type TASKNUM in the box.
Breakpoints
64 Graphical User Interface Primer
4. Click the Literals button, and change C'data' to x'00003c'.
The following illustration displays the finished dialog.
5. Click Finish.
The dialog closes and the breakpoint displays in the Breakpoints view as a
conditional breakpoint.
6. Repeat steps 1 through 5, and make statements 480 and 482 unconditional
breakpoints.
7. Change the breakpoint at statement 484 back to an unconditional
breakpoint.
Breakpoints
Chapter 3: Basic COBOL CICS Demo Session 65
How to Remove Breakpoints
As you continue testing and debugging it is good practice to delete breakpoints
you no longer need, so that the program will not stop unnecessarily.
It is easier to delete individual or multiple breakpoints from the Breakpoints view
when you have a number set throughout a large program and you do not want to
search through the source listing for them.
You can delete breakpoints in the following ways. Do not delete the unconditional
breakpoint set at statement 484.
■ Hover the mouse on the vertical ruler to the left of the statement whose
breakpoint you want to delete, right-click, and select Delete Breakpoint. The
blue circle disappears, and there is no longer a breakpoint at this line.
Breakpoints
66 Graphical User Interface Primer
■ Select the breakpoint from the list of breakpoints in the Breakpoints view,
right-click, and select Delete Breakpoint. You can also use the <Del>
(Delete) key. Do not delete the unconditional breakpoint set at statement
484.
■ To delete several breakpoints at one time:
1. Click the first breakpoint on the Breakpoints view, hold down the Shift
key, then click the last breakpoint you want to delete.
The breakpoints you select are highlighted.
2. Right-click and select Delete Breakpoint.
The breakpoints you select are deleted from the Breakpoints view and
the program listing.
Delete Breakpoints
You have learnt different ways of deleting breakpoints. Now you are ready to
delete breakpoints from your program.
Using any of the ways described in the previous topic, delete the breakpoints at
statements 480 and 482.
The blue circle disappears next to the statements.
Note: Do not delete the breakpoint at statement 484.
Bookmarks
Chapter 3: Basic COBOL CICS Demo Session 67
Bookmarks
Bookmarks help you to navigate quickly in the source code by marking individual
locations. You can add and delete bookmarks as needed.
The Bookmarks view displays all bookmarks placed on a specific line of the
program listing. The bookmarks appear in a table format that provides a
description of each bookmark, the name of the program where the bookmarks
are located, folder (path), and line number (location) in the Program Listing
area.
The following illustration displays a sample Bookmarks view, showing three
bookmarks in the C370DEMO program:
Note: This view is not displayed unless you open the view by selecting Window,
Show Views, Bookmarks on the CA InterTest main menu.
Add Bookmarks
You can add bookmarks to your program to help you navigate quickly through
the program.
To add a bookmark
1. Double-click the demo program on the InterTest Debug view.
The program listing displays in the Program Listing area.
2. Select the statement where you want to insert the bookmark.
The listing is positioned at the line which includes the selected item.
Bookmarks
68 Graphical User Interface Primer
3. Right-click the shaded vertical ruler on the left side of the listing view, and
select Add Bookmark.
The Add Bookmark dialog opens, with the contents of the listing statement
displayed in the Enter Bookmark Name field.
4. Edit the name (description) for the bookmark, if required, and click OK.
A new bookmark is set at the selected statement. This is indicated by a small
rectangle appearing next to the scroll bar. The Bookmarks view displays
the details of the new bookmark.
In the Bookmarks view, after you add a bookmark, you can double-click the
bookmark to open the program listing, if not already opened. The listing is
positioned at the statement specified in the bookmark and highlights the
statement.
Bookmarks
Chapter 3: Basic COBOL CICS Demo Session 69
How to Remove Bookmarks
Once you have created and used bookmarks, it is a good idea to delete them, so
you do not clutter up your program or the Bookmarks view.
Select the line of code that contains a bookmark, and perform one of the
following steps:
■ From the program listing left-hand ruler:
Right-click your mouse, and select Remove Bookmark from the pop-up
menu.
■ From the Bookmarks view:
Highlight the bookmark and click the Delete button on the Bookmarks
view toolbar, or use the <Del> (Delete) key.
The bookmark is removed from the Bookmarks view and the program.
Resume Program Execution
70 Graphical User Interface Primer
Resume Program Execution
You have found a bug in your program, and resolved it. You have added
breakpoints and removed them. You have added and deleted bookmarks. Now
you want to continue running your program.
To resume program execution
1. Click the Step Once button on the InterTest Debug view toolbar to
continue testing by resuming program execution.
Program execution stops at statement 480, the next statement.
Note: The debug status in the InterTest Debug view indicates that the
program is at a single-step breakpoint and that the value of TASKNUM is now
+1 (Auto Data view) because the ADD +1 TO TASKNUM statement executed
successfully.
2. Click the Resume Debugging button on the InterTest Debug view
toolbar.
The program halts on statement 484, the unconditional breakpoint you
previously set.
Resume Program Execution
Chapter 3: Basic COBOL CICS Demo Session 71
3. Click the Resume Debugging button again.
The mainframe CICS displays the following screen:
********************************************************************** ***** ***** ***** CA InterTest Demo Session ***** ***** ***** ********************************************************************** You have now successfully corrected the ASRA problem. Press ENTER to continue the Demo Session.
4. Press Enter on the CICS screen.
CICS is in xSystem state again. CA InterTest is at an unconditional
breakpoint on statement 484 again. The Auto Data view displays the new
TASKNUM value of +2:
The status in the InterTest Debug view changes to Unconditional Breakpoint:
Resume Program Execution
72 Graphical User Interface Primer
5. Click the Resume Debugging button again.
The following CICS screen displays:
********************************************************************** **** **** **** CA-InterTest Demo Session **** **** **** ********************************************************************** You have completed the sample CA-InterTest test session. As part of this session, you: * displayed program source code and compiler output online * displayed and modified main storage * controlled program execution This is just a fraction of CA-InterTest's capabilities. You can also: * display or modify any CICS file, or DL/1, DB2, or SQL/DS database * set and remove many kinds of monitoring options Press ENTER or CLEAR to complete the termination.
CICS is in xSystem state again. CA InterTest is again at an unconditional
breakpoint on statement 484. TASKNUM is now +3.
6. Click the Resume Debugging button one more time.
This time TaskNum Greater 2 is true and the program goes to
Send-End-Msg to exit.
The mainframe CICS screen displays the following screen:
********************************************************************** ***** ***** ***** CA InterTest Demo Session ***** ***** ***** ********************************************************************** END DEMO SESSION
7. Press Clear or Enter on the mainframe CICS screen to complete this part of
the sample test session.
Terminate Debug Session
Chapter 3: Basic COBOL CICS Demo Session 73
Terminate Debug Session
The program has finished execution, and you want to terminate the debug
session.
To terminate the debug session
1. Select the InterTest Debug view and click the Cancel Debug Session button
on the toolbar.
The following dialog opens:
2. Click the Disconnect and Remove Breakpoints button, then click Finish to
terminate the connection with the CICS server.
The debugging status now shows Debugging Inactive in the InterTest Debug
view.
What You Have Learned
74 Graphical User Interface Primer
What You Have Learned
This demo session has taught you the basics of using the CA InterTest GUI to test
a program. Following is a summary of what you have learned:
1. Importing the CA InterTest server settings.
2. Checking the server status.
3. Creating a CICS project.
4. Configuring the debug settings.
5. Selecting the program to monitor.
6. Responding to the information provided when a program error is detected.
7. Examining the value of a data item.
8. Changing dynamically the value of a data item.
9. Setting breakpoints to halt the program at another statement.
10. Setting bookmarks.
11. Resuming program execution.
12. Cleaning up by removing the breakpoint you set.
13. Terminating the debug session.
Chapter 4: Basic PL/I CICS Demo Session 75
Chapter 4: Basic PL/I CICS Demo Session
This demo session takes you step-by-step through the basic CA InterTest for
CICS PL/I demo session. It illustrates many of the testing and debugging tasks
you will use on your own programs.
For more information on any topic discussed here, see the InterTest for CICS
User Guide.
This section contains the following topics:
Before You Begin (see page 76)
Synchronized Processing (see page 77)
How to Run the CICS Demo Session (see page 78)
Demo Source (see page 79)
Import CA InterTest Server Settings (see page 80)
Check the Server Status (see page 82)
Create a CICS Project (see page 83)
Configure Debug Settings (see page 84)
Select the Source Program to Monitor (see page 86)
How to Use the Outline View (see page 89)
View Monitoring Status (see page 91)
Start Program Execution (see page 91)
Abend Occurs (see page 95)
Determine the Cause of the Error (see page 97)
Change the Value in TASKNUM (see page 97)
Breakpoints (see page 98)
What You Can Do When Your Program is Stopped (see page 105)
Bookmarks (see page 105)
How to Delete Breakpoints (see page 107)
Resume Program Execution (see page 110)
Terminate Debug Session (see page 113)
What You Have Learned (see page 114)
Before You Begin
76 Graphical User Interface Primer
Before You Begin
The examples in this guide use default CA InterTest library names, which differ
from installation to installation.
Because the guide cannot anticipate differences at your installation, you must
know certain information specific to your CA InterTest installation before
attempting the tutorial sessions in this guide. The following list identifies
information you must know before you can attempt the demo session:
From your IBM installation
■ User ID
■ z/OS host name
■ Path to the file containing CA InterTest server settings to be imported. If
your CA InterTest was installed properly it should begin with a properly
configured set of servers for your site. For more information, see the CA
InterTest for CICS Installation Guide.
■ CA InterTest PROTSYM data set names
From CA InterTest for CICS
■ CICS host name
■ Path to the file containing CA InterTest server and CICS server settings to be
imported. If your CA InterTest was installed properly it should begin with a
properly configured set of servers for your site.
■ CA InterTest PROTSYM data set names
Synchronized Processing
Chapter 4: Basic PL/I CICS Demo Session 77
Synchronized Processing
Before you begin testing you should be aware that when CA InterTest for CICS
searches the symbolic files for the programs that you specify to be monitored for
testing, it tries to match a symbolic file with the same date and time as that of
the load module. If a match cannot be found, a dialog opens, as shown in the
following example.
Select the version you want the mainframe debugger to use and click Use, or, if
you do not want to monitor the file after all, select Do Not Monitor. Based on your
decision, the local version will be updated to match your choice.
This CA InterTest for CICS feature lets you maintain synchronized processing at
all times by letting you select the correct symbolic version of the program that
you want to test.
Note: For a complete description of this feature, see the CA InterTest for CICS
User Guide.
How to Run the CICS Demo Session
78 Graphical User Interface Primer
Symbolic Version Processing
When you request a program that has no previously declared breakpoints or
monitoring options set, CA InterTest matches the post processed symbolic file
with the most recent compile date/time to the load module date/time.
■ If an exact match is found, CA InterTest automatically selects and displays
the program listing.
■ If no match is found, CA InterTest displays the symbolic version list from
which you can do the following:
– Select the appropriate symbolic file
– Ignore symbolic processing for the program
The dialog also explains the cause of the mismatch.
During automatic breakpoint processing, if a program has no previously selected
symbolic file, CA InterTest matches the load module's date/time to a symbolic
file.
■ If an exact match is found, CA InterTest automatically selects and displays
the program.
■ If no match is found, CA InterTest automatically selects the first symbolic file
that contains the program and displays it with a warning message on the first
Source Listing Breakpoint screen indicating the mismatch.
Note: Once you select a symbolic file for a program, CA InterTest continues to
use the selected file and bypasses subsequent date/time matching until all
declared breakpoints and monitoring options are removed for the program.
How to Run the CICS Demo Session
The CA InterTest for CICS basic demo session takes you through the following
scenario:
1. Import CA InterTest for CICS server settings. You may need to do this step
the first time you start the GUI component or whenever your CA InterTest
administrator updates any of the server settings. If your CA InterTest was
installed properly it should begin with a properly configured set of servers for
your site. For more information, see the CA InterTest for CICS Installation
Guide.
2. Connect to a CA InterTest for CICS server.
3. Connect to a CICS region.
4. Check the server status.
5. Create a CICS project.
6. Configure the debug settings.
Demo Source
Chapter 4: Basic PL/I CICS Demo Session 79
7. Select the program to debug.
You will be using the demo program PL1DEMO. This program uses mixed
case in the display of source code and maps on the screen. If you want to use
a program that displays in UPPERCASE only, substitute the letters UEMO
instead of DEMO as the last four characters of the program name (for
example, PLIUEMO instead of PL1DEMO).
8. Respond to the information provided when a program error is detected.
CA InterTest intercepts and prevents an ASRA abend. It halts the demo
program at an assignment statement that caused the ASRA and displays a
diagnostic message informing you that the problem was caused by
improperly formatted data.
9. Examine the value of a data item.
Examine the current value of TASKNUM. The receiving field in the
assignment statement is causing the problem. You find that TASKNUM does
not contain a valid packed decimal number.
10. Change dynamically the value of a data item.
Modify the value of TASKNUM to correct the error.
11. Set a breakpoint to halt the program at another statement.
This step is purely instructional; it has nothing to do with correcting the
ASRA abend.
12. Resume program execution.
CA InterTest halts the program at the breakpoint you set in the previous
statement. You see that the value of TASKNUM changed when the ADD
statement is executed.
13. Clean up by removing the breakpoint you set.
14. Add and remove a bookmark.
This step is again purely instructional.
15. Resuming program execution and the demo program runs to completion
Demo Source
The source program for this demo is PL1DEMO.
This program uses mixed case in the display of source code and maps on the
screen. If you need or want to use a program that displays in UPPERCASE only,
substitute the letters UEMO instead of DEMO as the last four characters of the
program name. That is, select PL1UEMO instead of PL1DEMO.
Import CA InterTest Server Settings
80 Graphical User Interface Primer
Import CA InterTest Server Settings
Before you start a debugging session you must connect to a CA InterTest server.
The GUI component runs on Windows and the debugging session runs on z/OS.
This server provides the communication between the user interface and the
mainframe platform. CA InterTest also communicates directly with the CICS
region during a debug session. If your CA InterTest was installed properly it
should begin with a properly configured set of servers for your site. For more
information, see the CA InterTest for CICS Installation Guide.
To import CA InterTest server settings
1. Start CA InterTest.
The CA InterTest main window opens.
2. Click File, Import.
The Import dialog opens.
Import CA InterTest Server Settings
Chapter 4: Basic PL/I CICS Demo Session 81
3. Click Next.
The Import Server Settings dialog opens.
4. Type or browse for the file path (provided by the CA InterTest administrator)
to the file containing the server settings.
5. Click Finish.
You have now loaded a definition of your site's CA InterTest servers.
Check the Server Status
82 Graphical User Interface Primer
Check the Server Status
It is a good idea to make sure that the server you are connected to is running.
To check the server status
1. Click Window, Show Views, Servers, on the CA InterTest main window
toolbar if the Servers view is not already visible.
The Servers view opens, displaying the name of the server and its status, as
shown in the following illustration:
The server will have one of the following statuses:
Available
The server is connected to a CICS region/mainframe and is running.
Not Available
The server failed to connect and is not running. The reason for the failure
is denoted next to its status.
Create a CICS Project
Chapter 4: Basic PL/I CICS Demo Session 83
2. If the Status column is blank, click the Refresh Server button on the
Servers view toolbar.
The system may take several seconds to respond.
3. If the status remains blank or Not Available, contact your CA InterTest
administrator.
Create a CICS Project
After you are connected to a CA InterTest server and a CICS server, you must
create a CICS project in which to debug your program.
To create a CICS project
1. Click the Create CICS Project button on the CA InterTest main window
toolbar.
The New CICS Project dialog opens.
2. Type Basic CICS Demo in the Project Name field.
3. Check the Use default location box if it is not already checked.
4. Select Basic Demo from the InterTest Server drop-down list.
5. Select Basic CICS Demo from the CICS Region drop-down list.
Configure Debug Settings
84 Graphical User Interface Primer
6. Click Finish.
The InterTest Debug view displays your project name (Basic CICS Demo),
the project type (CICS), the server name (Basic CICS Demo), a status
indicator (Debugging Inactive), and two empty folders: Monitored
(Programs), and Unmonitored (Programs), as shown in the following
illustration:
Configure Debug Settings
You must now set the debug settings for your CICS project to ensure that the
server and region are correct.
To configure debug settings
1. Right-click the project name (Basic CICS Demo) on the InterTest Debug
view, and select Configure Session Debug Settings.
Configure Debug Settings
Chapter 4: Basic PL/I CICS Demo Session 85
The InterTest Debug Settings dialog opens.
2. Ensure that the following fields are completed:
InterTest Server
Displays the InterTest server name (Basic Demo).
CICS Region
Displays the CICS region name (Basic CICS Demo).
3. Click Finish.
The debug settings are configured.
More information:
Before You Begin (see page 36)
Select the Source Program to Monitor
86 Graphical User Interface Primer
Select the Source Program to Monitor
Now you are ready to look at the programs and instruct CA InterTest to monitor
the program. As part of monitoring a CICS program, CA InterTest automatically
prevents all CICS abends during execution. How this works is shown later when
CA InterTest prevents your program from abending because of an ASRA.
To select the source program to monitor
1. Verify that the program to be debugged (PL1DEMO) has been compiled and
post-processed into the PROTSYM files.
2. Click the InterTest Debug view so that it is the active view.
3. Click the project name (Basic CICS Demo) on the CA InterTest Debug view.
The project name is highlighted.
4. Click the Import PROTSYM Files button on the CA InterTest main window
toolbar.
The Import PROTSYM Files dialog opens.
5. Enter the following information:
InterTest Server
Defines the CA InterTest server. Select Basic Demo.
Select the Source Program to Monitor
Chapter 4: Basic PL/I CICS Demo Session 87
PROTSYM Data Set
Defines the fully-qualified data set name of the CA InterTest PROTSYM
VSAM file.
Type CAI.PROTSYM, or substitute CAI.PROTSYM with the DSN
provided by your CA InterTest administrator.
If you receive an error about failure to retrieve a member list, check with
your CA InterTest administrator.
6. Click List Members.
The table is populated with the programs in the data set you chose.
Note: You may be prompted to log on to your mainframe TSO here, if you
have not already done so through CA InterTest.
7. Scroll down through the table until you reach PL1DEMO, the program you
want to debug. Check the box next to PL1DEMO to select the program.
Note: The file list may not contain the name of the demo program indicated
previously. This is because the CA InterTest administrator who installed CA
InterTest changed the name of the sample programs available to you. Check
with your CA InterTest administrator to find out the correct name.
Select the Source Program to Monitor
88 Graphical User Interface Primer
8. If the Into folder box is empty, click the Browse button, and select the Basic
CICS Demo folder to import the program into.
The name Basic CICS Demo appears in the Into folder box.
9. Ensure that the two check boxes in the Options section are checked.
10. Click Finish.
The demo program displays in the InterTest Debug view in the Monitored
Programs folder.
11. Double-click the demo program on the InterTest Debug view.
The compiled program listing displays in the Program Listing area, with an
outline of the program in the Outline view.
How to Use the Outline View
Chapter 4: Basic PL/I CICS Demo Session 89
How to Use the Outline View
The Outline view displays an outline of the program that is currently active in the
Program Listing area and lists the structural elements. This makes it easier to
display any section of your PL/I program. The contents of the Outline view are
specific to the active program listing. The Outline view contains a top level node
for each action. For example, a PL/I program listing shows variables and
procedures names. The following example shows the Outline view and the
program listing of PL1DEMO:
■ To expand the tree on the Outline view, click the plus sign (+) next to the
text. Selecting a variable or label name repositions the program listing to the
line containing the name. If the location is collapsed, the area is
automatically expanded.
How to Use the Outline View
90 Graphical User Interface Primer
■ To expand all the program sections, click the plus sign (+) (Expand Tree) on
the Outline view toolbar.
■ To collapse the program sections, click the minus sign (-) (Collapse Tree) on
the Outline view toolbar.
We recommend that you expand and collapse the programs on the Outline view
to see how clicking a variable or label on the Outline view brings you immediately
to that location in the program listing.
View Monitoring Status
Chapter 4: Basic PL/I CICS Demo Session 91
View Monitoring Status
The InterTest Debug view lists the programs that are monitored. If you want to
see whether a program is monitored, perform the following steps.
To view monitoring status
1. Click the + sign to the left of the CICS project name on the InterTest Debug
view.
The tree expands and shows monitored and unmonitored folders.
2. Click the + sign next to the Monitored Programs folder.
The tree expands and shows the programs that are monitored.
Start Program Execution
Now you are ready to begin testing the demo program.
To start program execution
1. Got to your mainframe session, and sign on to CICS using your established
CICS sign on procedure. This is usually done through emulation software for
IBM3270 terminals.
Start Program Execution
92 Graphical User Interface Primer
2. Go back to the CA InterTest session and click the project (Basic CICS Demo)
that contains the program (PL1DEMO) you want to debug on the InterTest
Debug view. Click the program name (PL1DEMO) under Monitored
Programs.
The green bug button is enabled on the CA InterTest Debug view toolbar.
3. Click the green bug button on the CA InterTest Debug view.
The InterTest Debug Settings dialog opens.
4. Ensure that the following fields are completed:
InterTest Server
Displays the InterTest server name (Basic Demo) you selected when
creating a CICS project.
CICS Region
Displays the CICS region name (Basic CICS Demo) you selected when
creating a CICS project.
5. Click Connect.
Start Program Execution
Chapter 4: Basic PL/I CICS Demo Session 93
6. The following dialog may display if you have not yet logged on to mainframe
(TSO and/or CICS).
7. Type your password in the Password box, and click Finish.
CA InterTest notifies CA InterTest CICS that your program is ready for
debugging.
8. Go to the mainframe CICS display (green screen), and type in the
transaction identifier of the demo program, DEMP.
9. Press Enter.
The following Welcome screen displays.
****************************************************************************** ****************************************************************************** ***** ***** ***** Welcome to the ***** ***** CA-InterTest Demo Session ***** ***** ***** ***** ***** ***** Before proceeding, please have on hand the ***** ***** guide which accompanies the Demo Session. ***** ***** ***** ***** ***** ***** Please make sure that the program PLIDEMO is monitored by ***** ***** CA-InterTest. This program will abend if it is not monitored. ***** ***** ***** ***** To turn the monitor on, press CLEAR and follow the steps ***** ***** outlined in the documentation. ***** ***** ***** ***** If the monitor is already on, press ENTER to begin the ***** ***** Basic Demo Session or PF2 to go to the Options Menu. ***** ***** ***** ****************************************************************************** ******************************************************************************
Start Program Execution
94 Graphical User Interface Primer
10. Press Enter on this CICS mainframe screen.
The demo program begins execution. Your CICS session will indicate that it is
in xSystem state:
11. Return to the CA InterTest session to continue with your debugging session.
Notice that the InterTest Debug view now displays the debug status as
Debugging:
Abend Occurs
Chapter 4: Basic PL/I CICS Demo Session 95
Abend Occurs
The demo program is executing and CA InterTest detects an error at the ADD
instruction. Execution of that ADD instruction triggers an ASRA abend, which CA
InterTest prevents.
At the abend, the following events occur:
■ The InterTest Debug view now displays the CAIN3628 message in the Debug
status field.
■ The appropriate program listing causing the error is activated (if the
program was not displayed earlier).
Abend Occurs
96 Graphical User Interface Primer
■ The program positions itself at the statement causing the error.
When CA InterTest stops program execution, we say that it halts the
program at a breakpoint. This is done automatically when an abend occurs,
or CA InterTest halts a program at a breakpoint that was set by you.
When an abend occurs:
■ A small blue arrow appears in the ruler to the left of the line causing the
error, and the line is highlighted.
■ A diagnostic message describes the error.
This message explains that the error was caused by improperly formatted
data. Since TASKNUM = TASKNUM + 1 triggered the breakpoint, it is likely
that TASKNUM contains improperly formatted data.
Determine the Cause of the Error
Chapter 4: Basic PL/I CICS Demo Session 97
Determine the Cause of the Error
CA InterTest displays the current value of TASKNUM in the Auto Data view, as
shown in the following illustration:
When the Auto Data view is open, CA InterTest automatically displays the values
of the variables associated with a statement. (The Watch Data view displays the
value of data items that you want to watch.) In this case, TASKNUM has been
displayed in the Auto Data view. The left column shows the name of the data
item. In the columns to the right are the field's display value, hex value, and data
type in the appropriate display format.
Now take a look at the contents of TASKNUM. Confirm that the value stored in
TASKNUM is not a valid packed decimal value by examining its current value in
the Auto Data view; that is, its value prior to the execution of the ADD statement
that triggered the ASRA. Instead, it contains low-values (binary zeros). PL/I does
not allow you to assign a value to a field without initializing it.
Change the Value in TASKNUM
You have identified and confirmed the cause of the problem. Now you want to fix
it.
To change the value in TASKNUM
1. Right-click the variable TASKNUM in the Auto Data view. Click Change Value.
The Data View Value dialog opens.
2. Select the Display value button.
Breakpoints
98 Graphical User Interface Primer
3. Change the value of TASKNUM displayed in the box to a numeric zero (type
a numeric zero).
Note: You do not have to know the type of data (binary, packed, and so on)
or the length of TASKNUM. You can change the contents of a field by
overtyping the desired bytes.
4. Click OK.
TASKNUM now contains a packed decimal zero.
Breakpoints
Now that the value in TASKNUM has been properly initialized, the next step
might be to continue testing by resuming program execution. However, this is a
good opportunity to learn about another important CA InterTest feature: the
ability to control program execution by setting breakpoints. A breakpoint is an
intentional stopping or pausing place in a program, put in place for debugging
purposes.
When you open or activate a program listing in the Program Listing area, the
breakpoints added to that program appear as blue circles . When the mouse
hovers over a blue circle, the following details of a breakpoint are displayed:
■ Breakpoint type
■ Program name
■ Statement number (in square brackets)
■ Source code text
Breakpoints
Chapter 4: Basic PL/I CICS Demo Session 99
The following illustration displays the information when the mouse hovers over a
blue circle:
In this example, execution stops just before the statement TASKNUM =
TASKNUM + 1.
Types of Breakpoints
There are six types of breakpoints, as shown in the following table:
Breakpoint Type Function
Automatic The program stops because CA InterTest detected and
prevented an error.
Conditional The program stops at the location you specify if a
condition is met. Optionally, conditional breakpoints can
be set to stop at any instruction if a condition is met.
Request The program stops at every CICS command or macro, at
certain CICS commands or macros, or at calls to PL/I,
DB2, or software.
Single-step The program stops after executing one or more verbs.
Unconditional The program stops at the location you specify, just before
the statement is executed.
Breakpoints
100 Graphical User Interface Primer
Breakpoint Type Function
Variable Change The program stops at any location if the value of a
specified variable has changed. This is a special type of
conditional breakpoint.
An automatic breakpoint occurs when CA InterTest detects an error. When a
program is stopped at an automatic breakpoint, you can either correct the error
or go around it. You set all other breakpoints.
In this section you will learn how to set and remove unconditional breakpoints,
because you will use these the most.
When to Use Breakpoints
You can set breakpoints at any time—before you execute the program and when
the program is stopped. Although where you decide to set breakpoints depends
on the specifics of your program, you might want to set breakpoints in the
following places:
■ At the beginning of a procedure, so when the program executes you can set
additional breakpoints
■ At label names, so you can examine the contents of variables at the start of
sections
■ Before a call or DBCALL, so you can dynamically control the program path
■ At the point where a program exits using AT ALL EXIT or AT EXIT
Set Unconditional Breakpoints
At an unconditional breakpoint the program stops at the location you specify,
before the statement is executed. Let us see how to set a breakpoint at the
following IF statement. You set unconditional breakpoints directly on the
Program Listing area.
To set unconditional breakpoints
1. Click the demo PL/I program listing on the Program Listing area, so its name
is highlighted in its tab.
2. Press Ctrl F on your keyboard.
The Find/Replace dialog opens.
Breakpoints
Chapter 4: Basic PL/I CICS Demo Session 101
3. Type TASKNUM = 1 in the Find box, and click Find.
The demo program positions itself so that the line you searched for appears
in the program listing and the search text is highlighted.
Breakpoints
102 Graphical User Interface Primer
4. Right-click the ruler to the left of the line (statement 641.1) you have
selected, and select Add Breakpoint.
A blue circle appears to the left of the ruler, and a blue mark appears in the
right-side vertical ruler. By default, the Add Breakpoint dialog adds an
unconditional breakpoint if the listing line is within a procedure, and a
variable change breakpoint if the line is a variable declare statement.
Note: You cannot add a breakpoint in a comment line or outside the source
code section.
Breakpoints
Chapter 4: Basic PL/I CICS Demo Session 103
Change Breakpoints
You may want to change an unconditional breakpoint to a conditional breakpoint
or a variable change breakpoint.
To change breakpoints
1. Right-click the blue circle to the left of the line where you have set an
unconditional breakpoint (statement 641.1), or right-click the breakpoint
type in the Breakpoints view, and click Configure Breakpoint on the dialog.
The Update Line Breakpoint dialog opens.
2. Click the Conditional button.
The other fields become active.
Breakpoints
104 Graphical User Interface Primer
3. Click the Literals button, and change c'data' to x'00003F'.
The following illustration shows the finished dialog:
4. Click Finish.
The dialog closes and the breakpoint displays in the Breakpoints view as a
conditional breakpoint.
5. Repeat steps 1 through 4 and make statement 639.1 an unconditional
breakpoint.
What You Can Do When Your Program is Stopped
Chapter 4: Basic PL/I CICS Demo Session 105
What You Can Do When Your Program is Stopped
Once a program is stopped, you can use the CA InterTest testing and debugging
facilities to do the following tasks:
■ Examine the source listing.
■ Examine and modify main and auxiliary storage (memory) to detect and
correct errors.
■ Set and remove breakpoints.
■ Examine a program's statement trace.
■ Keep data items in a watch view to observe changes in their values.
■ Abend your task with or without a dump.
■ Go around a problem by resuming program execution from a location other
than the one at which the program is currently stopped.
■ Execute the program in single-step mode; that is, the program executes one
verb and then stops.
When debugging your own programs, you will typically perform one or more of
these activities.
Bookmarks
Bookmarks help you to navigate quickly in the source code by marking individual
locations. You can add and delete bookmarks as needed.
The Bookmarks view displays all bookmarks placed on a specific line of the
program listing. The bookmarks appear in a table format that provides a
description of each bookmark, the name of the program where the bookmarks
are located, folder (path), and line number (location) in the Program Listing
area.
The following illustration displays a sample Bookmarks view, showing three
bookmarks in the PL1DEMO program:
Note: This view is not displayed unless you open the view by selecting Window,
Show Views, Bookmarks on the CA InterTest main menu.
Bookmarks
106 Graphical User Interface Primer
Add Bookmarks
You can add bookmarks to your program to help you navigate quickly through
the program.
To add a bookmark
1. Double-click the demo program on the InterTest Debug view.
The program listing displays in the Program Listing area.
2. Select the statement where you want to insert the bookmark.
The listing is positioned at the line which includes the selected item.
3. Right-click the shaded vertical ruler on the left side of the listing view, and
select Add Bookmark.
The Add Bookmark dialog opens, with the text from the line in the listing in
the Enter Bookmark Name field.
How to Delete Breakpoints
Chapter 4: Basic PL/I CICS Demo Session 107
4. Edit the bookmark name, if required and click OK.
A new bookmark is set at the selected statement. This is indicated by a small
rectangle appearing next to the scroll bar. The Bookmarks view displays
the details of the new bookmark.
In the Bookmarks view, after a bookmark is added, you can double-click the
bookmark to open the program listing, if not already opened. The listing is
positioned at the statement specified in the bookmark and highlights the
statement.
How to Remove Bookmarks
Once you have created and used bookmarks, it is a good idea to delete them, so
you do not clutter up your program or the Bookmarks view.
Select the line of code that contains a bookmark, and perform one of the
following steps:
■ From the program listing left-hand ruler:
Right-click your mouse, and select Remove Bookmark from the pop-up
menu.
■ From the Bookmarks view:
Highlight the bookmark and click the Delete button on the Bookmarks
view toolbar, or use the <Del> (Delete) key.
The bookmark is removed from the Bookmarks view and the program.
How to Delete Breakpoints
As you continue testing and debugging it is good practice to delete breakpoints
you no longer need, so that the program will not stop unnecessarily.
It is easier to delete individual or multiple breakpoints from the Breakpoints view
when you have a number set throughout a large program and you do not want to
search the source listing for them.
How to Delete Breakpoints
108 Graphical User Interface Primer
You can delete breakpoints in the following ways:
■ Hover the mouse on the vertical ruler to the left of the statement whose
breakpoint you want to delete in the Program Listing area, right-click, and
select Delete Breakpoint. The blue circle disappears, and there is no longer a
breakpoint at this line.
■ Select the breakpoint from the list of breakpoints in the Breakpoints view,
right-click, and select Delete Breakpoint, or use the <Del> key.
Note: Do not delete the breakpoint at statement 639.1.
How to Delete Breakpoints
Chapter 4: Basic PL/I CICS Demo Session 109
■ To delete several breakpoints at one time
1. Click the first breakpoint on the Breakpoints view, hold down the Shift
key, then click the last breakpoint you want to delete.
The breakpoints you select are highlighted.
2. Right-click and select Delete Breakpoint. Do not delete the breakpoint at
statement 639.1.
The breakpoints you select are deleted from the Breakpoints view and
the program listing.
Resume Program Execution
110 Graphical User Interface Primer
Resume Program Execution
You have found a bug in your program, and resolved it. You have added
breakpoints and removed them. You have added and deleted bookmarks. Now
you want to continue running your program.
To resume program execution
1. Click the Step Once button on the InterTest Debug view toolbar to
continue testing by resuming program execution. Program execution stops
at the statement IF TASKNUM > 2 THEN, the next statement after TASKNUM
= TASKNUM + 1. The value of TASKNUM is now 1 because the TASKNUM =
TASKNUM + 1 statement executed successfully.
The debug status now indicates unconditional breakpoint although you
clicked the Step Once button.
Resume Program Execution
Chapter 4: Basic PL/I CICS Demo Session 111
2. Click the Resume Debugging button on the InterTest Debug view
toolbar to continue testing.
The mainframe CICS screen displays the following screen:
********************************************************************** ***** ***** ***** CA InterTest Demo Session ***** ***** ***** ********************************************************************** You have now successfully corrected the ASRA problem. Press ENTER to continue the Demo Session.
Resume Program Execution
112 Graphical User Interface Primer
3. Press Enter. The mainframe CICS screen displays the following screen:
********************************************************************** **** **** **** CA-InterTest Demo Session **** **** **** ********************************************************************** You have completed the sample CA-InterTest test session. As part of this session, you: * displayed program source code and compiler output online * displayed and modified main storage * controlled program execution This is just a fraction of CA-InterTest's capabilities. You can also: * display or modify any CICS file, or DL/1, DB2, or SQL/DS database * set and remove many kinds of monitoring options Press ENTER or CLEAR to complete the termination.
4. Press Enter on the mainframe CICS screen to terminate the demo.
TASKNUM is now greater than 2, so the program goes to END SESSION. The
mainframe CICS screen displays the following screen:
********************************************************************** ***** ***** ***** CA InterTest Demo Session ***** ***** ***** ********************************************************************** END DEMO SESSION
5. Press Clear or Enter on the mainframe CICS screen to complete this part of
the sample test session.
Terminate Debug Session
Chapter 4: Basic PL/I CICS Demo Session 113
Terminate Debug Session
The program has finished execution, and you want to terminate the debug
session.
To terminate the debug session
1. Select the InterTest Debug view and click the Cancel Debug Session button
on the toolbar.
The following dialog opens:
2. Click the Disconnect and Remove Breakpoints button, then click Finish to
terminate the connection with the CICS server.
The debugging status now shows Debugging Inactive in the InterTest Debug
view.
What You Have Learned
114 Graphical User Interface Primer
What You Have Learned
This demo session has taught you the basics of using the CA InterTest GUI to test
a program. Following is a summary of what you have learned:
1. Importing the CA InterTest server settings.
2. Checking the server status.
3. Creating a CICS project.
4. Configuring the debug settings.
5. Selecting the program to monitor.
6. Responding to the information provided when a program error is detected.
7. Examining the value of a data item.
8. Changing dynamically the value of a data item.
9. Setting breakpoints to halt the program at another statement.
10. Setting bookmarks.
11. Resuming program execution.
12. Cleaning up by removing the breakpoint you set.
13. Terminating the debug session.
Chapter 5: Basic Assembler CICS Demo Session 115
Chapter 5: Basic Assembler CICS Demo
Session
This demo session takes you step-by-step through the basic CA InterTest for
CICS Assembler demo session. It illustrates many of the testing and debugging
tasks you will use on your own programs.
For more information on any topic discussed here, see the InterTest for CICS
User Guide.
This section contains the following topics:
Before You Begin (see page 116)
Synchronized Processing (see page 117)
How to Run the CICS Demo Session (see page 118)
Import CA InterTest Server Settings (see page 120)
Check the Server Status (see page 122)
Create a CICS Project (see page 123)
Configure Debug Settings (see page 124)
Select the Source Program to Monitor (see page 126)
How to Use the Outline View (see page 129)
View Monitoring Status (see page 130)
Start Program Execution (see page 131)
Abend Occurs (see page 135)
Determine the Cause of the Error (see page 137)
Change the Value in TASKNUM (see page 138)
What You Can Do When Your Program is Stopped (see page 140)
Breakpoints (see page 140)
Bookmarks (see page 149)
Resume Program Execution (see page 152)
Terminate Debug Session (see page 154)
What You Have Learned (see page 155)
Before You Begin
116 Graphical User Interface Primer
Before You Begin
The examples in this guide use default CA InterTest library names, which differ
from installation to installation.
Because the guide cannot anticipate differences at your installation, you must
know certain information specific to your CA InterTest installation before
attempting the tutorial sessions in this guide. The following list identifies
information you must know before you can attempt the demo session:
From your IBM installation
■ User ID
■ z/OS host name
■ Path to the file containing CA InterTest server settings to be imported. If
your CA InterTest was installed properly it should begin with a properly
configured set of servers for your site. For more information, see the CA
InterTest for CICS Installation Guide.
■ CA InterTest PROTSYM data set names
From CA InterTest for CICS
■ CICS host name
■ Path to the file containing CA InterTest server and CICS server settings to be
imported. If your CA InterTest was installed properly it should begin with a
properly configured set of servers for your site.
■ CA InterTest PROTSYM data set names
Synchronized Processing
Chapter 5: Basic Assembler CICS Demo Session 117
Synchronized Processing
Before you begin testing you should be aware that when CA InterTest for CICS
searches the symbolic files for the programs that you specify to be monitored for
testing, it tries to match a symbolic file with the same date and time as that of
the load module. If a match cannot be found, a dialog opens, as shown in the
following example.
Select the version you want the mainframe debugger to use and click Use, or, if
you do not want to monitor the file after all, select Do Not Monitor. Based on your
decision, the local version will be updated to match your choice.
This CA InterTest for CICS feature lets you maintain synchronized processing at
all times by letting you select the correct symbolic version of the program that
you want to test.
Note: For a complete description of this feature, see the CA InterTest for CICS
User Guide.
How to Run the CICS Demo Session
118 Graphical User Interface Primer
Symbolic Version Processing
When you request a program that has no previously declared breakpoints or
monitoring options set, CA InterTest matches the post processed symbolic file
with the most recent compile date/time to the load module date/time.
■ If an exact match is found, CA InterTest automatically selects and displays
the program listing.
■ If no match is found, CA InterTest displays the symbolic version list from
which you can do the following:
– Select the appropriate symbolic file
– Ignore symbolic processing for the program
The dialog also explains the cause of the mismatch.
During automatic breakpoint processing, if a program has no previously selected
symbolic file, CA InterTest matches the load module's date/time to a symbolic
file.
■ If an exact match is found, CA InterTest automatically selects and displays
the program.
■ If no match is found, CA InterTest automatically selects the first symbolic file
that contains the program and displays it with a warning message on the first
Source Listing Breakpoint screen indicating the mismatch.
Note: Once you select a symbolic file for a program, CA InterTest continues to
use the selected file and bypasses subsequent date/time matching until all
declared breakpoints and monitoring options are removed for the program.
How to Run the CICS Demo Session
The CA InterTest basic demo session takes you through the following scenario:
1. Import CA InterTest server settings. You only do this step the first time you
start the GUI component or whenever your CA InterTest administrator
updates any of the server settings. If your CA InterTest was installed
properly it should begin with a properly configured set of servers for your
site. For more information, see the CA InterTest for CICS Installation Guide.
2. Connect to a CA InterTest server.
3. Connect to a CICS region.
4. Check the server status.
5. Create a CICS project.
6. Configure the debug settings.
How to Run the CICS Demo Session
Chapter 5: Basic Assembler CICS Demo Session 119
7. Select the program to debug.
You will be using the demo program ASMDEMO. This program uses mixed
case in the display of source code and maps on the screen. If you want to use
a program that displays in UPPERCASE only, substitute the letters UEMO
instead of DEMO as the last four characters of the program name (for
example, ASMUEMO instead of ASMDEMO).
8. Respond to the information provided when a program error is detected.
CA InterTest intercepts and prevents an ASRA abend. It halts the demo
program at an Add Packed (AP) instruction that caused the ASRA and
displays a diagnostic message informing you that the problem was caused by
improperly formatted data.
9. Examine the value of the data item.
Examine the current value of TASKNUM. The receiving field in the AP
instruction is causing the problem. You find that TASKNUM does not contain
a valid packed decimal number.
10. Change dynamically the value of the data item.
Modify the value of TASKNUM to correct the error.
11. Set a breakpoint to halt the program at another statement.
This step is purely instructional; it has nothing to do with correcting the
ASRA abend.
12. Resume program execution.
CA InterTest halts the program at the breakpoint you set in the previous
statement. You see that the value of TASKNUM changed when the AP
statement is executed.
13. Clean up by removing the breakpoint you set.
14. Add and remove a bookmark.
This step is again purely instructional.
15. Resume program execution and the demo program runs to completion.
Import CA InterTest Server Settings
120 Graphical User Interface Primer
Import CA InterTest Server Settings
Before you start a debugging session you must connect to a CA InterTest server.
The GUI component runs on Windows and the debugging session runs on z/OS.
This server provides the communication between the user interface and the
mainframe platform. CA InterTest also communicates directly with the CICS
region during a debug session. If your CA InterTest was installed properly it
should begin with a properly configured set of servers for your site. For more
information, see the CA InterTest for CICS Installation Guide.
To import CA InterTest server settings
1. Start CA InterTest.
The CA InterTest main window opens.
2. Click File, Import.
The Import dialog opens.
Import CA InterTest Server Settings
Chapter 5: Basic Assembler CICS Demo Session 121
3. Click Next.
The Import Server Settings dialog opens.
4. Type or browse for the file path (provided by the CA InterTest administrator)
to the file containing the server settings.
5. Click Finish.
You have now loaded a definition of your site's CA InterTest servers.
Check the Server Status
122 Graphical User Interface Primer
Check the Server Status
It is a good idea to make sure that the server you are connected to is running.
To check the server status
1. Click Window, Show Views, Servers, on the CA InterTest main window
toolbar if the Servers view is not already visible.
The Servers view opens, displaying the name of the server and its status, as
shown in the following illustration:
The server will have one of the following statuses:
Available
The server is connected to a CICS region/mainframe and is running.
Not Available
The server failed to connect and is not running. The reason for the failure
is denoted next to its status.
Create a CICS Project
Chapter 5: Basic Assembler CICS Demo Session 123
2. If the Status column is blank, click the Refresh Server button on the
Servers view toolbar.
The system may take several seconds to respond.
3. If the status remains blank or Not Available, contact your CA InterTest
administrator.
Create a CICS Project
After you are connected to a CA InterTest server and a CICS server, you must
create a CICS project in which to debug your program.
To create a CICS project
1. Click the Create CICS Project button on the CA InterTest main window
toolbar.
The New CICS Project dialog opens.
2. Enter Basic CICS Demo in the Project Name field.
3. Check the Use default location box if it is not already checked.
4. Select Basic Demo from the InterTest Server drop-down list.
5. Select Basic CICS Demo from the CICS Region drop-down list.
Note: Do not check the Import files once project is created box.
Configure Debug Settings
124 Graphical User Interface Primer
6. Click Finish.
The InterTest Debug view displays your project name (Basic CICS Demo),
project type (CICS), the server name (Basic CICS Demo), the status
indicator (Debugging Inactive), and two empty folders: Monitored
(Programs), and Unmonitored (Programs), as shown in the following
illustration:
Configure Debug Settings
You must now set the debug settings for your CICS project to ensure that the
server and region are correct.
To configure debug settings
1. Right-click the project name (Basic CICS Demo) on the InterTest Debug
view, and select Configure Session Debug Settings.
Configure Debug Settings
Chapter 5: Basic Assembler CICS Demo Session 125
The InterTest Debug Settings dialog opens.
2. Ensure that the following fields are completed:
InterTest Server
Displays the InterTest server name (Basic Demo).
CICS Region
Displays the CICS region name (Basic CICS Demo).
3. Click Finish.
The debug settings are configured.
More information:
Before You Begin (see page 36)
Select the Source Program to Monitor
126 Graphical User Interface Primer
Select the Source Program to Monitor
Now you are ready to look at the programs and instruct CA InterTest to monitor
the program. As part of monitoring a CICS program, CA InterTest automatically
prevents all CICS abends during execution. How this works is shown later when
CA InterTest prevents your program from abending because of an ASRA.
To select the source program to monitor
1. Verify that the program to be debugged has been compiled and
post-processed into the PROTSYM files. The data set name will be provided
by the CA InterTest Administrator.
2. Click the InterTest Debug view so that it is the active view.
3. Click the project name (Basic CICS Demo) on the CA InterTest Debug view.
The project name is highlighted.
4. Click the Import PROTSYM Files button on the CA InterTest main
window toolbar.
The Import PROTSYM Files dialog opens.
Select the Source Program to Monitor
Chapter 5: Basic Assembler CICS Demo Session 127
5. Enter the following information:
InterTest Server
Defines the CA InterTest server. Select Basic Demo.
PROTSYM Data Set
Defines the fully-qualified data set name of the CA InterTest PROTSYM
VSAM file.
Type CAI.PROTSYM, or substitute CAI.PROTSYM with the DSN
provided by your CA InterTest administrator.
If you receive an error about failure to retrieve a member list, check with
your CA InterTest administrator.
6. Click List Members.
The table is populated with the programs in the data set you chose.
Note: You may be prompted to log on to your mainframe TSO here, if you
have not already done so through CA InterTest.
7. Scroll down through the table until you reach ASMDEMO, the program you
want to debug. Select the program by checking the box next to it.
Note: The file list may not contain the name of the demo program indicated
previously. This is because the CA InterTest administrator who installed CA
InterTest changed the name of the sample programs available to you. Check
with your CA InterTest administrator to find out the correct name.
Select the Source Program to Monitor
128 Graphical User Interface Primer
8. If the Into folder box is empty, click the Browse button, and select the Basic
CICS Demo folder to import the program into.
The name Basic CICS Demo appears in the Into folder box.
9. Ensure that the two check boxes in the Options section are checked.
10. Click Finish.
The demo program displays in the InterTest Debug view in the Monitored
Programs folder.
11. Double-click the demo program on the InterTest Debug view.
The compiled program listing displays in the Program Listing area, with an
outline of the program in the Outline view.
How to Use the Outline View
Chapter 5: Basic Assembler CICS Demo Session 129
How to Use the Outline View
The Outline view displays an outline of the program that is currently active in the
Program Listing area and lists the structural elements. This makes it easier to
display any section of your Assembler program. The contents of the Outline view
are specific to the active program listing. The Outline view contains a top level
node for each action. The following example shows the Outline view and the
program listing of ASMDEMO:
■ To expand a section, click the plus sign (+) next to the text. Selecting a
variable or label name repositions the program listing to the line containing
the name. If the location is collapsed, the area is automatically expanded.
■ To expand all the program sections, click the plus sign (+) (Expand Tree) on
the Outline view toolbar.
View Monitoring Status
130 Graphical User Interface Primer
■ To collapse the program sections, click the minus sign (-) (Collapse Tree) on
the Outline view toolbar.
We recommend that you expand and collapse the programs in the Outline view
to see how clicking a variable on the Outline view brings you immediately to that
location in the program listing.
View Monitoring Status
The InterTest Debug view lists the programs that are monitored. If you want to
see whether a program is monitored, perform the following steps.
To view monitoring status
1. Click the + sign to the left of the CICS project name on the InterTest Debug
view.
The tree expands and shows monitored and unmonitored folders.
Start Program Execution
Chapter 5: Basic Assembler CICS Demo Session 131
2. Click the + sign next to the Monitored Programs folder.
The tree expands and shows the programs that are monitored.
Start Program Execution
Now you are ready to begin testing the demo program.
To start program execution
1. Go to your mainframe session and sign on to CICS using your established
CICS sign on procedure. This is usually done through emulation software for
IBM3270 terminals.
2. Go back to the CA InterTest session and click the project (Basic CICS Demo)
that contains the program (ASMDEMO) you want to debug on the InterTest
Debug view. Click the program name (ASMDEMO) under Monitored
Programs.
The green bug button is enabled on the CA InterTest Debug view toolbar.
Start Program Execution
132 Graphical User Interface Primer
3. Click the green bug button on the CA InterTest Debug view.
The InterTest Debug Settings dialog opens.
4. Ensure that the following fields are completed:
InterTest Server
Displays the InterTest server name (Basic Demo) you selected when
creating a CICS project.
CICS Region
Displays the CICS region name (Basic CICS Demo) you selected when
creating a CICS project.
Start Program Execution
Chapter 5: Basic Assembler CICS Demo Session 133
5. Click Connect.
The following dialog may display if you have not yet logged on to TSO:
6. Type your password in the Password box, and click Finish.
CA InterTest notifies CA InterTest CICS that your program is ready for
execution.
7. Go to the mainframe CICS display (green screen), and type in the
transaction identifier of the demo program, dema.
8. Press Enter.
The following Welcome screen displays.
****************************************************************************** ****************************************************************************** ***** ***** ***** Welcome to the ***** ***** CA-InterTest Demo Session ***** ***** ***** ***** ***** ***** Before proceeding, please have on hand the ***** ***** guide which accompanies the Demo Session. ***** ***** ***** ***** ***** ***** Please make sure that the program ASMDEMO is monitored by ***** ***** CA-InterTest. This program will abend if it is not monitored. ***** ***** ***** ***** To turn the monitor on, press CLEAR and follow the steps ***** ***** outlined in the documentation. ***** ***** ***** ***** If the monitor is already on, press ENTER to begin the ***** ***** Basic Demo Session or PF2 to go to the Options Menu. ***** ***** ***** ****************************************************************************** ******************************************************************************
Start Program Execution
134 Graphical User Interface Primer
9. Press Enter on this CICS mainframe screen.
The demo program begins execution. Your CICS session indicates that it is in
xSystem state:
10. Return to the CA InterTest session to continue with your debugging session.
Notice the InterTest Debug view now displays the debug status as
Debugging:
Abend Occurs
Chapter 5: Basic Assembler CICS Demo Session 135
Abend Occurs
The demo program is executing and CA InterTest detects an error at the ADD
DECIMAL (AP) instruction. Execution of that AP instruction triggers an ASRA
abend, which CA InterTest prevents.
At the abend, the following events occur:
■ The InterTest Debug view displays the CAIN3628 message in the Debug
Status field:
■ The appropriate program listing causing the error is activated (if the
program was not displayed earlier).
Abend Occurs
136 Graphical User Interface Primer
■ The program positions itself at the statement causing the error.
When CA InterTest stops program execution, we say that it halts the
program at a breakpoint. This is done automatically when an abend occurs,
or CA InterTest halts a program at a breakpoint that was set by you.
When an abend occurs:
■ A small blue arrow appears in the ruler to the left of the line causing the
error, and the line is highlighted.
■ A diagnostic message describes the error.
This message explains that the error was caused by improperly formatted
data. Since adding a packed decimal 1 (=P'1' ) to TASKNUM triggered the
breakpoint, it is likely that TASKNUM contains improperly formatted data.
Determine the Cause of the Error
Chapter 5: Basic Assembler CICS Demo Session 137
Determine the Cause of the Error
For Assembler programs CA InterTest displays the value of TASKNUM as an
expression (%R13+189).
When the Auto Data view is open, CA InterTest automatically displays the values
of the variables associated with a statement. (The Watch Data view displays the
value of data items that you want to watch. In this case, TASKNUM has been
displayed in the Auto Data view.) The left column shows the base + displacement
(%R13+189) for the name of the data item. In the columns to the right are the
field's display value. Assembler programs show as Memory Expression, and hex
value at that offset.
Now take a look at the contents of TASKNUM. Confirm that the value stored in
TASKNUM is not a valid packed decimal value by examining its current value in
the Auto Data view; that is, its value prior to the execution of the AP statement
that triggered the ASRA. Instead, it contains low-values (binary zeros – the three
highlighted bytes). Assembler does not allow you to add a packed decimal value
(=P’1’) to a field initialized with low values.
Change the Value in TASKNUM
138 Graphical User Interface Primer
Change the Value in TASKNUM
You have identified and confirmed the cause of the problem. Now you want to fix
it.
To change the value in TASKNUM
1. Right-click the variable %R13+189 in the Auto Data view.
2. Click Memory Dump.
The Memory Dump dialog opens.
The memory address for TASKNUM displays in the Address column. To the
right under offset +0 the hex value displays, to the far right is the character
value. The first three bytes (highlighted yellow) are the value of TASKNUM.
Change the Value in TASKNUM
Chapter 5: Basic Assembler CICS Demo Session 139
3. Click the Variables button, type TASKNUM, and click the Fetch button.
The Memory Dump dialog opens.
The three bytes of TASKNUM display.
4. Overtype 000000 with 00000C, and press Enter.
5. Click Close.
The Auto Data view now displays TASKNUM with a packed decimal zero.
What You Can Do When Your Program is Stopped
140 Graphical User Interface Primer
What You Can Do When Your Program is Stopped
Once a program is stopped, you can use the CA InterTest testing and debugging
facilities to do the following tasks:
■ Examine the source listing.
■ Examine and modify main and auxiliary storage (memory) to detect and
correct errors.
■ Set and remove breakpoints.
■ Examine a program's statement trace.
■ Keep data items in a watch view to observe changes in their values.
■ Abend your task with or without a dump.
■ Go around a problem by resuming program execution from a location other
than the one at which the program is currently stopped.
■ Execute the program in single-step mode; that is, the program executes one
verb and then stops.
When debugging your own programs, you will typically perform one or more of
these activities.
Breakpoints
Now that the value in TASKNUM has been properly initialized, the next step
might be to continue testing by resuming program execution. However, this is a
good opportunity to learn about another important CA InterTest feature: the
ability to control program execution by setting breakpoints. A breakpoint is an
intentional stopping or pausing place in a program, put in place for debugging
purposes.
When you open or activate a program listing in the Program Listing area, the
breakpoints added to that program appear as blue circles . When the mouse
hovers over a blue circle, the following details of a breakpoint display:
■ Breakpoint type
■ Program name
■ Statement number (in square brackets)
■ Source code text
Breakpoints
Chapter 5: Basic Assembler CICS Demo Session 141
The following illustration displays the information when the mouse hovers over a
blue circle:
Types of Breakpoints
There are six types of breakpoints, as shown in the following table:
Breakpoint Type Function
Automatic The program stops because CA InterTest detected and
prevented an error.
Conditional The program stops at the location you specify if a
condition is met. Optionally, conditional breakpoints can
be set to stop at any instruction if a condition is met.
Request The program stops at every CICS command or macro, at
certain CICS commands or macros, or at calls to PL/I,
DB2, or software.
Single-step The program stops after executing one or more verbs.
Unconditional The program stops at the location you specify, just before
the statement is executed.
Variable Change The program stops at any location if the value of a
specified variable has changed. This is a special type of
conditional breakpoint.
Breakpoints
142 Graphical User Interface Primer
An automatic breakpoint occurs when CA InterTest detects an error. When a
program is stopped at an automatic breakpoint, you can either correct the error
or go around it. You set all other breakpoints.
In this section you will learn how to set and remove unconditional breakpoints,
because you will use these the most.
When to Use Breakpoints
You can set breakpoints at any time—before you execute the program and when
the program is stopped. Although where you decide to set breakpoints depends
on the specifics of your program, you might want to set breakpoints in the
following places:
■ At the beginning of a procedure, so when the program executes you can set
additional breakpoints
■ At label names, so you can examine the contents of variables at the start of
sections
■ Before a call or DBCALL, so you can dynamically control the program path
■ At the point where a program exits using AT ALL EXIT or AT EXIT
Set Unconditional Breakpoints
At an unconditional breakpoint the program stops at the location you specify,
just before the statement is executed. Let us see how to set a breakpoint at the
following TASKNUM statement. You set unconditional breakpoints directly on the
Program Listing area.
To set unconditional breakpoints
1. Click the demo Assembler program listing on the Program Listing area, so its
name is highlighted in its tab.
2. Press Ctrl F on your keyboard.
The Find/Replace dialog opens.
3. Type TASKNUM,=P'1' in the Find box, and click Find.
The demo program positions itself so that the line you searched for appears
in the program listing, and the search text is highlighted.
Breakpoints
Chapter 5: Basic Assembler CICS Demo Session 143
4. Click Find again.
Statement 1461 is highlighted.
Breakpoints
144 Graphical User Interface Primer
5. Right-click the ruler to the left of the line you have selected (statement
1461), and select Add Breakpoint from the pop-up menu.
A blue circle appears to the left of the ruler, and a blue mark appears in the
right-side vertical ruler. By default, the Add Breakpoint dialog adds an
unconditional breakpoint.
Note: You cannot add a breakpoint in a comment line or outside the source
code section.
Breakpoints
Chapter 5: Basic Assembler CICS Demo Session 145
Change Breakpoints
You may want to change an unconditional breakpoint to a conditional breakpoint
or a variable change breakpoint.
To change breakpoints
1. Right-click the blue circle to the left of the line (statement 1464) where you
have set an unconditional breakpoint, and click Configure Breakpoint on the
pop-up menu.
The Update Line Breakpoint dialog opens.
2. Click the Conditional breakpoint type button.
The Update Line Breakpoint dialog opens.
Breakpoints
146 Graphical User Interface Primer
3. Click the Literals button and replace c'data' with X'00003C'.
4. Click Finish.
The dialog closes and the breakpoint displays in the Program Listing area as
a conditional breakpoint.
5. Repeat steps 1 through 4 and make unconditional breakpoints at lines 1462
and 1653.
Breakpoints
Chapter 5: Basic Assembler CICS Demo Session 147
How to Delete Breakpoints
As you continue testing and debugging it is good practice to delete breakpoints
you no longer need, so that the program will not stop unnecessarily.
It is easier to delete individual or multiple breakpoints from the Breakpoints view
when you have a number set throughout a large program and you do not want to
search through the source listing for them.
You can delete breakpoints in the following ways:
■ Hover the mouse on the vertical ruler to the left of the statement whose
breakpoint you want to delete in the Program Listing area, right-click, and
select Delete Breakpoint. The blue circle disappears, and there is no longer a
breakpoint at this line.
■ Select the breakpoint from the list of breakpoints in the Breakpoints view,
right-click, and select Delete Breakpoint.
Breakpoints
148 Graphical User Interface Primer
■ To delete several breakpoints at one time
1. Click the first breakpoint in the Breakpoints view, hold down the Shift
key, then click the last breakpoint you want to delete.
The breakpoints you select are highlighted.
2. Right-click and select Delete Breakpoint.
The breakpoints you select are deleted from the Breakpoints view and
the program listing.
Delete Breakpoints
You have learnt different ways of deleting breakpoints. Now you are ready to
delete breakpoints from your program.
Delete breakpoints
1. Using any of the ways described in the previous topic, delete the breakpoints
at statements 1462 and 1653.
The blue circle disappears next to the statements.
Note: Do not delete the breakpoint at statement 1464.
2. Change the conditional breakpoint at statement 1464 back to an
unconditional breakpoint.
Bookmarks
Chapter 5: Basic Assembler CICS Demo Session 149
Bookmarks
Bookmarks help you to navigate quickly in the source code by marking individual
locations. You can add and delete bookmarks as needed.
The Bookmarks view displays all bookmarks placed on a specific line of the
program listing. The bookmarks appear in a table format that provides a
description of each bookmark, the name of the program where the bookmarks
are located, folder (path), and line number (location) in the Program Listing
area.
The following illustration displays a sample Bookmarks view, showing three
bookmarks in the ASMDEMO program:
Note: This view is not displayed unless you open the view by selecting Window,
Show Views, Bookmarks on the CA InterTest main menu.
Add Bookmarks
You can add bookmarks to your program to help you navigate quickly through
the program.
To add a bookmark
1. Double-click the demo program on the InterTest Debug view.
The program listing displays in the Program Listing area.
2. Select the statement where you want to insert the bookmark.
The listing is positioned at the line which includes the selected item.
Bookmarks
150 Graphical User Interface Primer
3. Right-click the shaded vertical ruler on the left side of the listing view, and
select Add Bookmark.
The Add Bookmark dialog opens, with the full text of the selected source line
displayed in the Enter Bookmark Name field.
4. Edit the bookmark name, if required, and click OK.
A new bookmark is set at the selected statement. This is indicated by a small
green rectangle appearing next to the scroll bar. The Bookmarks view
displays the details of the new bookmark.
In the Bookmarks view, after a bookmark is added, you can double-click the
bookmark to open the program listing, if not already opened. The listing is
positioned at the statement specified in the bookmark and highlights the
statement.
Bookmarks
Chapter 5: Basic Assembler CICS Demo Session 151
How to Remove Bookmarks
Once you have created and used bookmarks, it is a good idea to delete them, so
you do not clutter up your program or the Bookmarks view.
Select the line of code that contains a bookmark, and perform one of the
following steps:
■ From the program listing left-hand ruler:
Right-click your mouse, and select Remove Bookmark from the pop-up
menu.
■ From the Bookmarks view:
Highlight the bookmark and click the Delete button on the Bookmarks
view toolbar, or use the <Del> (Delete) key.
The bookmark is removed from the Bookmarks view and the program.
Resume Program Execution
152 Graphical User Interface Primer
Resume Program Execution
You have found a bug in your program, and resolved it. You have added
breakpoints and removed them. You have added and deleted bookmarks. Now
you want to continue running your program.
To resume program execution
1. Click the Step Once button on the InterTest Debug view to continue
testing by resuming program execution. Program execution stops at
statement CP TASKNUM,=P'2', the next statement after the intercept.
The value of TASKNUM is now 1 because the AP TASKNUM,=P'1' statement
executed successfully.
2. Click the Resume Debugging button on the InterTest Debug view.
The program halts on statement 1464, the conditional breakpoint. Since
TASKNUM is equal to 1, execution will now branch to SENDSCR4 when you
click the Resume Debugging button again.
Resume Program Execution
Chapter 5: Basic Assembler CICS Demo Session 153
3. The mainframe CICS screen displays the following screen:
********************************************************************** **** **** **** CA-InterTest Demo Session **** **** **** ********************************************************************** You have completed the sample CA-InterTest test session. As part of this session, you: * displayed program source code and compiler output online * displayed and modified main storage * controlled program execution This is just a fraction of CA-InterTest's capabilities. You can also: * display or modify any CICS file, or DL/1, DB2, or SQL/DS database * set and remove many kinds of monitoring options Press ENTER or CLEAR to complete the termination.
Note: The mainframe CICS screen is still in xSYS state.
4. Click Resume Debugging repeatedly on the CA InterTest GUI until the
mainframe CICS screen displays the following screen:
********************************************************************** ***** ***** ***** CA InterTest Demo Session ***** ***** ***** ********************************************************************** END DEMO SESSION
5. Press Clear or Enter on the mainframe CICS screen to complete this part of
the sample test session.
Terminate Debug Session
154 Graphical User Interface Primer
Terminate Debug Session
The program has finished execution, and you want to terminate the debug
session.
To terminate the debug session
1. Select the InterTest Debug view and click the Cancel Debug Session button
on the toolbar.
The following dialog opens:
2. Click the Disconnect and Remove Breakpoints button, then click Finish to
terminate the connection with the CICS server.
The debugging status now shows Debugging Inactive in the InterTest Debug
view.
What You Have Learned
Chapter 5: Basic Assembler CICS Demo Session 155
What You Have Learned
This demo session has taught you the basics of using the CA InterTest GUI to test
a program. Following is a summary of what you have learned:
1. Importing the CA InterTest server settings.
2. Checking the server status.
3. Creating a CICS project.
4. Configuring the debug settings.
5. Selecting the program to monitor.
6. Responding to the information provided when a program error is detected.
7. Examining the value of a data item.
8. Changing dynamically the value of a data item.
9. Setting breakpoints to halt the program at another statement.
10. Setting bookmarks.
11. Resuming program execution.
12. Cleaning up by removing the breakpoint you set.
13. Terminating the debug session.
Chapter 6: Basic COBOL Batch Demo Session 157
Chapter 6: Basic COBOL Batch Demo
Session
This demo session takes you step-by-step through the basic CA InterTest Batch
demo session. Performing the demo at a PC is the best way to begin learning
about CA InterTest and the graphical user interface. If a PC is not available, you
can still learn about the product by reading this chapter.
This section contains the following topics:
Before You Begin (see page 158)
Synchronized Processing (see page 159)
How to Run the Demo Session (see page 160)
Demo Source (see page 161)
Import CA InterTest Server Settings (see page 162)
Check the Server Status (see page 163)
Create a Batch Project (see page 164)
Configure Debug Settings (see page 165)
Select the Source Program to Monitor (see page 170)
How to Use the Outline View (see page 173)
View Monitoring Status (see page 174)
Start Program Execution (see page 175)
Abend Occurs (see page 176)
Determine the Cause of the Error (see page 178)
What You Can Do When Your Program is Stopped (see page 179)
Change the Value in TASKNUM (see page 179)
Breakpoints (see page 180)
Bookmarks (see page 193)
Resume Program Execution (see page 196)
Before You Begin
158 Graphical User Interface Primer
Before You Begin
The examples in this guide use default CA InterTest library names, which differ
from installation to installation.
Because the guide cannot anticipate differences at your installation, you need to
know certain information specific to your CA InterTest installation before
attempting the tutorial sessions in this guide. The following list identifies
information you need to know before you can attempt the demo session:
From your IBM installation
■ User ID
■ z/OS host name
■ CA InterTest PROTSYM data set names
From CA InterTest
■ Path to the file containing CA InterTest server settings to be imported. If
your CA InterTest was installed properly it should begin with a properly
configured set of servers for your site. For more information, see the CA
InterTest Batch Installation Guide.
Synchronized Processing
Chapter 6: Basic COBOL Batch Demo Session 159
Synchronized Processing
Before you begin testing you should be aware that when CA InterTest searches
the symbolic files for the programs that you specify for testing, it tries to match
the date and time in the symbolic file to that of the load module. If a match
cannot be found, a dialog opens, as shown in the following example.
Select the version you want the mainframe debugger to use and click Use or
Abend Step, or, if you do not want to monitor the file after all, select Do Not
Monitor. Based on your decision, the local version will be updated to match your
choice.
This CA InterTest feature lets you maintain synchronized processing at all times
by letting you select the correct symbolic version of the program that you want
to test.
Note: For a complete description of this feature, see the CA InterTest Batch User
Guide.
How to Run the Demo Session
160 Graphical User Interface Primer
Symbolic Version Processing
During standard breakpoint (unconditional, conditional, and variable change)
processing, CA InterTest matches the post processed symbolic file date and time
to the load module date and time.
■ If an exact match is found, CA InterTest automatically selects and displays
the program listing.
■ If no exact match is found, CA InterTest displays the symbolic version list
from which you can do the following:
– Select the appropriate symbolic file
– Ignore symbolic processing for the program
The dialog also explains the cause of the mismatch.
During automatic breakpoint processing, if a program has no previously selected
symbolic file, CA InterTest matches the load module's date/time to a symbolic
file.
■ If an exact match is found, CA InterTest automatically selects and displays
the program.
■ If no match is found, CA InterTest automatically selects the first symbolic file
that contains the program and displays it with a warning message on the first
Source Listing Breakpoint screen indicating the mismatch.
Note: Once you select a symbolic file for a program, CA InterTest continues to
use the selected file and bypasses subsequent date/time matching until all
declared breakpoints and monitoring options are removed for the program.
How to Run the Demo Session
The CA InterTest basic demo session takes you through the following scenario:
1. Connecting to a server.
2. Checking the server status.
3. Creating a batch project.
4. Configuring the debug settings.
5. Selecting the program to debug.
6. Responding to the information provided when a program error is detected.
CA InterTest intercepts and prevents an S0C7 abend. It halts the demo
program at an ADD statement and displays a diagnostic message informing
you that the problem was caused by improperly formatted data.
Demo Source
Chapter 6: Basic COBOL Batch Demo Session 161
7. Examining the value of a data item.
Examine the current value of TASKNUM, the receiving field in the ADD
statement that you suspect may be the cause of the problem. You find that
TASKNUM does not contain a valid packed decimal number.
8. Changing dynamically the value of a data item.
Modify the value of TASKNUM to correct the error.
9. Setting a breakpoint to halt the program at another statement.
This step is purely instructional; it has nothing to do with correcting the S0C7
abend.
10. Adding and removing a bookmark.
11. Resuming program execution.
Resume program execution. CA InterTest halts the program at the
breakpoint you set in the previous statement. You see that the value of
TASKNUM changed when the ADD statement executed.
12. Cleaning up by removing the breakpoint you set.
13. Resuming program execution and the demo program runs to completion.
Demo Source
The source programs for this demo are as follows:
Type of Program Name of Program
Assembler CAMRASMB
COBOL CAMRCOBB
PL/I CAMRPLIB
Use the compile procedures created during installation to compile a demo
program, populate the PROTSYM, and link the program.
When testing a program, CA InterTest automatically intercepts all abends. How
this works is illustrated later when CA InterTest prevents the demo program
from abending because of an S0C7.
Import CA InterTest Server Settings
162 Graphical User Interface Primer
Import CA InterTest Server Settings
Before you start a debugging session you must connect to a CA InterTest server.
The GUI component runs on Windows and the debugging session runs on z/OS.
This server provides the communication between the user interface and the
mainframe platform.
If your CA InterTest was installed properly it should begin with a properly
configured set of servers for your site. For more information, see the CA
InterTest Batch Installation Guide.
To import CA InterTest server settings
1. Start CA InterTest.
The CA InterTest main window opens.
2. Click File, Import.
The Import dialog opens.
Check the Server Status
Chapter 6: Basic COBOL Batch Demo Session 163
3. Click Next.
The Import Server Settings dialog opens.
4. Type or browse for the file path (provided by the CA InterTest administrator)
to the file containing the server settings.
5. Click Finish.
You are now connected to a CA InterTest server.
Check the Server Status
It is a good idea to make sure that the server you are connected to is running.
To check the server status
1. Click Window, Show Views, Servers, on the CA InterTest main window
toolbar if the Servers view is not already visible.
The Servers view opens, displaying the name of the server and its status, as
shown in the following illustration:
Create a Batch Project
164 Graphical User Interface Primer
The server will have one of the following statuses:
Available
The GUI is connected to a mainframe server that is running.
Not Available
The GUI failed to connect to the server and is not running. The reason for
the failure is denoted next to its status.
2. If the Status column is blank, click the Refresh Server button on the
Servers view toolbar.
The system may take several seconds to respond.
3. If the status remains blank or Not Available, contact your CA InterTest
administrator.
Create a Batch Project
After you are connected to a server, you need to create a batch project in which
to debug your program.
To create a batch project
1. Click the Create Batch Project button on the CA InterTest main window
toolbar.
The New Batch Project dialog opens.
2. Type Basic Demo in the Project Name field.
Configure Debug Settings
Chapter 6: Basic COBOL Batch Demo Session 165
3. Check the Use default location box.
4. Select Basic Demo from the InterTest Server drop-down.
Note: Do not check the boxes Session will debug PL/I, or Import files once
project is created.
5. Click Finish.
The InterTest Debug view displays the project name, the server name,
debugging status, and two empty folders: Monitored Programs and
Unmonitored Programs, as shown in the following illustration:
Configure Debug Settings
You now need to set the debug settings for your batch project.
To configure debug settings
1. Click the project name (Basic Demo) on the InterTest Debug view,
right-click, and select Configure Session Debug Settings.
The InterTest Debug Settings dialog opens with the main tab in view.
2. Click the InterTest Server drop-down list, and select Basic Demo.
Configure Debug Settings
166 Graphical User Interface Primer
3. Select the PROTSYM tab.
4. Click Add, and add CAI.PROTSYM as the PROTSYM data set name, or the
data set name provided by your CA InterTest administrator, in the Add
Dataset Name dialog. Click OK.
The data set name appears in the PROTSYM Datasets area.
5. Click the JCL Settings tab.
The InterTest Debug Settings dialog opens.
6. Complete the following fields:
InterTest Server
Displays Basic Demo. If Basic Demo is not showing, select it in the box.
Conversion JCL Dataset(Member Name)
Describes the mainframe data set name and member name. Type
CAI.CAISRC(DEMOJCL) or a data set name provided by your CA
InterTest administrator.
Dataset Type
Describes the type of data set. Select IBM PDS, or the data set type
appropriate to the one provided by your CA InterTest administrator.
Configure Debug Settings
Chapter 6: Basic COBOL Batch Demo Session 167
Job Step Name
Describes the name of the job step. Type Step1.
PROCLIB List
Leave empty.
Converted/Submit JCL Dataset(Member Name)
Describes the output data set where the converted JCL resides. Type
HLQ.MYJCL(BATCHDMO), where HLQ is the high level qualifier you
choose, or any allocated PDS data set.
The following illustration shows the completed dialog:
7. Click the Convert JCL button.
The converted JCL will be placed in HLQ.MYJCL(BATCHDMO).
Configure Debug Settings
168 Graphical User Interface Primer
8. After the JCL conversion is complete, click the Edit JCL button to edit the
converted JCL.
The Edit JCL dialog opens.
9. Make the following changes to the Edit JCL dialog:
■ Change the job card to conform with your installation standards.
■ Change PROFILE=YOURID to PROFILE=(your TSO User ID).
Configure Debug Settings
Chapter 6: Basic COBOL Batch Demo Session 169
The following illustration shows the edited JCL:
10. Make sure the data set you are editing is not being used in TSO or CA Roscoe.
11. Click OK.
The Edit JCL dialog closes and you return to the InterTest Debug Settings
dialog.
12. Click Finish.
You receive a message indicating that the file has been saved successfully.
Click OK. You return to the InterTest main window.
More information:
Before You Begin (see page 36)
Select the Source Program to Monitor
170 Graphical User Interface Primer
Select the Source Program to Monitor
Now you are ready to look at the programs and instruct CA InterTest to monitor
a program. As part of monitoring a batch program, CA InterTest automatically
prevents all abends during execution. How this works is shown later when CA
InterTest prevents your program from abending because of an S0C7.
To select the source program to monitor
1. Verify that the program to be debugged has been compiled and
post-processed into the PROTSYM files.
2. Click the InterTest Debug view so that it is the active view.
3. Click the project name (Basic Demo) on the CA InterTest Debug view.
The project name is highlighted.
4. Click the Import PROTSYM Files button on the CA InterTest main window
toolbar.
The Import PROTSYM Files dialog opens.
5. Enter the following information:
InterTest Server
Defines the CA InterTest server. Select Basic Demo.
Select the Source Program to Monitor
Chapter 6: Basic COBOL Batch Demo Session 171
PROTSYM Data Set
Defines the fully-qualified data set name of the CA InterTest PROTSYM
VSAM file.
Type CAI.PROTSYM, or substitute CAI.PROTSYM with the DSN
provided by your CA InterTest administrator.
If you receive an error about failure to retrieve a member list, check with
your CA InterTest administrator.
Note: You may be prompted to log on to your mainframe TSO here, if
you have not already done so through CA InterTest.
6. Click List Members.
The table is filled with the programs in the data set you chose.
7. Scroll down through the table until you reach CAMRCOBB, the program you
want to debug. Select the program by checking the box next to it.
Note: The file list may not contain the name of the demo program indicated
previously. This is because the CA InterTest administrator who installed CA
InterTest changed the name of the sample programs available to you. Check
with your CA InterTest administrator to find out the correct name.
Select the Source Program to Monitor
172 Graphical User Interface Primer
8. If the Into folder box is empty, click the Browse button, and select the Basic
Demo folder to import the program into.
The name Basic Demo appears in the Into folder box.
9. Ensure that the two check boxes in the Options section are selected.
10. Click Finish.
The demo program displays in the InterTest Debug view in the Monitored
Programs folder.
11. Double-click the demo program name on the InterTest Debug view.
The program listing displays in the Program Listing area, with an outline of
the program in the Outline view.
How to Use the Outline View
Chapter 6: Basic COBOL Batch Demo Session 173
How to Use the Outline View
The Outline view displays an outline of the program that is currently active in the
Program Listing area and lists the structural elements. This makes it easier to
display any section of your COBOL program. The contents of the Outline view are
specific to the active program listing. The Outline view contains a top level node
for each action. For example, a COBOL program listing shows the four divisions
of the COBOL program in the Outline view when you first open or activate the
listing:
■ To expand the Procedure division, click the plus sign (+) next to the text.
Selecting a variable or label name repositions the program listing to the line
containing the name. If the location is collapsed, the area is automatically
expanded.
■ To expand all the program sections, click the plus sign (+) (Expand Tree) on
the Outline view toolbar.
■ To collapse the program sections, click the minus sign (-) (Collapse Tree) on
the Outline view toolbar.
We recommend that you expand and collapse the programs in the Outline view
to see how clicking a variable or label on the Outline view brings you immediately
to that location in the program listing.
View Monitoring Status
174 Graphical User Interface Primer
View Monitoring Status
The InterTest Debug view lists the programs that are monitored. If you want to
see whether a program is monitored, perform the following steps.
To view monitoring status
1. Click the + sign to the left of the batch project name on the InterTest Debug
view.
The tree expands and shows monitored and unmonitored folders.
2. Click the + sign next to the Monitored Programs folder.
The tree expands and shows the programs that are monitored.
Start Program Execution
Chapter 6: Basic COBOL Batch Demo Session 175
Start Program Execution
Now you are ready to begin testing the demo program.
To start program execution
1. On the InterTest Debug view, select the program you want to monitor in the
monitored folder, and click the green bug button on the InterTest Debug
view toolbar.
The InterTest Debug Settings dialog opens.
2. Click Submit to submit the job.
The InterTest Debug view now displays the debugging status as Debugging:
After a short time you will notice that the InterTest Debug view changes. The
debug button is now disabled, and the Step Once, Resume Debugging, and
the Cancel Debug Session buttons are now enabled.
Abend Occurs
176 Graphical User Interface Primer
In the Program Listing area there is a blue arrow on the left side of statement
427, the initial Breakpoint.
3. Click the Resume debugging button to continue debugging the
program.
Abend Occurs
The demo program is executing and CA InterTest detects an error at the ADD
instruction. Execution of that ADD instruction triggers an S0C7 abend, which CA
InterTest prevents.
Abend Occurs
Chapter 6: Basic COBOL Batch Demo Session 177
At the abend, the following events occur:
■ The appropriate program listing causing the error is activated (if the
program was not displayed earlier).
■ The program positions itself at the statement causing the error.
When CA InterTest stops program execution, we say that it halts the
program at a breakpoint. This is done automatically when an abend occurs,
or CA InterTest halts a program at a breakpoint that was set by you.
Determine the Cause of the Error
178 Graphical User Interface Primer
When an abend occurs:
■ A small blue arrow appears in the ruler to the left of the line causing the
error, and the line is highlighted.
■ The status in the InterTest Debug view now displays a diagnostic message.
This message explains that the error was caused by improperly formatted
data. Since Add +1 To TaskNum triggered the breakpoint, it is likely that
TASKNUM contains improperly formatted data.
Determine the Cause of the Error
CA InterTest displays the current value of TASKNUM in the Auto Data view, as
shown in the following illustration:
When the Auto Data view is open, CA InterTest automatically displays the values
of the variables associated with a statement. (The Watch Data view displays the
value of data items that you want to watch.) In this case, TASKNUM has been
displayed in the Auto Data view. The left column shows the name of the data
item. In the columns to the right are the field's display value, hex value, and data
type in the appropriate display format.
Now take a look at the contents of TASKNUM. Confirm that the value stored in
TASKNUM is not a valid packed decimal value by examining its current value in
the Auto Data view; that is, its value prior to the execution of the ADD statement
that triggered the S0C7. Instead, it contains low-values (binary zeros). COBOL
does not allow you to add a value to a field initialized with low values.
What You Can Do When Your Program is Stopped
Chapter 6: Basic COBOL Batch Demo Session 179
What You Can Do When Your Program is Stopped
Once a program is stopped, you can use the CA InterTest testing and debugging
facilities to do the following tasks:
■ Examine the source listing.
■ Examine and modify main and auxiliary storage (memory) to detect and
correct errors.
■ Set and remove breakpoints.
■ Examine a program's statement trace.
■ Keep data items in a watch view to observe changes in their values.
■ Abend your task with or without a dump.
■ Go around a problem by resuming program execution from a location other
than the one at which the program is currently stopped.
■ Execute the program in single-step mode; that is, the program executes one
verb and then stops.
When debugging your own programs, you will typically perform one or more of
these activities.
Change the Value in TASKNUM
You have identified and confirmed the cause of the problem. Now you want to fix
it.
To change the value in TASKNUM
1. Right-click the variable TASKNUM in the Auto Data view. Click Change Value.
The Data View Value dialog opens.
2. Select the Display value button.
Breakpoints
180 Graphical User Interface Primer
3. Change the value of TASKNUM displayed in the box to a numeric zero (type
a numeric zero).
Note: You do not have to know the type of data (binary, packed, and so on)
or the length of TASKNUM. You can change the contents of a field by
overtyping the desired bytes.
4. Click OK.
TASKNUM now contains a packed decimal zero.
Breakpoints
Now that the value in TASKNUM has been properly initialized, the next step
might be to continue testing by resuming program execution. However, this is a
good opportunity to learn about another important CA InterTest feature: the
ability to control program execution by setting breakpoints. A breakpoint is an
intentional stopping or pausing place in a program, put in place for debugging
purposes.
When you open or activate a program listing in the Program Listing area, the
breakpoints added to that program appear as blue circles . When the mouse
hovers over a blue circle, the following details of a breakpoint are displayed:
■ Breakpoint type
■ Program name
■ Statement number (in square brackets)
■ Source code text
Breakpoints
Chapter 6: Basic COBOL Batch Demo Session 181
The following illustration displays the information when the mouse hovers over a
blue circle:
In this example, execution stops at the label OPTIONS.
Types of Breakpoints
There are six types of breakpoints, as shown in the following table:
Breakpoint Type Function
Automatic The program stops because CA InterTest detected and
prevented an error.
Conditional The program stops at the location you specify if a
condition is met. Optionally, conditional breakpoints can
be set to stop at any instruction if a condition is met.
At All The program stops at every entry, exit, label, or dbcall.
Single-step The program stops after executing one or more verbs.
Unconditional The program stops at the location you specify, just before
the statement is executed.
Breakpoints
182 Graphical User Interface Primer
Breakpoint Type Function
Variable Change The program stops at any location if the value of a
specified variable has changed. This is a special type of
conditional breakpoint.
An automatic breakpoint occurs when CA InterTest detects an error. When a
program is stopped at an automatic breakpoint, you can either correct the error
or go around it. You set all other breakpoints.
In this section you will learn how to set and remove unconditional breakpoints,
because you will use these the most.
When to Use Breakpoints
You can set breakpoints at any time—before you execute the program and when
the program is stopped. Although where you decide to set breakpoints depends
on the specifics of your program, you might want to set breakpoints in the
following places:
■ At the beginning of the Procedure Division, so when the program executes
you can set additional breakpoints
■ At paragraph names, so you can examine the contents of variables at the
start of sections
■ Before a DBCALL, so you can dynamically control the program path
■ At the point where a program exits using AT ALL EXIT or AT EXIT
Set Unconditional Breakpoints
At an unconditional breakpoint the program stops at the location you specify,
just before the statement is executed. Let us see how to set a breakpoint at the
following IF statement. You set unconditional breakpoints directly on the
Program Listing area.
To set unconditional breakpoints
1. Click the demo COBOL program listing on the Program Listing area, so its
name is highlighted in its tab.
2. Press Ctrl F on your keyboard.
The Find/Replace dialog opens.
3. Type OPTIONS in the Find box, and click Find.
The demo program positions itself so that the line you searched for appears
in the program listing.
Breakpoints
Chapter 6: Basic COBOL Batch Demo Session 183
4. Continue clicking the Find button until line 504 is highlighted.
Breakpoints
184 Graphical User Interface Primer
5. Right-click the ruler to the left of the line you have selected, and select Add
Breakpoint.
Breakpoints
Chapter 6: Basic COBOL Batch Demo Session 185
A blue circle appears to the left of the ruler, and a blue mark appears in the
right-side vertical ruler. By default, the Add Breakpoint dialog adds an
unconditional breakpoint if the listing line is within the Procedure Division,
and a variable-change breakpoint if the line is within the Data Division.
Note: You cannot add a breakpoint in a comment line or outside the source code
section.
Breakpoints
186 Graphical User Interface Primer
Set Variable Change Breakpoints
Variable change breakpoints stop at any location if the value of a specified
variable has changed. In this example we are going to use TASKNUM as the
variable name, and CA InterTest will check the values of TASKNUM as the
program runs.
To set variable change breakpoints
1. Click the program on the Program Listing area, so its name is highlighted on
the toolbar.
2. Press Ctrl F to bring up the Find/Replace dialog, type tasknum in the Find
box, click Backward, and click Find.
The Program Listing positions itself at the first occurrence of TASKNUM in the
program listing.
3. Right-click TASKNUM and select Add to Watch Data. TASKNUM is now placed
into the Watch Data view.
Breakpoints
Chapter 6: Basic COBOL Batch Demo Session 187
4. Right-click the vertical ruler to the left of TASKNUM on the program listing,
and select Configure Breakpoint.
Breakpoints
188 Graphical User Interface Primer
The Add Global Breakpoint dialog opens with the variable name TASKNUM
displayed.
5. Click Finish.
The Add Global Breakpoint dialog closes and TASKNUM is now a variable
change breakpoint.
Note: Since TASKNUM is now a variable change breakpoint, a blue circle
does not display in the vertical ruler next to the selected variable name
TASKNUM.
Breakpoints
Chapter 6: Basic COBOL Batch Demo Session 189
Change Breakpoints
You may want to change an unconditional breakpoint to a conditional breakpoint
or a variable change breakpoint.
To change breakpoints
1. Right-click the blue circle to the left of the line (statement 504) where you
have set an unconditional breakpoint, and select Configure Breakpoint in the
dialog.
The Update Line Breakpoint dialog opens.
2. Click the Conditional breakpoint type button.
Breakpoints
190 Graphical User Interface Primer
3. Change the fields so they look like the following dialog:
Note: Character literals do not need to be prefixed with a C. The system
automatically recognizes them as characters. Thus, 2 is treated as F2,
whereas hex literals must be prefixed with an X.
4. Click Finish.
The dialog closes and the breakpoint displays in the Breakpoints view as a
conditional breakpoint.
How to Delete Breakpoints
As you continue testing and debugging it is good practice to remove breakpoints
you no longer need, so that the program will not stop unnecessarily.
It is easier to remove individual or multiple breakpoints from the Breakpoints
view when you have a number set throughout a large program and you do not
want to search through the source listing for them.
You can remove breakpoints in the following ways:
■ Hover the mouse on the vertical ruler to the left of the statement whose
breakpoint you want to remove, right-click, and select Delete Breakpoint.
The blue circle disappears, and there is no longer a breakpoint at this line.
Breakpoints
Chapter 6: Basic COBOL Batch Demo Session 191
■ Select the breakpoint from the list of breakpoints in the Breakpoints view,
right-click, and select Delete Breakpoint, or press the <Del> key.
■ To remove several breakpoints at one time
1. Click the first breakpoint on the Breakpoints view, hold down the Shift
key, then click the last breakpoint you want to remove.
The breakpoints you select are highlighted.
2. Right-click and select Delete Breakpoint.
The breakpoints you select are removed from the Breakpoints view and
the program listing.
Breakpoints
192 Graphical User Interface Primer
Delete Breakpoints
You have learnt different ways of deleting breakpoints. Now you are ready to
delete breakpoints from your program.
To delete breakpoints
1. Using any of the ways described in the previous topic, delete the variable
change breakpoint and the unconditional breakpoint at statement 492.
The blue circle disappears next to the statement.
Note: Do not delete the breakpoint at statement 504
2. Change the conditional breakpoint at statement 504 back to an
unconditional breakpoint by right-clicking Breakpoint in the Breakpoint view,
and selecting Configure Breakpoint, Unconditional.
3. Click Finish.
The breakpoint at statement 504 is now an unconditional breakpoint.
Bookmarks
Chapter 6: Basic COBOL Batch Demo Session 193
Bookmarks
Bookmarks help you to navigate quickly in the source code by marking individual
locations. You can add and delete bookmarks as needed.
The Bookmarks view displays all bookmarks placed on a specific line of the
program listing. The bookmarks appear in a table format that provides a
description of each bookmark, the name of the program where the bookmarks
are located, folder (path), and line number (location) in the Program Listing
area.
The following illustration displays a sample Bookmarks view, showing three
bookmarks in the CAMRCOBB program:
Note: This view is not displayed unless you open the view by selecting Window,
Show Views, Bookmarks on the CA InterTest main menu.
Add Bookmarks
You can add bookmarks to your program to help you navigate quickly through
the program.
To add a bookmark
1. Double-click the demo program on the InterTest Debug view.
The program listing displays in the Program Listing area.
2. Select the statement where you want to insert the bookmark.
The listing is positioned at the line which includes the selected item.
Bookmarks
194 Graphical User Interface Primer
3. Right-click the shaded vertical ruler on the left side of the listing view, and
select Add Bookmark.
The Add Bookmark dialog opens, with the line number and text displayed in
the Enter Bookmark Name field.
4. Edit the description for the bookmark, if required, and click OK.
A new bookmark is set at the selected statement. This is indicated by a small
rectangle appearing next to the scroll bar. The Bookmarks view displays
the details of the new bookmark.
In the Bookmarks view, after a bookmark is added, you can double-click the
bookmark to open the program listing, if not already opened. The listing is
positioned at the statement specified in the bookmark and highlights the
statement.
Bookmarks
Chapter 6: Basic COBOL Batch Demo Session 195
How to Remove Bookmarks
Once you have created and used bookmarks, it is a good idea to delete them, so
you do not clutter up your program or the Bookmarks view.
Select the line of code that contains a bookmark, and perform one of the
following steps:
■ From the program listing left-hand ruler:
Right-click your mouse, and select Remove Bookmark from the pop-up
menu.
■ From the Bookmarks view:
Highlight the bookmark and click the Delete button on the Bookmarks
view toolbar, or use the <Del> (Delete) key.
The bookmark is removed from the Bookmarks view and the program.
Resume Program Execution
196 Graphical User Interface Primer
Resume Program Execution
You have found a bug in your program, and resolved it. You have added
breakpoints and removed them. You have added and deleted bookmarks. Now
you want to continue running your program.
To resume program execution
1. Click the Step Once button on the toolbar
The program halts on statement 492, the next statement after ADD +1 TO
TASKNUM. The Watch Data view now displays TASKNUM with a value of +1.
2. Click the Resume Debugging button.
Because you set a conditional breakpoint on the statement OPTIONS, the
program halts at the statement OPTIONS.
Resume Program Execution
Chapter 6: Basic COBOL Batch Demo Session 197
3. Click the Resume Debugging button again.
The following dialog opens.
4. Click OK to terminate the debugging session.
Chapter 7: Basic PL/I Batch Demo Session 199
Chapter 7: Basic PL/I Batch Demo
Session
This demo session takes you step-by-step through the basic CA InterTest Batch
demo session. Performing the demo at a PC is the best way to begin learning
about CA InterTest and the graphical user interface. If a PC is not available, you
can still learn about the product by reading this chapter.
This section contains the following topics:
Before You Begin (see page 200)
Synchronized Processing (see page 201)
How to Run the Demo Session (see page 202)
Demo Source (see page 203)
Import CA InterTest Server Settings (see page 204)
Check the Server Status (see page 205)
Create a Batch Project (see page 206)
Configure Debug Settings (see page 207)
Select the Source Program to Monitor (see page 212)
How to Use the Outline View (see page 216)
View Monitoring Status (see page 217)
Start Program Execution (see page 218)
Abend Occurs (see page 220)
Determine the Cause of the Error (see page 222)
Change the Value in TASKNUM (see page 222)
What You Can Do When Your Program is Stopped (see page 223)
Breakpoints (see page 224)
Bookmarks (see page 235)
Resume Program Execution (see page 238)
Before You Begin
200 Graphical User Interface Primer
Before You Begin
The examples in this guide use default CA InterTest library names, which differ
from installation to installation.
Because the guide cannot anticipate differences at your installation, you need to
know certain information specific to your CA InterTest installation before
attempting the tutorial sessions in this guide. The following list identifies
information you need to know before you can attempt the demo session:
From your IBM installation
■ User ID
■ z/OS host name
■ CA InterTest PROTSYM data set names
From CA InterTest
■ Path to the file containing CA InterTest server settings to be imported. If
your CA InterTest was installed properly it should begin with a properly
configured set of servers for your site. For more information, see the CA
InterTest Batch Installation Guide.
Synchronized Processing
Chapter 7: Basic PL/I Batch Demo Session 201
Synchronized Processing
Before you begin testing you should be aware that when CA InterTest searches
the symbolic files for the programs that you specify for testing, it tries to match
the date and time in the symbolic file to that of the load module. If a match
cannot be found, a dialog opens, as shown in the following example.
Select the version you want the mainframe debugger to use and click Use or
Abend Step, or, if you do not want to monitor the file after all, select Do Not
Monitor. Based on your decision, the local version will be updated to match your
choice.
This CA InterTest feature lets you maintain synchronized processing at all times
by letting you select the correct symbolic version of the program that you want
to test.
Note: For a complete description of this feature, see the CA InterTest Batch User
Guide.
How to Run the Demo Session
202 Graphical User Interface Primer
Symbolic Version Processing
During standard breakpoint (unconditional, conditional, and variable change)
processing, CA InterTest matches the post processed symbolic file date and time
to the load module date and time.
■ If an exact match is found, CA InterTest automatically selects and displays
the program listing.
■ If no exact match is found, CA InterTest displays the symbolic version list
from which you can do the following:
– Select the appropriate symbolic file
– Ignore symbolic processing for the program
The dialog also explains the cause of the mismatch.
During automatic breakpoint processing, if a program has no previously selected
symbolic file, CA InterTest matches the load module's date/time to a symbolic
file.
■ If an exact match is found, CA InterTest automatically selects and displays
the program.
■ If no match is found, CA InterTest automatically selects the first symbolic file
that contains the program and displays it with a warning message on the first
Source Listing Breakpoint screen indicating the mismatch.
Note: Once you select a symbolic file for a program, CA InterTest continues to
use the selected file and bypasses subsequent date/time matching until all
declared breakpoints and monitoring options are removed for the program.
How to Run the Demo Session
The CA InterTest basic demo session takes you through the following scenario:
1. Connecting to a server.
2. Checking the server status.
3. Creating a batch project.
4. Configuring the debug settings.
5. Selecting the program to debug.
6. Responding to the information provided when a program error is detected.
CA InterTest intercepts and prevents an S0C7 abend. It halts the demo
program at an ADD statement and displays a diagnostic message informing
you that the problem was caused by improperly formatted data.
Demo Source
Chapter 7: Basic PL/I Batch Demo Session 203
7. Examining the value of a data item.
Examine the current value of TASKNUM, the receiving field in the ADD
statement that you suspect may be the cause of the problem. You find that
TASKNUM does not contain a valid packed decimal number.
8. Changing dynamically the value of a data item.
Modify the value of TASKNUM to correct the error.
9. Setting a breakpoint to halt the program at another statement.
This step is purely instructional; it has nothing to do with correcting the S0C7
abend.
10. Adding and removing a bookmark.
11. Resuming program execution.
Resume program execution. CA InterTest halts the program at the
breakpoint you set in the previous statement. You see that the value of
TASKNUM changed when the ADD statement executed.
12. Cleaning up by removing the breakpoint you set.
13. Resuming program execution and the demo program runs to completion.
Demo Source
The source programs for this demo are as follows:
Type of Program Name of Program
Assembler CAMRASMB
COBOL CAMRCOBB
PL/I CAMRPLIB
Use the compile procedures created during installation to compile a demo
program, populate the PROTSYM, and link the program.
When testing a program, CA InterTest automatically intercepts all abends. How
this works is illustrated later when CA InterTest prevents the demo program
from abending because of an S0C7.
Import CA InterTest Server Settings
204 Graphical User Interface Primer
Import CA InterTest Server Settings
Before you start a debugging session you must connect to a CA InterTest server.
The GUI component runs on Windows and the debugging session runs on z/OS.
This server provides the communication between the user interface and the
mainframe platform.
If your CA InterTest was installed properly it should begin with a properly
configured set of servers for your site. For more information, see the CA
InterTest Batch Installation Guide.
To import CA InterTest server settings
1. Start CA InterTest.
The CA InterTest main window opens.
2. Click File, Import.
The Import dialog opens.
Check the Server Status
Chapter 7: Basic PL/I Batch Demo Session 205
3. Click Next.
The Import Server Settings dialog opens.
4. Type or browse for the file path (provided by the CA InterTest administrator)
to the file containing the server settings.
5. Click Finish.
You are now connected to a CA InterTest server.
Check the Server Status
It is a good idea to make sure that the server you are connected to is running.
To check the server status
1. Click Window, Show Views, Servers, on the CA InterTest main window
toolbar if the Servers view is not already visible.
The Servers view opens, displaying the name of the server and its status, as
shown in the following illustration:
Create a Batch Project
206 Graphical User Interface Primer
The server will have one of the following statuses:
Available
The GUI is connected to a mainframe server that is running.
Not Available
The GUI failed to connect to the server and is not running. The reason for
the failure is denoted next to its status.
2. If the Status column is blank, click the Refresh Server button on the
Servers view toolbar.
The system may take several seconds to respond.
3. If the status remains blank or Not Available, contact your CA InterTest
administrator.
Create a Batch Project
After you are connected to a server, you need to create a batch project in which
to debug your program.
To create a batch project
1. Click the Create Batch Project button on the CA InterTest main window
toolbar.
The New Batch Project dialog opens.
2. Type Basic Demo in the Project Name field.
Configure Debug Settings
Chapter 7: Basic PL/I Batch Demo Session 207
3. Check the Use default location box.
4. Select Basic Demo from the InterTest Server drop-down.
5. Check the Session will debug PL/I box.
Note: Do not check the Import files once project is created box.
6. Click Finish.
The InterTest Debug view displays the project name, the server name,
debugging status, and two empty folders: Monitored Programs and
Unmonitored Programs, as shown in the following illustration:
Configure Debug Settings
You now need to set the debug settings for your batch project.
To configure debug settings
1. Click the project name (Basic Demo) on the InterTest Debug view,
right-click, and select Configure Session Debug Settings.
The InterTest Debug Settings dialog opens with the main tab in view.
2. Click the InterTest Server drop-down list, and select Basic Demo.
Configure Debug Settings
208 Graphical User Interface Primer
3. Click Session will debug PL/I under the Main tab.
Configure Debug Settings
Chapter 7: Basic PL/I Batch Demo Session 209
4. Select the PROTSYM tab.
5. Click Add, and add CAI.PROTSYM as the PROTSYM data set name, or the
data set name provided by your CA InterTest administrator, in the Add
Dataset Name dialog. Click OK.
The data set name appears in the PROTSYM Datasets area.
6. Click the JCL Settings tab.
The InterTest Debug Settings dialog opens.
7. Complete the following fields:
InterTest Server
Displays Basic Demo. If Basic Demo is not showing, select it in the box.
Conversion JCL Dataset(Member Name)
Describes the mainframe data set name and member name. Type
CAI.CAISRC(DEMOJCL) or a data set name provided by your CA
InterTest administrator.
Dataset Type
Describes the type of data set. Select IBM PDS, or the data set type
appropriate to the one provided by your CA InterTest administrator.
Configure Debug Settings
210 Graphical User Interface Primer
Job Step Name
Describes the name of the job step. Type Step1.
PROCLIB List
Leave empty.
Converted/Submit JCL Dataset(Member Name)
Describes the output data set where the converted JCL resides. Type
HLQ.MYJCL(BATCHDMO), where HLQ is the high level qualifier you
choose, or any allocated PDS (partitioned data set).
The following illustration shows the completed dialog:
8. Click the Convert JCL button.
The converted JCL will be placed in HLQ.MYJCL(BATCHDMO).
Configure Debug Settings
Chapter 7: Basic PL/I Batch Demo Session 211
9. After the JCL conversion is complete, click the Edit JCL button to edit the
converted JCL.
The Edit JCL dialog opens.
10. Make the following changes to the Edit JCL dialog:
■ Change the job card to conform with your installation standards.
■ Change EXEC = CAMRCOBB to EXEC = CAMRPLIB.
■ Change PROFILE=YOURID to PROFILE=(your TSO User ID).
Select the Source Program to Monitor
212 Graphical User Interface Primer
The following illustration shows the edited JCL:
11. Make sure the PDS data set you are editing is not being used in TSO or CA
Roscoe.
12. Click OK.
The Edit JCL dialog closes and you return to the InterTest Debug Settings
dialog.
13. Click Finish.
You receive a message indicating that the file has been saved successfully.
Click OK. You return to the InterTest main window.
Select the Source Program to Monitor
Now you are ready to look at the programs and instruct CA InterTest to monitor
a program. As part of monitoring a batch program, CA InterTest automatically
prevents all abends during execution. How this works is shown later when CA
InterTest prevents your program from abending because of an S0C7.
To select the source program to monitor
1. Verify that the program to be debugged has been compiled and
post-processed into the PROTSYM files.
2. Click the InterTest Debug view so that it is the active view.
Select the Source Program to Monitor
Chapter 7: Basic PL/I Batch Demo Session 213
3. Click the project name (Basic Demo) on the CA InterTest Debug view.
The project name is highlighted.
4. Click the Import PROTSYM Files button on the CA InterTest main window
toolbar.
The Import PROTSYM Files dialog opens.
5. Enter the following information:
InterTest Server
Defines the CA InterTest server. Select Basic Demo.
PROTSYM Data Set
Defines the fully-qualified data set name of the CA InterTest PROTSYM
VSAM file.
Type CAI.PROTSYM, or substitute CAI.PROTSYM with the DSN
provided by your CA InterTest administrator.
If you receive an error about failure to retrieve a member list, check with
your CA InterTest administrator.
Note: You may be prompted to log on to your mainframe TSO here, if
you have not already done so through CA InterTest.
Select the Source Program to Monitor
214 Graphical User Interface Primer
6. Click List Members.
The table is filled with the programs in the data set you chose.
7. Scroll down through the table until you reach CAMRPLIB, the program you
want to debug. Select the program by checking the box next to it.
Note: The file list may not contain the name of the demo program. This is
because the CA InterTest administrator who installed CA InterTest changed
the name of the sample programs available to you. Check with your CA
InterTest administrator to find out the correct name.
8. If the Into folder box is empty, click the Browse button, and select the Basic
Demo folder to import the program into.
The name Basic Demo appears in the Into folder box.
9. Ensure that the two check boxes in the Options section are selected.
Select the Source Program to Monitor
Chapter 7: Basic PL/I Batch Demo Session 215
10. Click Finish.
The demo program displays in the InterTest Debug view in the Monitored
Programs folder.
11. Double-click the demo program name on the InterTest Debug view.
The program listing displays in the Program Listing area, with an outline of
the program in the Outline view.
How to Use the Outline View
216 Graphical User Interface Primer
How to Use the Outline View
The Outline view displays an outline of the program that is currently active in the
Program Listing area and lists the structural elements. This makes it easier to
display any section of your PL/I program. The contents of the Outline view are
specific to the active program listing. The Outline view contains a top level node
for each action. The following example shows the Outline view of CAMRPLIB:
■ To expand the tree on the Outline view, click the plus sign (+) next to the
text. Selecting a variable or label name repositions the program listing to the
line containing the name. If the location is collapsed, the area is
automatically expanded.
■ To expand all the program sections, click the plus sign (+) (Expand Tree) on
the Outline view toolbar.
View Monitoring Status
Chapter 7: Basic PL/I Batch Demo Session 217
■ To collapse the program sections, click the minus sign (-) (Collapse Tree) on
the Outline view toolbar.
We recommend that you expand and collapse the programs on the Outline view
to see how clicking a variable or label on the Outline view brings you immediately
to that location in the program listing.
View Monitoring Status
The InterTest Debug view lists the programs that are monitored. If you want to
see whether a program is monitored, perform the following steps.
To view monitoring status
1. Click the + sign to the left of the batch project name on the InterTest Debug
view.
The tree expands and shows monitored and unmonitored folders.
Start Program Execution
218 Graphical User Interface Primer
2. Click the + sign next to the Monitored Programs folder.
The tree expands and shows the programs that are monitored.
Start Program Execution
Now you are ready to begin testing the demo program.
To start program execution
1. On the InterTest Debug view, select the program you want to monitor in the
monitored folder, and click the green bug button on the InterTest Debug
view toolbar.
The InterTest Debug Settings dialog opens.
2. Click Submit to submit the job.
The InterTest Debug view now displays the debugging status as Debugging:
Start Program Execution
Chapter 7: Basic PL/I Batch Demo Session 219
After a short time you will notice that the InterTest Debug view changed. The
debug button is now disabled, and the Step Once, Resume Debugging, and
the Cancel Debug Session buttons are now enabled.
In the Program Listing area there is a blue arrow on the left side of statement
1.1, the initial Breakpoint.
3. Click the Resume debugging button to continue debugging the
program.
Abend Occurs
220 Graphical User Interface Primer
Abend Occurs
The demo program is executing and CA InterTest detects an error at the ADD
instruction. Execution of that ADD instruction triggers a S0C7 abend, which CA
InterTest prevents.
At the abend, the following events occur:
■ The appropriate program listing causing the error is activated (if the
program was not displayed earlier).
Abend Occurs
Chapter 7: Basic PL/I Batch Demo Session 221
■ The program positions itself at the statement causing the error.
When CA InterTest stops program execution, we say that it halts the
program at a breakpoint. This is done automatically when an abend occurs,
or CA InterTest halts a program at a breakpoint that was set by you.
When an abend occurs:
■ A small blue arrow appears in the ruler to the left of the line causing the
error, and the line is highlighted.
■ The status in the InterTest Debug view now displays a diagnostic message.
This message explains that the error was caused by improperly formatted
data (S0C7). Since Add +1 To TaskNum triggered the breakpoint, it is likely
that TASKNUM contains improperly formatted data.
Determine the Cause of the Error
222 Graphical User Interface Primer
Determine the Cause of the Error
CA InterTest displays the current value of TASKNUM in the Auto Data view, as
shown in the following illustration:
When the Auto Data view is open, CA InterTest automatically displays the values
of the variables associated with a statement. (The Watch Data view displays the
value of data items that you want to watch.) In this case, TASKNUM has been
displayed in the Auto Data view. The left column shows the name of the data
item. In the columns to the right are the field's display value, hex value, and data
type in the appropriate display format.
Now take a look at the contents of TASKNUM. Confirm that the value stored in
TASKNUM is not a valid packed decimal value by examining its current value in
the Auto Data view; that is, its value prior to the execution of the ADD statement
that triggered the S0C7. Instead, it contains low-values (binary zeros). PL/I does
not allow you to assign a value to a field initialized with low values.
Change the Value in TASKNUM
You have identified and confirmed the cause of the problem. Now you want to fix
it.
To change the value in TASKNUM
1. Right-click the variable TASKNUM in the Auto Data view. Click Change Value.
The Data View Value dialog opens.
2. Select the Display value button.
What You Can Do When Your Program is Stopped
Chapter 7: Basic PL/I Batch Demo Session 223
3. Change the value of TASKNUM displayed in the box to a numeric zero (type
a numeric zero).
Note: You do not have to know the type of data (binary, packed, and so on)
or the length of TASKNUM. You can change the contents of a field by
overtyping the desired bytes.
4. Click OK.
The variable TASKNUM now contains a packed decimal zero.
What You Can Do When Your Program is Stopped
Once a program is stopped, you can use the CA InterTest testing and debugging
facilities to do the following tasks:
■ Examine the source listing.
■ Examine and modify main and auxiliary storage (memory) to detect and
correct errors.
■ Set and remove breakpoints.
■ Examine a program's statement trace.
■ Keep data items in a watch view to observe changes in their values.
■ Abend your task with or without a dump.
■ Go around a problem by resuming program execution from a location other
than the one at which the program is currently stopped.
■ Execute the program in single-step mode; that is, the program executes one
verb and then stops.
When debugging your own programs, you will typically perform one or more of
these activities.
Breakpoints
224 Graphical User Interface Primer
Breakpoints
Now that the value in TASKNUM has been properly initialized, the next step
might be to continue testing by resuming program execution. However, this is a
good opportunity to learn about another important CA InterTest feature: the
ability to control program execution by setting breakpoints. A breakpoint is an
intentional stopping or pausing place in a program, put in place for debugging
purposes.
When you open or activate a program listing in the Program Listing area, the
breakpoints added to that program appear as blue circles . When the mouse
hovers over a blue circle, the following details of a breakpoint are displayed:
■ Breakpoint type
■ Program name
■ Statement number (in square brackets)
■ Source code text
The following illustration displays the information when the mouse hovers over a
blue circle:
In this example, execution stops just before the statement GO TO OPTIONS is
executed.
Breakpoints
Chapter 7: Basic PL/I Batch Demo Session 225
Types of Breakpoints
There are six types of breakpoints, as shown in the following table:
Breakpoint Type Function
Automatic The program stops because CA InterTest detected and
prevented an error.
Conditional The program stops at the location you specify if a
condition is met. Optionally, conditional breakpoints can
be set to stop at any instruction if a condition is met.
At All The program stops at every entry, exit, label, or dbcall.
Single-step The program stops after executing one or more verbs.
Unconditional The program stops at the location you specify, just before
the statement is executed.
Variable Change The program stops at any location if the value of a
specified variable has changed. This is a special type of
conditional breakpoint.
An automatic breakpoint occurs when CA InterTest detects an error. When a
program is stopped at an automatic breakpoint, you can either correct the error
or go around it. You set all other breakpoints.
In this section you will learn how to set and remove unconditional breakpoints,
because you will use these the most.
When to Use Breakpoints
You can set breakpoints at any time—before you execute the program and when
the program is stopped. Although where you decide to set breakpoints depends
on the specifics of your program, you might want to set breakpoints in the
following places:
■ At the beginning of a procedure, so when the program executes you can set
additional breakpoints
■ At label names, so you can examine the contents of variables at the start of
sections
■ Before a call or DBCALL, so you can dynamically control the program path
■ At the point where a program exits using AT ALL EXIT or AT EXIT
Breakpoints
226 Graphical User Interface Primer
Set Unconditional Breakpoints
At an unconditional breakpoint the program stops at the location you specify,
just before the statement is executed. You set unconditional breakpoints directly
in the Program Listing area.
To set unconditional breakpoints
1. Click the demo PL/I program listing on the Program Listing area, so its name
is highlighted in its tab.
2. Press Ctrl F on your keyboard.
The Find/Replace dialog opens.
3. Type OPTIONS in the Find box, and click Find.
The demo program positions itself so that the line you searched for appears
in the program listing.
4. Continue clicking the Find button until line 287.1 is highlighted.
Breakpoints
Chapter 7: Basic PL/I Batch Demo Session 227
5. Right-click the ruler to the left of the line you have selected, and select Add
Breakpoint.
Breakpoints
228 Graphical User Interface Primer
A blue circle appears to the left of the ruler, and a blue mark appears in the
right-side vertical ruler. By default, the Add Breakpoint dialog adds an
unconditional breakpoint if the listing line is within a procedure, and a
variable-change breakpoint if the line is a variable declare statement.
Note: You cannot add a breakpoint in a comment line or outside the source code
section.
Set Variable Change Breakpoints
Variable change breakpoints stop at any location if the value of a specified
variable has changed. In this example we are going to use TASKNUM as the
variable name, and CA InterTest will check the values of TASKNUM as the
program runs.
To set variable change breakpoints
1. Click the program on the Program Listing area.
The name of the program in the toolbar is highlighted.
Breakpoints
Chapter 7: Basic PL/I Batch Demo Session 229
2. Press Ctrl F to bring up the Find/Replace dialog, type tasknum in the Find
box, click Backward, and click Find.
The Program Listing positions itself at the first occurrence of TASKNUM in the
program listing.
3. Right-click TASKNUM and select Add to Watch Data.
TASKNUM is now placed into the Watch Data view.
Breakpoints
230 Graphical User Interface Primer
4. Right-click the vertical ruler to the left of TASKNUM on the program listing,
and select Configure Breakpoint.
Breakpoints
Chapter 7: Basic PL/I Batch Demo Session 231
The Add Global Breakpoint dialog opens with the variable name TASKNUM
displayed.
5. Click Finish.
The Add Global Breakpoint dialog closes and TASKNUM is now a variable
change breakpoint.
Note: Since TASKNUM is now a variable change breakpoint, a blue circle
does not display in the vertical ruler next to the selected variable name
TASKNUM.
Breakpoints
232 Graphical User Interface Primer
Change Breakpoints
You may want to change an unconditional breakpoint to a conditional breakpoint
or a variable change breakpoint.
To change breakpoints
1. Right-click the blue circle to the left of the line (statement 287.1) where you
have set an unconditional breakpoint, and select Configure Breakpoint in the
dialog.
The Update Line Breakpoint dialog opens.
2. Click the Conditional breakpoint type button.
Breakpoints
Chapter 7: Basic PL/I Batch Demo Session 233
3. Change the fields so they look like the following dialog:
Note: Numeric literals do not require any prefix or quotes. Thus, the
example LOOP_OUT is compared with F2. Character literals need to be
prefixed with a C. Hex literals must be prefixed with an X.
4. Click Finish.
The dialog closes and the breakpoint displays in the Breakpoints view as a
conditional breakpoint.
5. Now make statement 295.1 an unconditional breakpoint.
How to Delete Breakpoints
As you continue testing and debugging it is good practice to delete breakpoints
you no longer need, so that the program will not stop unnecessarily.
It is easier to delete individual or multiple breakpoints from the Breakpoints view
when you have a number set throughout a large program and you do not want to
search through the source listing for them.
You can delete breakpoints in the following ways:
■ Hover the mouse on the vertical ruler to the left of the statement whose
breakpoint you want to delete, right-click, and select Delete Breakpoint. The
blue circle disappears, and there is no longer a breakpoint at this line.
Breakpoints
234 Graphical User Interface Primer
■ Select the breakpoint from the list of breakpoints in the Breakpoints view,
right-click, and select Delete Breakpoint.
■ To delete several breakpoints at one time
1. Click the first breakpoint on the Breakpoints view, hold down the Shift
key, then click the last breakpoint you want to delete.
The breakpoints you select are highlighted.
2. Right-click and select Delete Breakpoint.
The breakpoints you select are deleted from the Breakpoints view and
the program listing.
Delete Breakpoints
You have learnt different ways of deleting breakpoints. Now you are ready to
delete breakpoints from your program.
Using any of the ways described in the previous topic, delete the variable change
breakpoint and the data conditional breakpoint at statement 287.
Note: Do not delete the breakpoint at statement 295.
Bookmarks
Chapter 7: Basic PL/I Batch Demo Session 235
Bookmarks
Bookmarks help you to navigate quickly in the source code by marking individual
locations. You can add and delete bookmarks as needed.
The Bookmarks view displays all bookmarks placed on a specific line of the
program listing. The bookmarks appear in a table format that provides a
description of each bookmark, the name of the program where the bookmarks
are located, folder (path), and line number (location) in the Program Listing
area.
The following illustration displays a sample Bookmarks view, showing three
bookmarks in the CAMRPLIB program:
Note: This view is not displayed unless you open the view by selecting Window,
Show Views, Bookmarks on the CA InterTest main menu.
Add Bookmarks
You can add bookmarks to your program to help you navigate quickly through
the program.
To add a bookmark
1. Double-click the demo program on the InterTest Debug view.
The program listing displays in the Program Listing area.
2. Select the statement where you want to insert the bookmark.
The listing is positioned at the line which includes the selected item.
Bookmarks
236 Graphical User Interface Primer
3. Right-click the shaded vertical ruler on the left side of the listing view, and
select Add Bookmark.
The Add Bookmark dialog opens, with the text of the selected line displayed
in the Enter Bookmark Name field.
4. Edit the description for the bookmark, if required and click OK.
A new bookmark is set at the selected statement. This is indicated by a small
rectangle appearing next to the scroll bar. The Bookmarks view displays
the details of the new bookmark.
In the Bookmarks view, after a bookmark is added, you can double-click the
bookmark to open the program listing, if not already opened. The listing is
positioned at the statement specified in the bookmark and highlights the
statement.
Bookmarks
Chapter 7: Basic PL/I Batch Demo Session 237
How to Remove Bookmarks
Once you have created and used bookmarks, it is a good idea to delete them, so
you do not clutter up your program or the Bookmarks view.
Select the line of code that contains a bookmark, and perform one of the
following steps:
■ From the program listing left-hand ruler:
Right-click your mouse, and select Remove Bookmark from the pop-up
menu.
■ From the Bookmarks view:
Highlight the bookmark and click the Delete button on the Bookmarks
view toolbar, or use the <Del> (Delete) key.
The bookmark is removed from the Bookmarks view and the program.
Resume Program Execution
238 Graphical User Interface Primer
Resume Program Execution
You have found a bug in your program, and resolved it. You have added
breakpoints and removed them. You have added and deleted bookmarks. Now
you want to continue running your program.
To resume program execution
1. Click the Step Once button on the toolbar.
The program halts on statement 492, the next statement after ADD + 1 TO
TASKNUM. The Watch Data view now displays TASKNUM with a value of +1.
2. Click the Resume Debugging button on the toolbar.
Because you set a conditional breakpoint on the statement 295.1, the
program halts at the statement.
3. Click the Resume Debugging button again.
The following dialog opens.
4. Click OK to terminate the debugging session.
Chapter 8: Basic Assembler Batch Demo Session 239
Chapter 8: Basic Assembler Batch Demo
Session
This demo session takes you step-by-step through the basic CA InterTest Batch
demo session. Performing the demo at a PC is the best way to begin learning
about CA InterTest and the graphical user interface. If a PC is not available, you
can still learn about the product by reading this chapter.
This section contains the following topics:
Before You Begin (see page 240)
Synchronized Processing (see page 241)
How to Run the Demo Session (see page 242)
Demo Source (see page 243)
Import CA InterTest Server Settings (see page 244)
Check the Server Status (see page 245)
Create a Batch Project (see page 246)
Configure Debug Settings (see page 247)
Select the Source Program to Monitor (see page 251)
How to Use the Outline View (see page 255)
View Monitoring Status (see page 257)
Start Program Execution (see page 258)
Abend Occurs (see page 260)
Determine the Cause of the Error (see page 262)
Change the Value in TASKNUM (see page 263)
What You Can Do When Your Program is Stopped (see page 265)
Breakpoints (see page 265)
Bookmarks (see page 276)
Resume Program Execution (see page 278)
Before You Begin
240 Graphical User Interface Primer
Before You Begin
The examples in this guide use default CA InterTest library names, which differ
from installation to installation.
Because the guide cannot anticipate differences at your installation, you need to
know certain information specific to your CA InterTest installation before
attempting the tutorial sessions in this guide. The following list identifies
information you need to know before you can attempt the demo session:
From your IBM installation
■ User ID
■ z/OS host name
■ CA InterTest PROTSYM data set names
From CA InterTest
■ Path to the file containing CA InterTest server settings to be imported. If
your CA InterTest was installed properly it should begin with a properly
configured set of servers for your site. For more information, see the CA
InterTest Batch Installation Guide.
Synchronized Processing
Chapter 8: Basic Assembler Batch Demo Session 241
Synchronized Processing
Before you begin testing you should be aware that when CA InterTest searches
the symbolic files for the programs that you specify for testing, it tries to match
the date and time in the symbolic file to that of the load module. If a match
cannot be found, a dialog opens, as shown in the following example.
Select the version you want the mainframe debugger to use and click Use or
Abend Step, or, if you do not want to monitor the file after all, select Do Not
Monitor. Based on your decision, the local version will be updated to match your
choice.
This CA InterTest feature lets you maintain synchronized processing at all times
by letting you select the correct symbolic version of the program that you want
to test.
Note: For a complete description of this feature, see the CA InterTest Batch User
Guide.
How to Run the Demo Session
242 Graphical User Interface Primer
Symbolic Version Processing
During standard breakpoint (unconditional, conditional, and variable change)
processing, CA InterTest matches the post processed symbolic file date and time
to the load module date and time.
■ If an exact match is found, CA InterTest automatically selects and displays
the program listing.
■ If no exact match is found, CA InterTest displays the symbolic version list
from which you can do the following:
– Select the appropriate symbolic file
– Ignore symbolic processing for the program
The dialog also explains the cause of the mismatch.
During automatic breakpoint processing, if a program has no previously selected
symbolic file, CA InterTest matches the load module's date/time to a symbolic
file.
■ If an exact match is found, CA InterTest automatically selects and displays
the program.
■ If no match is found, CA InterTest automatically selects the first symbolic file
that contains the program and displays it with a warning message on the first
Source Listing Breakpoint screen indicating the mismatch.
Note: Once you select a symbolic file for a program, CA InterTest continues to
use the selected file and bypasses subsequent date/time matching until all
declared breakpoints and monitoring options are removed for the program.
How to Run the Demo Session
The CA InterTest basic demo session takes you through the following scenario:
1. Connecting to a server.
2. Checking the server status.
3. Creating a batch project.
4. Configuring the debug settings.
5. Selecting the program to debug.
6. Responding to the information provided when a program error is detected.
CA InterTest intercepts and prevents an S0C7 abend. It halts the demo
program at an ADD statement and displays a diagnostic message informing
you that the problem was caused by improperly formatted data.
Demo Source
Chapter 8: Basic Assembler Batch Demo Session 243
7. Examining the value of a data item.
Examine the current value of TASKNUM, the receiving field in the ADD
statement that you suspect may be the cause of the problem. You find that
TASKNUM does not contain a valid packed decimal number.
8. Changing dynamically the value of a data item.
Modify the value of TASKNUM to correct the error.
9. Setting a breakpoint to halt the program at another statement.
This step is purely instructional; it has nothing to do with correcting the S0C7
abend.
10. Adding and removing a bookmark.
11. Resuming program execution.
Resume program execution. CA InterTest halts the program at the
breakpoint you set in the previous statement. You see that the value of
TASKNUM changed when the ADD statement executed.
12. Cleaning up by removing the breakpoint you set.
13. Resuming program execution and the demo program runs to completion.
Demo Source
The source programs for this demo are as follows:
Type of Program Name of Program
Assembler CAMRASMB
COBOL CAMRCOBB
PL/I CAMRPLIB
Use the compile procedures created during installation to compile a demo
program, populate the PROTSYM, and link the program.
When testing a program, CA InterTest automatically intercepts all abends. How
this works is illustrated later when CA InterTest prevents the demo program
from abending because of an S0C7.
Import CA InterTest Server Settings
244 Graphical User Interface Primer
Import CA InterTest Server Settings
Before you start a debugging session you must connect to a CA InterTest server.
The GUI component runs on Windows and the debugging session runs on z/OS.
This server provides the communication between the user interface and the
mainframe platform.
If your CA InterTest was installed properly it should begin with a properly
configured set of servers for your site. For more information, see the CA
InterTest Batch Installation Guide.
To import CA InterTest server settings
1. Start CA InterTest.
The CA InterTest main window opens.
2. Click File, Import.
The Import dialog opens.
Check the Server Status
Chapter 8: Basic Assembler Batch Demo Session 245
3. Click Next.
The Import Server Settings dialog opens.
4. Type or browse for the file path (provided by the CA InterTest administrator)
to the file containing the server settings.
5. Click Finish.
You are now connected to a CA InterTest server.
Check the Server Status
It is a good idea to make sure that the server you are connected to is running.
To check the server status
1. Click Window, Show Views, Servers, on the CA InterTest main window
toolbar if the Servers view is not already visible.
The Servers view opens, displaying the name of the server and its status, as
shown in the following illustration:
Create a Batch Project
246 Graphical User Interface Primer
The server will have one of the following statuses:
Available
The GUI is connected to a mainframe server that is running.
Not Available
The GUI failed to connect to the server and is not running. The reason for
the failure is denoted next to its status.
2. If the Status column is blank, click the Refresh Server button on the
Servers view toolbar.
The system may take several seconds to respond.
3. If the status remains blank or Not Available, contact your CA InterTest
administrator.
Create a Batch Project
After you are connected to a server, you need to create a batch project in which
to debug your program.
To create a batch project
1. Click the Create Batch Project button on the CA InterTest main window
toolbar.
The New Batch Project dialog opens.
2. Type Basic Demo in the Project Name field.
Configure Debug Settings
Chapter 8: Basic Assembler Batch Demo Session 247
3. Check the Use default location box.
4. Select Basic Demo from the InterTest Server drop-down.
Note: Do not check the boxes Session will debug PL/I, or Import files once
project is created.
5. Click Finish.
The InterTest Debug view displays the project name, the server name,
debugging status, and two empty folders: Monitored Programs and
Unmonitored Programs, as shown in the following illustration:
Configure Debug Settings
You now need to set the debug settings for your batch project.
To configure debug settings
1. Click the project name (Basic Demo) on the InterTest Debug view,
right-click, and select Configure Session Debug Settings.
The InterTest Debug Settings dialog opens with the main tab in view.
2. Click the InterTest Server drop-down list, and select Basic Demo.
Configure Debug Settings
248 Graphical User Interface Primer
3. Select the PROTSYM tab.
4. Click Add, and add CAI.PROTSYM as the PROTSYM data set name, or the
data set name provided by your CA InterTest administrator, in the Add
Dataset Name dialog. Click OK.
The data set name appears in the PROTSYM Datasets area.
5. Click the JCL Settings tab.
The InterTest Debug Settings dialog opens.
6. Complete the following fields:
InterTest Server
Displays Basic Demo. If Basic Demo is not showing, select it in the box.
Conversion JCL Dataset(Member Name)
Describes the mainframe data set name and member name. Type
CAI.CAISRC(DEMOJCL) or a data set name provided by your CA
InterTest administrator.
Dataset Type
Describes the type of data set. Select IBM PDS, or the data set type
appropriate to the one provided by your CA InterTest administrator.
Configure Debug Settings
Chapter 8: Basic Assembler Batch Demo Session 249
Job Step Name
Describes the name of the job step. Type Step1.
PROCLIB List
Leave empty.
Converted/Submit JCL Dataset(Member Name)
Describes the output data set where the converted JCL resides. Type
HLQ.MYJCL(BATCHDMO), where HLQ is the high level qualifier you
choose, or any allocated PDS data set.
The following illustration shows the completed dialog:
7. Click the Convert JCL button.
The converted JCL will be placed in HLQ.MYJCL(BATCHDMO).
Configure Debug Settings
250 Graphical User Interface Primer
8. After the JCL conversion is complete, click the Edit JCL button to edit the
converted JCL.
The Edit JCL dialog opens.
9. Make the following changes to the Edit JCL dialog:
■ Change the job card to conform with your installation standards.
■ Change EXEC=CAMRCOBB to EXEC=CAMRASMB
■ Change PROFILE=YOURID to PROFILE=(your TSO User ID).
Select the Source Program to Monitor
Chapter 8: Basic Assembler Batch Demo Session 251
The following illustration shows the edited JCL:
10. Make sure the data set you are editing is not being used in TSO or CA Roscoe.
11. Click OK.
The Edit JCL dialog closes and you return to the InterTest Debug Settings
dialog.
12. Click Finish.
You receive a message indicating that the file has been saved successfully.
Click OK. You return to the InterTest main window.
Select the Source Program to Monitor
Now you are ready to look at the programs and instruct CA InterTest to monitor
a program. As part of monitoring a batch program, CA InterTest automatically
prevents all abends during execution. How this works is shown later when CA
InterTest prevents your program from abending because of an S0C7.
To select the source program to monitor
1. Verify that the program to be debugged has been compiled and
post-processed into the PROTSYM files.
2. Click the InterTest Debug view so that it is the active view.
3. Click the project name (Basic Demo) on the CA InterTest Debug view.
The project name is highlighted.
Select the Source Program to Monitor
252 Graphical User Interface Primer
4. Click the Import PROTSYM Files button on the CA InterTest main window
toolbar.
The Import PROTSYM Files dialog opens.
5. Enter the following information:
InterTest Server
Defines the CA InterTest server. Select Basic Demo.
PROTSYM Data Set
Defines the fully-qualified data set name of the CA InterTest PROTSYM
VSAM file.
Type CAI.PROTSYM, or substitute CAI.PROTSYM with the DSN
provided by your CA InterTest administrator.
If you receive an error about failure to retrieve a member list, check with
your CA InterTest administrator.
Note: You may be prompted to log on to your mainframe TSO here, if
you have not already done so through CA InterTest.
6. Click List Members.
The table is filled with the programs in the data set you chose.
Select the Source Program to Monitor
Chapter 8: Basic Assembler Batch Demo Session 253
7. Scroll down through the table until you reach CAMRASMB, the program you
want to debug. Select the program by checking the box next to it.
Note: The file list may not contain the name of the demo program indicated
previously. This is because the CA InterTest administrator who installed CA
InterTest changed the name of the sample programs available to you. Check
with your CA InterTest administrator to find out the correct name.
8. If the Into folder box is empty, click the Browse button, and select the Basic
Demo folder to import the program into.
The name Basic Demo appears in the Into folder box.
9. Ensure that the two check boxes in the Options section are selected.
Select the Source Program to Monitor
254 Graphical User Interface Primer
10. Click Finish.
The demo program displays in the InterTest Debug view in the Monitored
Programs folder.
11. Double-click the demo program name on the InterTest Debug view.
The program listing displays in the Program Listing area, with an outline of
the program in the Outline view.
How to Use the Outline View
Chapter 8: Basic Assembler Batch Demo Session 255
How to Use the Outline View
The Outline view displays an outline of the program that is currently active in the
Program Listing area and lists the structural elements. This makes it easier to
display any section of your Assembler program. The contents of the Outline view
are specific to the active program listing. The Outline view contains a top level
node for each action. The following example shows the Outline view of
CAMRASMB:
■ To expand the tree on the Outline view, click the plus sign (+) next to the
text. Selecting a variable or label name repositions the program listing to the
line containing the name. If the location is collapsed, the area is
automatically expanded.
How to Use the Outline View
256 Graphical User Interface Primer
■ To expand all the program sections, click the plus sign (+) (Expand Tree) on
the Outline view toolbar.
■ To collapse the program sections, click the minus sign (-) (Collapse Tree) on
the Outline view toolbar.
We recommend that you expand and collapse the programs in the Outline view
to see how clicking a variable on the Outline view brings you immediately to that
location in the program listing.
View Monitoring Status
Chapter 8: Basic Assembler Batch Demo Session 257
View Monitoring Status
The InterTest Debug view lists the programs that are monitored. If you want to
see whether a program is monitored, perform the following steps.
To view monitoring status
1. Click the + sign to the left of the batch project name on the InterTest Debug
view.
The tree expands and shows monitored and unmonitored folders.
2. Click the + sign next to the Monitored Programs folder.
The tree expands and shows the programs that are monitored.
Start Program Execution
258 Graphical User Interface Primer
Start Program Execution
Now you are ready to begin testing the demo program.
To start program execution
1. On the InterTest Debug view, select the program you want to monitor in the
monitored folder, and click the green bug button on the InterTest Debug
view toolbar.
The InterTest Debug Settings dialog opens.
2. Click Submit to submit the job.
The InterTest Debug view now displays the debugging status as Debugging:
After a short time you will notice that the InterTest Debug view changes. The
debug button is now disabled, and the Step Once, Resume Debugging, and
the Cancel Debug Session buttons are now enabled.
Start Program Execution
Chapter 8: Basic Assembler Batch Demo Session 259
In the Program Listing area there is a blue arrow on the left side of statement
1.1, the initial Breakpoint.
3. Click the Resume debugging button to continue debugging the
program.
Abend Occurs
260 Graphical User Interface Primer
Abend Occurs
The demo program is executing and CA InterTest detects an error at the ADD
instruction. Execution of that ADD instruction triggers an S0C7 abend, which CA
InterTest prevents.
At the abend, the following events occur:
■ The appropriate program listing causing the error is activated (if the
program was not displayed earlier).
Abend Occurs
Chapter 8: Basic Assembler Batch Demo Session 261
■ The program positions itself at the statement causing the error.
When CA InterTest stops program execution, we say that it halts the
program at a breakpoint. This is done automatically when an abend occurs,
or CA InterTest halts a program at a breakpoint that was set by you.
When an abend occurs:
■ A small blue arrow appears in the ruler to the left of the line causing the
error, and the line is highlighted.
■ The status in the InterTest Debug view now displays a diagnostic message.
This message explains that the error was caused by improperly formatted
data (S0C7). Since adding a packed decimal 1 (=P'1') to TASKNUM triggered
the breakpoint, it is likely that TASKNUM contains improperly formatted
data.
Determine the Cause of the Error
262 Graphical User Interface Primer
Determine the Cause of the Error
For Assembler programs CA InterTest displays the value of TASKNUM as an
expression (%R13+634).
When the Auto Data view is open, CA InterTest automatically displays the values
of the variables associated with a statement. (The Watch Data view displays the
value of data items that you want to watch.) In this case, TASKNUM has been
displayed in the Auto Data view. The left column shows the base + displacement
(%R13+634) instead of the name of the data item. In the columns to the right
are the field's display value (shown as Memory Expression when the variable is
defined in an Assembler program), hex value, and data type in the appropriate
display format.
Now take a look at the contents of TASKNUM. Confirm that the value stored in
TASKNUM is not a valid packed decimal value by examining its current value in
the Auto Data view; that is, its value prior to the execution of the AP instruction
that triggered the S0C7. Instead, it contains low-values (binary zeros).
Assembler does not allow you to add a value to a field initialized with low values.
Change the Value in TASKNUM
Chapter 8: Basic Assembler Batch Demo Session 263
Change the Value in TASKNUM
You have identified and confirmed the cause of the problem. Now you want to fix
it.
To change the value in TASKNUM
1. Right-click the variable %R13+634 in the Auto Data view.
2. Click Memory Dump.
The Memory Dump dialog opens.
The memory address for TASKNUM displays in the Address column. To the
right under offset +0 the hex value displays, and to the far right is the
character value. The first three bytes (highlighted yellow) are the value of
TASKNUM.
Change the Value in TASKNUM
264 Graphical User Interface Primer
3. Click the Variables button, type TASKNUM, and click the Fetch button.
The Memory Dump dialog opens, and the three bytes of TASKNUM display.
4. Overtype 000000 with 00000F, and press Enter.
5. Click Close.
The Auto Data View now displays TASKNUM with a packed decimal zero.
What You Can Do When Your Program is Stopped
Chapter 8: Basic Assembler Batch Demo Session 265
What You Can Do When Your Program is Stopped
Once a program is stopped, you can use the CA InterTest testing and debugging
facilities to do the following tasks:
■ Examine the source listing.
■ Examine and modify main and auxiliary storage (memory) to detect and
correct errors.
■ Set and remove breakpoints.
■ Examine a program's statement trace.
■ Keep data items in a watch view to observe changes in their values.
■ Abend your task with or without a dump.
■ Go around a problem by resuming program execution from a location other
than the one at which the program is currently stopped.
■ Execute the program in single-step mode; that is, the program executes one
verb and then stops.
When debugging your own programs, you will typically perform one or more of
these activities.
Breakpoints
Now that the value in TASKNUM has been properly initialized, the next step
might be to continue testing by resuming program execution. However, this is a
good opportunity to learn about another important CA InterTest feature: the
ability to control program execution by setting breakpoints. A breakpoint is an
intentional stopping or pausing place in a program, put in place for debugging
purposes.
When you open or activate a program listing in the Program Listing area, the
breakpoints added to that program appear as blue circles . When the mouse
hovers over a blue circle, the following details of a breakpoint are displayed:
■ Breakpoint type
■ Program name
■ Statement number (in square brackets)
■ Source code text
Breakpoints
266 Graphical User Interface Primer
The following illustration displays the information when the mouse hovers over a
blue circle:
In this example, execution stops just before the statement B OPTIONS is
executed.
Types of Breakpoints
There are six types of breakpoints, as shown in the following table:
Breakpoint Type Function
Automatic The program stops because CA InterTest detected and
prevented an error.
Conditional The program stops at the location you specify if a
condition is met. Optionally, conditional breakpoints can
be set to stop at any instruction if a condition is met.
At All The program stops at every entry, exit, label, or dbcall.
Single-step The program stops after executing one or more verbs.
Unconditional The program stops at the location you specify, just before
the statement is executed.
Variable Change The program stops at any location if the value of a
specified variable has changed. This is a special type of
conditional breakpoint.
An automatic breakpoint occurs when CA InterTest detects an error. When a
program is stopped at an automatic breakpoint, you can either correct the error
or go around it. You set all other breakpoints.
In this section you will learn how to set and remove unconditional breakpoints,
because you will use these the most.
Breakpoints
Chapter 8: Basic Assembler Batch Demo Session 267
When to Use Breakpoints
You can set breakpoints at any time—before you execute the program and when
the program is stopped. Although where you decide to set breakpoints depends
on the specifics of your program, you might want to set breakpoints in the
following places:
■ At the beginning of the first CSECT, so when the program executes you can
set additional breakpoints
■ At label names, so you can examine the contents of variables at the start of
sections
■ Before a call
Set Unconditional Breakpoints
At an unconditional breakpoint the program stops at the location you specify,
just before the statement is executed. Let us see how to set a breakpoint on a
statement. You set unconditional breakpoints directly in the Program Listing
area.
To set unconditional breakpoints
1. Click the demo Assembler program listing on the Program Listing area, so its
name is highlighted in its tab.
2. Press Ctrl F on your keyboard.
The Find/Replace dialog opens.
3. Type OPTIONS in the Find box, and click Find.
The demo program positions itself so that the line you searched for appears
in the program listing.
Breakpoints
268 Graphical User Interface Primer
4. Continue clicking the Find button until statement 152 is highlighted.
5. Right-click the ruler to the left of the line you have selected, and select Add
Breakpoint.
Breakpoints
Chapter 8: Basic Assembler Batch Demo Session 269
A blue circle appears to the left of the ruler, and a blue mark appears in the
right-side vertical ruler. By default, the Add Breakpoint dialog adds an
unconditional breakpoint if the listing line is within a procedure, and a
variable-change breakpoint if the line is a define constant (DC) or define
storage (DS) statement.
Note: You cannot add a breakpoint in a comment line or outside the source code
section.
Breakpoints
270 Graphical User Interface Primer
Set Variable Change Breakpoints
Variable change breakpoints stop at any location if the value of a specified
variable has changed. In this example we are going to use TASKNUM as the
variable name, and CA InterTest will check the values of TASKNUM as the
program runs.
To set variable change breakpoints
1. Click the program on the Program Listing area.
The name of the program in the toolbar is highlighted.
2. Press Ctrl F to bring up the Find/Replace dialog, type tasknum in the Find
box, click Forward, and click Find.
The Program Listing positions itself at statement 900 where TASKNUM is
defined in the program listing.
3. Right-click TASKNUM and select Add to Watch Data.
TASKNUM is now placed into the Watch Data view.
Breakpoints
Chapter 8: Basic Assembler Batch Demo Session 271
4. Right-click the vertical ruler to the left of TASKNUM on the program listing,
and select Configure Breakpoint.
Breakpoints
272 Graphical User Interface Primer
The Add Global Breakpoint dialog opens with the variable name TASKNUM
displayed.
5. Click Finish.
The Add Global Breakpoint dialog closes and TASKNUM is now a variable
change breakpoint.
Note: Since TASKNUM is now a variable change breakpoint, a blue circle
does not display in the vertical ruler next to the selected variable name
TASKNUM.
Breakpoints
Chapter 8: Basic Assembler Batch Demo Session 273
Change Breakpoints
You may want to change an unconditional breakpoint to a conditional breakpoint
or a variable change breakpoint.
To change breakpoints
1. Right-click the blue circle to the left of the line (statement 152) where you
have set an unconditional breakpoint, and select Configure Breakpoint in the
dialog.
The Update Line Breakpoint dialog opens.
2. Click the Conditional breakpoint type button.
The Update Line Breakpoint opens.
Breakpoints
274 Graphical User Interface Primer
3. Change the fields so they look like the following dialog:
Note: Character literals do not need to be prefixed with a C. The system
automatically recognizes them as characters. Thus 2 is treated as F2,
whereas hex literals must be prefixed with X.
4. Click Finish.
The dialog closes and the breakpoint displays in the Breakpoints view as a
conditional breakpoint.
5. Repeat steps 1 through 4, and make statement 156 an unconditional
breakpoint.
How to Delete Breakpoints
As you continue testing and debugging it is good practice to delete breakpoints
you no longer need, so that the program will not stop unnecessarily.
It is easier to delete individual or multiple breakpoints from the Breakpoints view
when you have a number set throughout a large program and you do not want to
search through the source listing for them.
Breakpoints
Chapter 8: Basic Assembler Batch Demo Session 275
You can delete breakpoints in the following ways:
■ Hover the mouse on the vertical ruler to the left of the statement whose
breakpoint you want to delete, right-click, and select Delete Breakpoint. The
blue circle disappears, and there is no longer a breakpoint at this line.
■ Select the breakpoint from the list of breakpoints in the Breakpoints view,
right-click, and select Delete Breakpoint.
■ To delete several breakpoints at one time
1. Click the first breakpoint on the Breakpoints view, hold down the Shift
key, then click the last breakpoint you want to delete.
The breakpoints you select are highlighted.
2. Right-click and select Delete Breakpoint.
The breakpoints you select are deleted from the Breakpoints view and
the program listing.
Delete Breakpoints
You have learnt different ways of deleting breakpoints. Now you are ready to
delete breakpoints from your program.
Using any of the ways described in the previous topic, delete the variable change
breakpoint and the data conditional breakpoint at statements 152 and 900.
Note: Do not delete the breakpoint at statement 156.
Bookmarks
276 Graphical User Interface Primer
Bookmarks
Bookmarks help you to navigate quickly in the source code by marking individual
locations. You can add and delete bookmarks as needed.
The Bookmarks view displays all bookmarks placed on a specific line of the
program listing. The bookmarks appear in a table format that provides a
description of each bookmark, the name of the program where the bookmarks
are located, folder (path), and line number (location) in the Program Listing
area.
The following illustration displays a sample Bookmarks view, showing three
bookmarks in the CAMRASMB program:
Note: This view is not displayed unless you open the view by selecting Window,
Show Views, Bookmarks on the CA InterTest main menu.
Add Bookmarks
You can add bookmarks to your program to help you navigate quickly through
the program.
To add a bookmark
1. Double-click the demo program on the InterTest Debug view.
The program listing displays in the Program Listing area.
2. Select the statement where you want to insert the bookmark.
The listing is positioned at the line which includes the selected item.
Bookmarks
Chapter 8: Basic Assembler Batch Demo Session 277
3. Right-click the shaded vertical ruler on the left side of the listing view, and
select Add Bookmark.
The Add Bookmark dialog opens, with the text of the selected line displayed
in the Enter Bookmark Name field.
4. Edit the description for the bookmark, if required, and click OK.
A new bookmark is set at the selected statement. This is indicated by a small
rectangle appearing next to the scroll bar. The Bookmarks view shows the
details of the new bookmark.
In the Bookmarks view, after a bookmark is added, you can double-click the
bookmark to open the program listing, if not already opened. The listing is
positioned at the statement specified in the bookmark and highlights the
statement.
Resume Program Execution
278 Graphical User Interface Primer
How to Remove Bookmarks
Once you have created and used bookmarks, it is a good idea to delete them, so
you do not clutter up your program or the Bookmarks view.
Select the line of code that contains a bookmark, and perform one of the
following steps:
■ From the program listing left-hand ruler:
Right-click your mouse, and select Remove Bookmark from the pop-up
menu.
■ From the Bookmarks view:
Highlight the bookmark and click the Delete button on the Bookmarks
view toolbar, or use the <Del> (Delete) key.
The bookmark is removed from the Bookmarks view and the program.
Resume Program Execution
You have found a bug in your program, and resolved it. You have added
breakpoints and removed them. You have added and deleted bookmarks. Now
you want to continue running your program.
To resume program execution
1. Click the Step Once button on the toolbar.
The program halts on statement 83, the next statement after adding a
packed decimal 1 (=P’1’) to TASKNUM. The Watch Data View now displays
TASKNUM with a value of 1.
Resume Program Execution
Chapter 8: Basic Assembler Batch Demo Session 279
2. Click the Resume Debugging button on the toolbar.
Because you set a conditional breakpoint on statement 156, the program
halts at the statement.
3. Click the Resume Debugging button again.
The following dialog opens.
4. Click OK to terminate the debugging session.
Glossary 281
Glossary
action (button)
An action button is a button within a toolbar or visible from a right-click on an
item that allows you to perform a specific action with a single click.
auto data
Auto data is the set of input and output data values used by a single statement
or instruction.
auto data (view)
The Auto data view contains a description of all the auto data for the current
breakpoint statement.
batch
Batch is an environment in which a series of programs can be executed without
human intervention.
batch link queue
The batch link queue is a display showing the set of batch jobs on a system that
are waiting to be selected for others to debug.
bookmarks
Bookmarks are user-defined labels that allow users to quickly locate a position
within a listing view.
bookmarks (view)
The bookmarks view contains a description of all currently-defined bookmarks.
breakpoint
A breakpoint is a user-defined conditional or unconditional stopping point within
an application. You define breakpoints by a specific statement or by the
evaluation of other criteria such as data values, specific call types, program entry
or exit, and so on.
breakpoint (view)
The breakpoint view contains a description of all currently-defined breakpoints
for a program.
calltrace
Calltrace is a display used during a CICS debugging session displaying all of the
active program levels leading to the current breakpoint.
cell
A cell is a single 32-bit hexidecimal element or 16 character display element
within a memory display that you can select or alter.
282 Graphical User Interface Primer
channel display
A channel display is a display used during a CICS debugging session showing all
currently defined channels and container storage for the transaction.
cheat sheet
A cheat sheet is a special help tool that guides you through the series of tasks or
steps required to accomplish a larger goal.
CICS
CICS, Customer Information Control System, is a transaction server that runs
primarily on IBM mainframe systems under z/OS and z/VSE.
CICS server
The CICS server is a CICS region that has been established as a server region to
process InterTest debugging requests.
collapse
When you collapse an item you hide all of the subordinate items for a tree node
within a display.
combo box
A combo box is a control that combines the properties of a drop-down list or list
box with a single-line text input box.
composite
A composite is a CICS load module created by linking more than one program
together.
console
A console is a user interface designed for the operator of a computer system,
typically text-based.
console view
The console view is a view in the CUI that displays a list of results.
cool bar
A cool bar is a special type of toolbar that allows you to reposition items
dynamically.
data monitoring
Data monitoring is a feature of CA InterTest™ in which the debugger tracks the
historical values of every data item throughout the execution of a program and
can recall past values while stepping backward through previously executed
statements.
detached view
A detached view is a view that has been separated from the perspective and can
be positioned independently as a separate window.
Glossary 283
dialog
A dialog is a box that appears within a user interface for the purpose of
presenting information, requesting input from the user, or both. A dialog box is
usually temporary and disappears once the user has finished entering
information.
dock
When you dock a view you reattach the view into the perspective.
drag and drop
When you drag-and-drop an object you click on a virtual object, drag it to
another location, and then drop it onto another object, usually to initiate an
action.
drop-down
A drop-down is a user interface control that lets you select a single value from a
list that appears when the control is activated.
DSS
DSS, Dynamic Symbolic Support, in CA InterTest™ and several other CA testing
tools, lets CA Endevor™ customers obtain symbolic support automatically on
demand for any program managed by CA Endevor.
dynamic help
Dynamic help is a list of related topic links generated on request by the help
engine. These links typically exist only within the help view.
error log
The error log is a file containing all reported errors. This file can be exported for
reference.
error log view
The error log view contains a list of all error messages created during the current
session or since the log was last cleared.
execution counts
Execution counts is a feature of CA InterTest™ that tracks and displays the
number of times each statement is executed during a debugging session.
expand
When you expand a tree you display all of the direct subordinates for a tree node
within a display.
284 Graphical User Interface Primer
export (schedules)
When you export schedules you create a sequential output file that contains the
contents of the CA InterTest™ scheduling table for IMS/DC applications and DB2
stored procedures.
export (server settings)
When you export server settings you create an output file that contains the
server definitions created by a CA InterTest administrator for import by other
end users.
expression
An expression is a combination of values, variables, operators, and functions
used to describe another value, often a memory location.
expression builder
The expression builder is a tool within the CA InterTest™ user interface that
helps you create expressions.
fetch
Fetch is a function within the CA InterTest™ memory display feature that causes
data to be retrieved from a selected memory location and displayed.
file server
The file server is a batch service used by CA InterTest™ to perform functions
related to batch debugging and symbolic support.
host
A host is any networked system that provides services to another system or
remote users.
import (listings)
When you import listings you retrieve symbolic listings for a program from a
PROTSYM file into a CA InterTest™ project.
import (schedules)
When you import schedules you populate the CA InterTest™ schedule table for
IMS/DC applications and DB2 stored procedures by loading a previously
exported schedule.
import (server settings)
When you import server settings you populate the CA InterTest™ server
definitions by loading a previously exported list of servers created by an
administrator.
InterTest administrator
The InterTest administrator is a person with authority to perform administrative
functions for CA InterTest™ users such as installation, customization, and
definition of servers.
Glossary 285
InterTest Debug (view)
The InterTest Debug view contains all of the project definitions, monitored and
unmonitored entities, and status and action buttons used for debugging. The
InterTest Debug view serves as a control panel during a debugging session.
key assist
Key assist are keyboard shortcuts that associate key combinations with
functionality.
keyword
A keyword is a pre-defined name with specific significance that is typically
recognized by one or more commands and has a specific meaning to those
commands.
layout
A layout is a map of the individual fields that describes how memory is being
used by a program.
line numbers
A line number is a unique number assigned to each statement that can be used
to identify the statement.
listing (view)
The listing view is a view in which a program listing displays. CA InterTest™ uses
the listing view as the centerpiece of a debugging session. All other views are
dependent upon the active listing view, which can be used to establish
breakpoints, display storage, or perform many other debugging functions.
log entry
A log entry is a single message contained within a log stream and displayed
within the log view. A log entry may be information, contain a warning, or it may
identify a more severe error.
margin
The margin is the narrow column at the far left edge of the listing view that you
click or right-click to perform certain debugging actions.
maximize
You maximize a window to increase the size of a window so that it fills the entire
screen.
maximum MRU
The maximum MRU is the user-defined maximum number of Most Recently Used
entities that can be remembered and displayed to you for selection for a specific
field.
286 Graphical User Interface Primer
memory dump
A memory dump is a display showing the content of a specified range of memory
locations, typically presented in hexidecimal representation and sometimes
including character representation as well.
menu
A menu is a list of words or buttons grouped under a single topic that you can
select to perform an action or display a subordinate menu.
menu item
A menu item is any selectable word or button that appears on a menu that lets
you perform an action or display a subordinate menu.
minimize
When you minimize a window you reduce the window so that it only appears on
the taskbar.
monitored
The debugger watches a monitored program, transaction, or terminal to trace
execution flow, establish breakpoints, or view data.
outline (view)
The outline view displays all of the divisions, sections, variables, and labels for a
specific program as a tree structure. CA InterTest™ provides an outline view to
assist with navigation through a corresponding listing.
perspective
A perspective is a set of views in a specific configuration within the InterTest user
interface. It provides a set of functionality aimed at accomplishing a specific set
of debugging tasks.
pop-up
A pop-up is a message that appears as a dialog box on top of an existing
application and requires a response from you.
port
A port is a unique numeric identifier used by a program to listen for
communication from another computer.
post
When you post an update you apply or commit an update. In a CA InterTest™
memory display you must explicitly post an update to memory after changing a
value.
post processor
The post processor is any one of a number of programs provided by CA's testing
tools designed to extract symbolic information from an application program
listing created by a compiler or assembler.
Glossary 287
preferences
Preferences are application settings that an administrator or end user
customizes to customize or personalize the experience.
project
A CA InterTest™ project refers to a specific user-defined configuration used to
create a debugging session. You create a project for CICS or batch that typically
includes a host definition, a set of monitored or unmonitored programs,
transactions, terminals, breakpoints, variables to be watched, and so on.
project options
Project options are options used for monitoring in CICS that let you override the
default storage protection rules.
properties
Properties are attributes or values that can be assigned or attributed to an object
or class of objects.
PROTSYM file
The PROTSYM file is a VSAM RRDS data set containing symbolic information used
by CA InterTest™ and other CA testing tools.
register
A register is a special 32-bit or 64-bit component within a CPU used for storing
information.
register (view)
The register view displays the current value of the 32-bit or 64-bit general
purpose registers, access registers, and floating point registers corresponding to
an application being debugged.
replace options
Replace options are options used for monitoring in CICS that allow you to replace
the names of CICS resources such as programs, files, transient data queues, and
so on.
reset
When you reset you restore a value or set of properties to a previous or initial
value.
resize
When you resize you change the size of a window, view, or other virtual object.
restore
When you restore a window you display a previously minimized or maximized
window using its last used size and position.
288 Graphical User Interface Primer
right-click
When you right-click you position the mouse over a virtual object on the screen
and depress the rightmost mouse button.
ruler
A ruler is a line running across the display screen that measures the page
columns.
schedule table
The schedule table is an in-core resident table used by CA InterTest™ to manage
the scheduling of debugging activities for IMS/DC applications and DB2 stored
procedures.
server
A server is any process that provides information or data to one or more users or
programs. CA InterTest™ uses one or more server processes executing on the
host z/OS system to assist you with setup and debugging tasks.
server (view)
The server view displays a list of all currently-defined servers, active or
otherwise.
session
A session is the period of time during which a CA InterTest™ end user is
connected to a host system for the purpose of debugging an application.
session data
Session data is any data that is available to an application during a debugging
session that is not associated with any single program.
session data (view)
The session data view lets you display and modify session data during a
debugging session.
session status
Session status displays on the first line of the project tree in the InterTest Debug
view, and identifies the current state of the debugging session as inactive or
debugging, or identifies the type of breakpoint currently displayed.
show views
Show views is a sub-menu on the Window menu that you use to select which
views should be displayed within the current perspective.
special options
Special options are options used for monitoring in CICS that let you handle
special conditions by overriding default monitoring rules such as limiting the
number of CICS calls, limiting the amount of storage used, preventing file
updates, and so on.
Glossary 289
SPECIAL-REGISTERS
SPECIAL-REGISTERS are reserved words that name special storage areas that
are generated by a compiler.
statement trace (view)
The statement trace view displays all of the statements that were previously
executed up to and including the current breakpoint.
storage display
Storage display is a CA InterTest™ display displaying all of the data areas used
by the currently executing CICS task.
symbolic data
Symbolic data is a set of information about a program that you use to associate
user-defined labels with machine addresses for source statement, data fields, or
other program entities.
synchronize (session)
Synchronize sessions is an action performed automatically by CA InterTest™ to
ensure that the session options requested by you exactly match the session
options in effect for the host debugger.
synchronize (symbolics)
Synchronize symbolics is an action performed automatically by CA InterTest™ to
ensure that the symbolic information displayed to you for a given program
exactly matches the symbolic data used by the host debugger.
tabbed views
Tabbed views are a group of multiple views that occupy the same position within
a perspective. Only one view may appear at any one time and the others are
hidden, but all views are represented at the top of the display area by individual
tabs that you can click to select a different view to display.
table
A table is a collection of data entries with like properties.
tasks
Tasks are specific units or work that can be assigned to or expected of a person
or performed by a program.
toolbar
A toolbar is a series of selectable buttons in a graphical user interface that
provides you with an easy way to select application functions.
tree
A tree is a data structure organized like a tree whose nodes store data elements
and whose branches represent pointers to other nodes in the tree.
290 Graphical User Interface Primer
unmonitored
An unmonitored program, transaction, or terminal is not being watched by the
debugger for the purpose of tracing execution flow, establishing breakpoints, or
viewing data.
update InterTest
update InterTest is an Eclipse feature that lets you connect to update sites to
locate and install new versions of previously installed features.
variable
A variable is a symbol or name that represents a value that changes.
view
A view is a presentation of data within a perspective, typically providing menus
and toolbars to assist you with navigation and exploration.
watch data (view)
The watch data view lets you monitor the values of selected program variables
and other data areas during a debugging session.
Index 291
Index
A
abend • 54, 95, 135
adding
checking server status • 43
adding bookmarks • 67, 106, 149, 193, 235,
276
audience • 11
B
basic demo session
running batch • 160
running CICS • 38, 78, 118
batch project, create • 164
bookmarks
add • 106, 149, 193
description • 67, 105, 149
remove • 69
breakpoints
change • 63, 103, 145
description • 58, 98, 140
remove • 107, 147, 190
set unconditional • 60, 100, 142
types of • 59
when to use • 60, 100
C
CA InterTest for CICS
host names • 36
server settings • 36
changing
active view • 19
breakpoints • 63, 103, 145, 189, 232, 273
value in TASKNUM • 57, 97, 138, 222, 263
checking server status • 43
CICS project
create • 44, 83
D
debug session, terminate • 73
debug settings
configure batch • 165
configure CICS • 45
deleting breakpoints • 65, 107, 147, 190, 233,
274
dialogs
Import • 41
Import PROTSYM Files • 47, 86, 126
InterTest Debug Settings • 45, 51, 91, 131
New CICS Project • 44, 83
Update a Line Breakpoint • 63, 103, 145
dynamic help • 33
E
error, explain cause of • 56
F
F1 support • 32
H
help
dynamic • 33
F1 support • 32
online • 31
host names
CA InterTest for CICS • 35
IBM • 36, 158
I
importing
PROTSYM files • 47, 86, 126, 170, 212, 251
server settings • 41, 162
J
JCL data set names (batch) • 158
M
main window • 14
monitoring status, view • 51, 91, 130
O
online help • 31
options on the vertical ruler pop-up menu • 30
Outline view, how to use • 50, 89, 129
P
port numbers
CICS • 35
IBM • 36
292 Graphical User Interface Primer
program execution
resume • 70, 110, 152
start • 51, 91, 131
Program Listing view
activate hidden • 27
description • 25
open • 26
reorder tabbed • 29
tile • 28
PROTSYM data set names • 36
R
running basic demo session
batch • 160
CICS • 38, 78, 118
S
server connection
CA InterTest • 41
CICS • 41
server status
check • 43
setting breakpoints
unconditional • 60, 100, 142, 182, 226, 267
variable change • 186, 228, 270
settings
configure debug batch • 165
configure debug CICS • 45
shortcut keys • 17
source programs
batch • 161, 170
CICS • 39, 47, 86, 126
symbolic version processing • 160
synchronized processing • 37
T
tabbed views
rearrange • 23
rearrange group of • 24
TASKNUM, change value • 57, 97
terminate debug session • 73
transid • 39
U
unconditional breakpoints, set • 60
user ID, IBM • 36
using the Outline view • 50, 89, 129, 216, 255
V
vertical ruler • 30
view monitoring • 51, 91, 130
views
activate • 19
Auto Data • 56, 57, 97, 137
Bookmarks • 67, 105, 149
Breakpoints • 107, 147, 190
close • 20
description • 14
InterTest Debug • 44, 47, 51, 83, 86, 91,
126, 130
maximize • 25
minimize • 25
open • 17
Outline • 47, 50, 86, 89, 126, 129
Program Listing • 25
rearrange • 20
rearrange group of tabbed • 24
rearrange tabbed • 23
types of • 15
W
Welcome screen • 51, 91, 131
Z
z/OS user ID • 36