_ C370IN25 PROTSYM  07/07/13 09:32    12  COBOL/370, no purge
   *** End of data ***

 PF1 Help       2 Refresh    3 End        4 Return     5            6
 PF7 Backward   8 Forward    9           10           11           12
Examine the Source Listing Display Screen
A sample COBOL source listing is shown next:
  CA InterTest for CICS - PROTSYM FILE SOURCE LISTING DISPLAY
  COMMAND ==>
  Program= COBDEMO  Option #       Stmt #                            Margin= 01
                                         Search=
 OPTS 1 Proc div  2 Workstor 3 Link sect  4 Dmap      5 Clst/Pmap More: ‘+
       6 Data xref 7 Proc xref 8 Err msgs   9 Srch fwd  10 Srch bwd
 PFKS 1 Help      2           3 End        4 Profile    5 Monitor    6 Menu
       7 Backward  8 Forward   9 Next Wnd   10           11           12 Status
------------------------------------------------------------------------------
       _ 00001 ID DIVISION.
       _ 00002 PROGRAMID. COBDEMO.
       _ 00003 ENVIRONMENT DIVISION.
       00004 DATA DIVISION.
       _ 00005 WORKINGSTORAGE SECTION.
       _ 00006 77  S999FIELD1             PIC S9(3).
      _00007 77  S999FIELD2              PIC S9(3)       VALUE +50.
       _ 00008 77  999FIELD1              PIC 9(3).


_ 00008 77  999FIELD1              PIC 9(3).
       _ 00009 77  999FIELD2              PIC 9(3)        VALUE 50.
       _ 00010 77  FIRSTSCREENLEN        PIC S9(4) COMP  VALUE +1696.
       _ 00011 77  MSGSCREENLEN          PIC S9(4) COMP  VALUE +1040.
       _ 00012 77  THIRDSCREENLEN        PIC S9(4) COMP  VALUE +960.
       _ 00013 77  FOURTHSCREENLEN       PIC S9(4) COMP  VALUE +1761.
       _ 00014 77  ERRORSCREENLEN        PIC S9(4) COMP  VALUE +960.
         00015*77  COMMAREALEN            PIC S9(4) COMP  VALUE +39.
Field Definitions
This section explains the Source Listing Display screen.
The top of the screen displays the title and indicates when a monitor session is being recorded. A flashing "REC" at the
end of the title indicates active recording.
Fields in which you enter commands and information:
 945


InterTest™ and SymDump ® 11.0
COMMAND ===>
Enter any InterTest for CICS transaction, transaction-based command, or a Source Listing Display command.
Enter =X.Y.Z for fast-path menu access to Primary Option Menu X.Y.Z. You cannot use this command line to enter
a system-wide CNTL command.
Program=
Change the program whose code displays.
Option #
Enter an option listed on OPTS lines by number, or enter shortcut codes for CNTL functions.
Stmt #
Display a specific statement.
Nested=
Indicates the displayed COBOL nested program or the program to be searched.
NOTE
The COBDEMO program does not contain nested programs. However, if a program does contain a
nested program, it displays here.
Margin=
Adjust the display margins to view code past position 80.Source Listings Command Line
Search=
Instruct InterTest for CICS to search for a data name or string.
OPTS
Lists entries for the Option # field. Valid options for COBOL, Assembler, and PL/I are listed in Source Listing
Option Field Entries.
PFKS
Describes the PF key functions. The bottom half of the Source Listing display screen displays source code from
the program named in the Program= field.
Position 1 (represented by the underscore _) of each line is reserved for entering single-letter commands and for
breakpoint-related functions.When a breakpoint takes effect during execution, it is identified in position 1 with one of the
following letters:
A
Automatic, detected by InterTest for CICS
U
Uncon ditional "before" breakpoint (stops execution before  the specified item)
)
Unconditional "after" breakpoint (stops execution after the specified item)
C
Conditional
V
Variable-change
R
Request


C
Conditional
V
Variable-change
R
Request
The bottom of the Source Listing Display contains the source code. The numbers on the left side of each line are the
COBOL or PL/I statement numbers from the compiled listing, or the Assembler hexadecimal location number from the
assembled listing.
For COBOL and PL/I programs, there are more OPTS to view. A More field displays to the right of the OPTS entries. Tab
to More +  and press Enter  to view OPTS 5 to the end. Tab to More -  and press Enter to view OPTS 1 to 10.
 946


InterTest™ and SymDump ® 11.0
NOTE
The display screen's format varies by terminal type. For 132-column terminals, lines of code display as is and
you view them in full. For 80-column terminals, InterTest for CICS automatically reformats the compiler output so
that you view most of the code in columns 1 to 80. Code beyond column 80 is viewed by changing the display
margins in the Margin= field. For details, see Adjust the Margins.
Source Listing Option Field Entries
The numbers listed in the following table are used in the Option # field to display specific sections of the source listing or
to search for data. Using these options makes it easy to locate specific sections of your program.
NOTE
For PL/I programs, all of the OPTS labels cannot be displayed at once. Tab to the More  field and press Enter  to
view options not currently displayed.
Option COBOL PL/I Assembler
1 * Procedure Division Data Name XREF First CSECT
2 * Working-Storage Aggregate Length Table -
3 * Linkage Section Storage Requirements -
4 Data Division Map Static Storage Map -
5 CLIST/Pmap Variable Storage Map Macro and Copy Source
Catalog for high level output
6 Data Name XREF Table of Offsets Cross Reference
7 Procedure Cross Reference Generated Code (Assembler-
like)Literals Cross Reference
8 Error Messages Error Messages Error Messages
9 Search Forward Search Forward Search Forward
10 Search Backward Search Backward Search Backward
11 Indirect Commands Indirect Commands
12 Unconditional/Conditional
 Breakpoint OptionsUnconditional/Conditional
Breakpoint OptionsUnconditional/Conditional
 Breakpoint Options
13 *Local-Storage Procedure Cross Reference -
14 - Labels Cross Reference -
20 Window: None Window: None Window: None
21 Window: Titles Window: Titles Window: Titles


21 Window: Titles Window: Titles Window: Titles
22 Window: Registers Window: Registers Window: Registers
23 Window: Keep Window: Keep Window: Keep
24 Window: Program Window: Program Window: Program
* Use these options with NESTED= entries to request a display of these sections for a specific nested program.
The sections available for display depend on which version of the post-processor LISTER parameter was used to compile
or assemble the program.
Source Listing Command Line
The command line is located at line 2 of the Source Listing display so it is always available, regardless of what view
options are currently in use. Use this command line to enter any InterTest for CICS transaction, a transaction-based
 947


InterTest™ and SymDump ® 11.0
line command (such as a CNTL command or CORE command), and the Source Listing Display commands listed in the
following table.
NOTE
You cannot use this command line to enter InterTest for CICS system-wide CNTL options.
Command PF Key Description
ABEND None Display the Abend Breakpointed Task
screen (this command is available only at a
breakpoint)
ABI ON None Default. Turn Abend Intercept on --
intercepts all CICS abends and produce
an automatic breakpoint screen providing
there a CICS HANDLE ABEND LABEL/
PROGRAM is not active. If you want to
intercept CICS abends for programs that
have an active CICS HANDLE LABEL/
PROGRAM then see the ABI FORCE
command.
ABI OFF None Turn Abend Intercept off -- causes InterTest
for CICS to stop intercepting CICS abends.
No automatic breakpoint screen appears
and the program abends.
ABI FORCE None Turn Abend Intercept on for all CICS
ABENDS -- even if a program has an
outstanding HANDLE ABEND active or
issues a CICS HANDLE ABEND command.
Use this option when you want an
automatic breakpoint screen for programs
that also have active HANDLE ABENDS to
process their own errors.
ADVANCE n
ADV n
A nNone Advances n entries in the statement trace
table and displays the resulting statement.
(If n is not specified, it defaults to 1.) If data
monitoring is active, past data values for
the statement can also be displayed. Use
this command to redisplay the execution
sequence of a program. Statement tracing
must be active for the ADVANCE command
to function (see the TRACE option).
Note:  This command is only valid for
COBOL programs.
AUTOSTEP x y


COBOL programs.
AUTOSTEP x y
AS x yNone Resume execution x verbs at a time
displaying the current source statement
for a y interval of time. This command is
only available at a breakpoint. One verb at
a time until next CALL/COMMAND is the
default.
Note: This command is available only at a
breakpoint.
BOTTOM
BOTNone GO to bottom of source
BPO None Jump to Breakpoint Option screen
 948


InterTest™ and SymDump ® 11.0
BWD PF7 Scrolls backward. The scroll amount is set
on the Source Listing Profile.
CALLTRACE None Shows the program call flow leading up to
the currently breakpointed program. Select
programs having symbolic support from the
list and display their data areas.
CHANNEL None Displays the currently allocated channel
and the containers in the channel. From the
selection list you can also display the data
within a container. This feature is only valid
in CICS releases that support CHANNELs
and Containers.
CNTL None Displays the CNTL Command Menu.
Note: The Monitoring Menu (2) is an
alternative to using the CNTL menu; for
details, see Monitoring Menu Options.
COMPOSITE None Sets composite monitoring options for
monitoring of subprograms. This command
is used to establish the current load module
name when setting/removing breakpoint
options on subprograms that are monitored
under the same name in more than one
composite load module. For more details,
see Composite Support.
CORE None Displays the Main Storage menu. Select
an option to view a main storage (CORE)
display.
COUNTS SHOW None Turns the Code Coverage COUNTER
display on. To activate Code Coverage see
Customizing the Source Listing Profile or
issue PROFILE command.
COUNTS NOSHOW None Turns the Code Coverage COUNTER
display off. To deactivate Code Coverage
see Customizing the Source Listing Profile
or issue the PROFILE command.
COUNTS RESET None Resets the program Code Coverage
statement counters to zero.
COUNTS op value None Turns the Code Coverage COUNTER
display on and highlights program
statements that match the criteria. The
source listing is repositioned to the first
statement matching the criteria.
Op can be: EQ or =, NE or <>, LT or <, GT


Op can be: EQ or =, NE or <>, LT or <, GT
or >, LE or <= or =<, GE or >= or =>
Valid values: 0 to 9999
COUNTS NEXT None Repositions the source listing to the next
statement that matches the previously
specified COUNT op value criteria.
COUNTS ALL None Removes previously specified COUNT op
value criteria and redisplays source listing
without special COUNTER highlighting.
 949


InterTest™ and SymDump ® 11.0
DATAMON
DMNone Displays the Monitoring Command Builder
menu to set and remove statement tracing
and data monitoring.
Note: This command is only valid for
COBOL programs.
DATAMON ON
DM ONNone Turns data monitoring on. This causes
InterTest for CICS to capture data values
for each executed statement in the
program. You will then be able to redisplay
these values at a breakpoint, by tracing
backward and forward through the entries
in the statement trace table using the PREV
and ADVANCE commands. DATAMON ON
forces TRACE ON.
Note: This command is only valid for
COBOL programs.
DATAMON OFF
DM OFFNone Turns data monitoring off. This causes
InterTest for CICS to stop capturing data
values for each executed statement in the
program. In addition, you are no longer
able to display captured data values when
tracing backward and forward through the
entries in the statement trace table using
the PREV and ADVANCE commands.
Note: This command is only valid for
COBOL programs.
DISPLAY data-item
D data-itemNone Displays the storage of a data-name. (this
command is available only at a breakpoint)
DOWN None Shifts listing down
END PF3 Returns to the prior display or menu.
FILE None Displays the Auxiliary Storage Menu. Select
an option to view a file or queue.
FIND
FNone Find a string.
FP None Find paragraph.
FS None Find statement number.
FWD PF8 Scrolls forward the amount indicated on the
Source Listing Profile.
HELP PF1 Displays help for the Source Listing Facility.
IC None Jump to Indirect Command screen.
ITST See MENU Displays the ITST Primary Option Menu.
KEEP data-item


ITST See MENU Displays the ITST Primary Option Menu.
KEEP data-item
K data-itemNone Add a data-item to the static Keep window
LEFT None Shift listing left.
LOCATE
LOC
LNone Locate line number, a label, or part of the
listing.
MARGIN
MARNone Shift listing to specific margin.
 950


InterTest™ and SymDump ® 11.0
MENU PF6 Displays the high-level menu. When not
at a breakpoint, it is the ITST Primary
Option Menu; when at a breakpoint, it is the
Breakpoint Primary Option Menu.
MLOG None Displays, starts, stops, cancels, or loads
recorded monitoring sessions.
MONITOR PF5 Sets monitoring for the current program
using the CICS user ID displayed on the
Profile.
OFFALL None Removes all breakpoints set by active
USER or TERMINAL Active USERID
is used if a valid USERID is signed on.
Otherwise, the active TERMINAL is used
ALL breakpoints for ALL programs/
transactions/ will be removed that were set
by the active USERID or active TERMINAL.
OFFALL TERM None Removes all breakpoints set by active
TERMINAL
OFFALL USER None Removes all breakpoints set by active
USER.
PO None Sets or removes storage protection options
PREV n
P nNone Backs up n entries in the statement trace
table and displays the resulting statement.
(If n is not specified, it defaults to 1.) If data
monitoring is active, you can also display
past data values for the statement. Use this
command to step backward through the
execution of a program. Statement tracing
must be active for the
PREV command to function (see the
TRACE option).
Note: This command is only valid for
COBOL programs.
PROFILE PF4 Displays Source Listing Profile, where you
can change settings for the current session.
RBP None Sets or removes request breakpoints
RIGHT Shifts listing right
RO None Sets or removes replacement options
RUN None Resumes execution ignoring all
breakpoints. This command is available
only at a breakpoint.
SET None Initializes a data-item's value. This
command is available only at a breakpoint.


SET None Initializes a data-item's value. This
command is available only at a breakpoint.
SO None Sets or removes special options
SDFDATA None Set to display data in structure display
format for the current program.
SDFHEX None Set to display data in hexadecimal/
character format for the current program.
 951


InterTest™ and SymDump ® 11.0
STATUS PF12 Displays the Monitoring Status report
(Option 2.4 on the Primary Option Menu)
for the current program. You can remove
monitoring, breakpoints, and options
directly from the Status display.
STATUS ALL None Displays the Monitoring Status report for
all programs, transactions, and terminals
InterTest for CICS is monitoring in the
region.
STORAGE None Displays a listing off all USER and CICS
class storage associated with the currently
breakpointed task (most storage acquired
by InterTest for CICS is not displayed),
this command also validate the crumple
zones for each piece of storage. See The
STORAGE Facility.
TOP None Go to top of source.
TRACE
TRNone Displays the Monitoring Command Builder
menu to set and remove statement tracing
and data monitoring.
Note: This command is only valid for
COBOL programs and is unrelated to the
backtrace facility.
TRACE ON
TR ONNone Turns statement tracing on. The number of
entries saved in the statement trace table
is determined by the STMTTRCE option in
IN25OPTS. The default is 1000.
Note: This command is only valid for
COBOL programs and is unrelated to the
backtrace facility.
TRACE OFF
TR OFFNone Turns statement tracing off. TRACE OFF
forces DATAMON OFF.
Note: This command is only valid for
COBOL programs and is unrelated to the
backtrace facility.
UP None Shift listing up.
=x.y.z None Fast-path to Primary Menu Option x.y.z.
Action Characters Supported from a Source Listing Display or Breakpoint
You can perform the following list of the functions by entering a single character on your source listing.
Documentation Action Character Function
u Unconditional; sets an unconditional


Documentation Action Character Function
u Unconditional; sets an unconditional
breakpoint that stops before  the specified
item.
) Unconditional; sets an unconditional
breakpoint that stops after the specified
item.Using Breakpoints
c Conditional; sets a conditional breakpoint.
 952


InterTest™ and SymDump ® 11.0
v Variable-change; sets a variable-change
conditional breakpoint (for COBOL or
Assembler programs).
x Remove; removes a breakpoint or removes
a variable from the Keep window.
+ Start Segmented Monitoring  at this
program statement.
- Stop Segmented Monitoring  at this
program statement.
d Display; displays program or variable
storage at a breakpoint.
k Keep; keeps a variable in the Keep window.
m Modify; modifies a variable at a breakpoint.
@ Display; displays the main storage area
pointed to by a data item for a 24-bit
address.
% Display; displays the main storage area
pointed to by a data item for a 31-bit
address.
< Scroll keep data left the   width of the
display area. To scroll a specific number of
bytes,   specify a value after the < .
> Scroll keep data right the   width of the
display area. To scroll a specific number of
bytes, specify a value after the > .
+ Increment (Keep window only); increases
COBOL index item value. To increase by a
specific value, specify a value after the +.Breakpoint Activities
- Decrement (Keep window only); decreases
COBOL index item value. To decrease by a
specific value, specify a value after the -.
Resume and Execution Options b Bypass; bypasses monitoring of an
instruction at an automatic breakpoint.
g Go (resume execution) at this program
statement.
NOTE
The v, d, @, %, k, and m functions should be entered next to a statement that references or defines the variable
that you want to display, keep, or modify. If the statement references the variable, you must also position the
cursor under the variable name before pressing Enter.


cursor under the variable name before pressing Enter.
Shortcut Commands for CNTL Functions
To access a CNTL function, enter a code using the following format in the Option # field, and press Enter:
=nns  OR  =nnr
=
Required.
nn
Specifies function number (10 to 33) from the CNTL main menu.
 953


InterTest™ and SymDump ® 11.0
s or r
Specifies setting or removing the option .
NOTE
While the CNTL shortcut commands are supported, you will find it easier to use the Monitoring Menus, available
from Primary Option Menu Option 2 Monitoring .
The following table summarizes the Option # codes you can enter for the standard CNTL Selection Menu functions:
Option # Command CNTL Selection Menu Function
=10s Sets monitoring for the program displayed; same as PF5.
=10r Removes monitoring, breakpoints, and all other options for the
program displayed.
=11s and 11r Sets and removes unconditional breakpoints.
=12s and 12r Sets and removes conditional breakpoints.
=13s and 13r Sets and removes request breakpoints.
=14s and 14r Sets and removes Segmented Monitoring On option.
=15s and 15r Sets and removes Segmented Monitoring Off option.
=16s and 16r Sets and removes statement tracing and data monitoring.
=20s and 20r Sets and removes Replace options.
=21s and 21r Sets and removes Protection options.
=22s and 22r Sets and removes Special options.
=23s Sets Composite Support.
=24 Accesses the Indirect Commands facility.
=30 Shows the Status Display screen.
=31 Sets Utility Options screen.
=33 Resumes task execution.
Source Listing PF Keys
The following table summarizes the PF key functions for the Source Listing Display screen. PF key assignments are
standard across all InterTest for CICS menus.
NOTE
The ITST menus and relocated command line eliminate the need to assign CNTL, CORE, and FILE to PF keys.
Navigate to these facilities using the menus, or use the command line to enter the transaction or desired single-
line command.
PF Key Function


line command.
PF Key Function
PF1 Help Help; displays a Help menu relating to the current Source Listing
Display screen.
PF2 Unassigned.
PF3 End End or Clear; terminates the Source Listing Facility. Displays an
earlier ITST panel, if applicable, or CICS.
PF4 Profile Displays the Source Listing Profile screen, where you can set
values for your current session.
PF5 Monitor Turns monitoring on for the program whose listing is being viewed
using the CICS user ID on the Profile.
 954


InterTest™ and SymDump ® 11.0
PF6 Menu Displays the Primary Option Menu.
PF7 Backward Scrolls the compiler output backward by one page unless the
setting was changed on the Profile. Does not apply within the
Keep window.
PF8 Forward Scrolls the compiler output forward by one page unless the setting
was changed on the Profile. Does not apply within the Keep
window.
PF9 Switch to next window
PF10, PF11 Unassigned.
PF12 Status Displays the Monitoring Status for the current program. You can
remove breakpoints and options directly from the Status display.
Search for Data
You can request InterTest for CICS to define, search for, and display any character string (such as a data item, label, or
paragraph name). This is a quick way to go to different areas in a listing when you want to set a breakpoint or check your
code.
Search for data using the Search=field, or by entering a FIND or LOCATE command on the command line.
If you know the line number that you want to view, use the line command to position the listing accordingly. For details,
see View the Online Listing.
Find a Definition or Search Using the Search = Field
Use the Search= field to define or search for data as follows.
To display the definition of a data item:
1.Enter a data item name up to 31 characters in the Search=  field.
2.Press Enter to begin the search. InterTest for CICS highlights the data item and its definition.
To search for a data item:
1.Enter up to 31 characters in the Search= field.
2.Specify the search direction in the Option # field. (Option # 9 is Search Forward; Option # 10 is Search Backward.)
3.Press Enter  to begin the search.


3.Press Enter  to begin the search.
For COBOL nested programs, InterTest for CICS first searches the current nested program (indicated in the NESTED=
field) for the specified data item. If the data item is not found in the indicated program, InterTest for CICS then searches
the main program and other nested programs for the item.  It is not necessary to enter the entire data item, label, or
paragraph name; enter the first few characters to start your search.
Example
If you wanted to search for TASKNUM, you could enter TASK, TASKN, and so on, in the Search= field.
Search the Program Online Listing
To find the next string within a program online listing, enter:
FIND string NEXT
String
Specifies any valid string (up to 31 characters in length). If the string contains a blank, it must be enclosed in
apostrophes ('). If the string contains an apostrophe ('), it must be enclosed in quotes (").
To find the previous string within a program online listing, enter:
 955


InterTest™ and SymDump ® 11.0
FIND string PREV
To repeat the find request, press Enter .
Locate an Area Within the Program Online Source Listing
To locate a label, line-number, offset, or special area within the program online source listing, enter:
LOCATE label | line-number | hex-offset | .xx
label
Indicates any valid label with an ASSEMBER, COBOL or PL/1 program including datanames, CSECT, procedure,
and paragraph names (up to 31 characters in length).
NOTE
An all numeric COBOL paragraph name cannot be located; it is interpreted as a line number.
Line-number
Indicates any line number within an ASSEMBLER, COBOL or PL/1 program.
Hex-offset
Indicates any offset within an ASSEMBER program and is indicated with a leading + character.
.xx
Indicates a special indicator depending on language as follows:
COBOL:
PD = Procedure Division
WS = Working-Storage Section
LC = Local-Storage Section
LS = Linkage Section
DM = DMAP
PM = COBOL/VS PMAP/CLIST
CL = COBOL/VS PMAP/CLIST
OF = COBOL II OFFSET/LIST
LI = COBOL II OFFSET/LIST
DX = Data Name Cross Reference
.PX = Procedure Cross Reference
.EM= Error Messages
PL/1:
.AG = Aggregate List
.SR = Storage Registers
.SS = Static Storage
.VS = Variable Storage
.OF = Offsets
.GC = Generated Code
.PX = Procedure Cross Reference
.LX = Label Cross Reference
.DX = Data Name Cross Reference
.EM = Error Messages
ASSEMBLER:
.C1 = 1st CSECT
.1C = 1st CSECT


.C1 = 1st CSECT
.1C = 1st CSECT
.MC = Macro Catalog
.XR = Cross Reference
.LI = Literals
 956


InterTest™ and SymDump ® 11.0
.EM = Error Messages
View the Online Listing
Use the command line commands to position or shift the view of the listing. You can go to the top or bottom of the listing,
shift the listing to the right or left a specific number of characters, or position the listing to a specific line.
Position Listing at Top
To position the listing at the top of the source code within the complete online listing, enter TOP.
Position Listing at Bottom
To position the listing at the bottom of the source code within the complete online listing, enter BOTTOM.
Shift Listing to the Right
To shift the listing to the right a specific number of characters, enter
RIGHT char-count
char-count
Indicates any valid number of characters between 1 and 49.
Default : 10
NOTE
The RIGHT command cannot be used on Mod5 terminals.
Shift Listing to the Left
To shift the listing to the left a specific number of characters, enter:
LEFT char-count
char-count
Indicates any valid number of characters between 1 and 49.
Default : 10
NOTE
The LEFT command cannot be used on Mod5 terminals.
Shift Listing Down
To shift the listing down a specific number of lines, enter:
DOWN line-count
line-count
Indicates any valid number of lines between 1 and 9999.
Default : 1
Shift Listing Up
To shift the listing up a specific number of lines, enter:
UP line-count
line-count
Indicates any valid number of lines between 1 and 9999.
 957


InterTest™ and SymDump ® 11.0
Default : 1
Shift Listing to a Margin Position
To shift the listing to a specific margin position, enter:
MARGIN margin value
margin value
Indicates any valid number of characters between 1 and 50.
NOTE
The MARGIN command cannot be used on Mod5 terminals.
Position Listing to a Line Number
To position the listing to a specific line number, enter:
FS line-number
line-number
Indicates any line number within an ASSEMBLER, COBOL, or PL/1 program.
Position Listing to a Label
To position the listing to a specific paragraph, procedure, or label, enter:
FP label
label
Indicates any valid label within an ASSEMBLER, COBOL or PL/1 program including datanames, CSECT,
procedure, and paragraph names.
Navigate to the Indirect Commands Build Screen
To navigate to the Indirect Commands build screen, enter IC.
Navigate to the Breakpoint Options Build Screen
To navigate to the Breakpoint Options build screen, enter BPO .
NOTE
The BPO command does not require any parameters. However a corresponding U, ), R, or C must be placed in
the left line command area of the statement requiring the breakpoint option.
Scroll Forward and Backward
PF7 and PF8 scroll the compiler output backward and forward, respectively. The default scroll amount is one page;
however, you can change the scroll amount on the Source Listing Profile screen.
PF7 and PF8 do not apply to the Keep window, within which PF19 and PF20 perform the scroll forward and backward
functions.
Change the Program
At any time during testing, InterTest for CICS lets you to change the program with which you are working.
Program=
 958


InterTest™ and SymDump ® 11.0
To change the program displayed, follow these steps:
1.Enter the desired program name in the Program= field.
2.Press Enter to display the listing from the beginning of the program, or use the Option #, Statement #, or Search=
fields to select another point of initial display before pressing Enter.
Position the Display
When you initiate the Source Listing Facility, you can easily name the program and position the display at any statement
number with a single command:
LIST=progname,#nnnnn
progname
Specifies the name of the program you want to view
#
Required
nnnnn
Indicates the statement number from 1 to 99999. If the requested statement number is greater than the number of
statements in the listing, the greatest number is displayed.
Assembler Programs
When you initiate the Source Listing Facility you can position the Assembler display at a specific offset location in a
CSECT. Use the command form:
LIST=progname,offset
progname
Specifies the name of the program you want to view
offset
Specifies a one to six hexadecimal number from 0 to FFFFFF
Example
To position the Source Listing display of program COBDEMO with statement 99 highlighted near the top of the display
area enter:
LIST=COBDEMO,#99
Position the Source Listing display of program ASMDEMO with offset 0007E8 highlighted near the top of the display area
enter:
LIST=ASMDEMO,7E8
Position the display area to include more data, source listing, or storage items using the Option #, Statement #, Margin=,
and Search = fields of any Source Listing screen.
Option #
To display a specific section, select an Option # from the OPTS.
Statement #


To display a specific section, select an Option # from the OPTS.
Statement #
To display a particular statement, enter the desired statement number from 1 to 9999 in the Statement # field, and
press Enter .
Nested=
To display a particular nested program, enter the program name in the Nested = field, and press Enter .
 959


InterTest™ and SymDump ® 11.0
Search=
To display the code defining a particular data item in Working-storage, Local-Storage, or the Linkage section,
enter the data name in the Search = field, and press Enter .
To display the code surrounding a particular paragraph or label, enter the paragraph name or label name in the
Search = field, and press Enter.
Displacement=
To display the listing at a specific displacement in an Assembler program, enter the displacement from 0 to
FFFFFF in the Displacement= field.
Adjust the Margins
Because certain compiler output (particularly Assembler and Optimizer/II  output) extends beyond 80 positions, it might be
necessary to adjust the display margins to view more of your program's Source Listing.
Margin=
To adjust the output display to view portions of the listing to the right of position 80, perform the following steps:
1.Enter the position number of the desired left margin in the Margin= field. Valid entries are 1 through 50.
2.Press Enter . The screen displays the output beginning at the position specified, as shown in the following example.
Example
Assembler users often set the Margin= field to 28 as shown next.
CA InterTest for CICS - PROTDEM FILE SOURCE LISTING DISPLAY
COMMAND ==>
Program= ASMDEMO  Option #       Stmt #      Displacement=      Margin= 28
                                        Search=
OPTS 1 1st CSECT 2           3            4           5          6 Xref
     7 Literals  8 Err msgs  9 Srch fwd  10 Srch bwd 11         12 Bkpt opts
PFKS 1 Help      2           3 End        4 Profile   5 Monitor  6 Menu


7 Backward  8 Forward   9 Next Wnd  10          11         12 Status
-----------+---------------------------------------------------------------
      LOC   STMT       SOURCE STATEMENT
    000000   463+        STM   14,12,12(13)        SAVE CALLER'S REGISTERS
             464+*************************************************************
             465+*             ESTABLISH CODE ADDRESSIBILITY
             466+*************************************************************
             467+        USING *4,2,3,4,7
    000004   468+        LR    2,15
    000006   469+        LR    3,2
    000008   470+        AH    3,DFHEI4K
    00000C   471+        LR    4,3
    00000E   472+        AH    4, DFHEI4K
    000012   473+        LR    7,4
    000014   474+        AH    7,DHEI4K
             475+**************************************************************
             476+              OBTAIN DYNAMIC STORAGE
NOTE
 960


InterTest™ and SymDump ® 11.0
•The statement or location numbers stay on the screen as the rest of the display shifts left or right. A plus sign
(+) in the line above the display area indicates the column where shifting begins.
•If there is no output beyond position 80, InterTest for CICS overrides a margin setting greater than 1 and
redisplays positions 1 through 80.
Log a Monitoring Session
When you monitor a program, you can log, or record, the monitoring session and save it to PROTMLOG. You can then
use this file to repeat your monitoring session later.
You can issue the following monitoring session commands from the listings facility command line. All monitoring session
commands are applied to the user ID and terminal that issue the commands:
MLOG
Displays the InterTest for CICS SAVED DEBUG SESSIONS screen (ITST 2.7).
MLOG START [name [description ]]
Starts recording a new monitor session.
•name
(Optional) Specifies a name for the session. If you omit the name, the session is saved with the same name as
the program.
Limits:  1 to 8 characters
•description
(Optional) Describes the session.
Limits:  1 to 35 characters
When you issue the START command, the active recording session is indicated by a flashing REC on the Source
Listing Display screen.
MLOG STOP
Stops recording and saves the monitor session.
When you issue the STOP command, the flashing REC disappears from the Source Listing Display screen.
MLOG CANCEL
Cancels the current session and deletes all entries that were recorded since the START command was issued.
When you issue the CANCEL command, the flashing REC disappears from the Source Listing Display screen.
MLOG LOAD [ name ]
Loads an existing session.
•name


MLOG LOAD [ name ]
Loads an existing session.
•name
(Optional) Specifies the session. If you omit the name, the session that has the same name as the program is
loaded.
Limits:  1 to 8 characters
Customize the Source Listing Profile
InterTest for CICS was designed with the user in mind. The Source Listing Profile lets you set specific functions that help
you meet your testing needs.
Access
To access the Profile, type profile  on the command line and press Enter , or press PF4 while viewing the Source Listing or
Breakpoint screen. The Profile appears at the bottom of your screen.
It is not necessary to change the options in the Profile screen unless you want to change the default settings for your test
session.
 961


InterTest™ and SymDump ® 11.0
Info Area
The info area is located at the top of the Source Listing Display screen under the Search field. The info area displays
various windows depending on the value in the Display window field in the Source Listing Profile.
To change the information displayed in the info area, change the value in the Display window field.
Follow these steps:
1.On the Source Listing screen, either type profile  in the command line and press Enter , or press PF4.
The Profile screen appears.
2.Specify the desired value in the Display window field, and press Enter .
The info area displays the information that you requested.
3.Alternatively, type 20-24 in the Option # field to display the required window. See Source Listing Option Field Entries.
–Press PF9 to switch between the windows in order. PF9 does not switch between the windows when the Backtrace
Facility is active.
The Display window field has the following values:
N (None)
Disables the info area so that you are able to see more of the source code.
T (Titles)
Displays the Title window in the info area. The Title window shows the title and header lines of your Source Listing
Display, including the option and PF key descriptions. T is the default value for the Display window field unless
changed during the product installation.
R (Registers)
Displays the Register window in the info area. The Register window shows the registers and attributes of your
program.
K (Keep)
Displays the Keep window in the info area. The Keep window shows your program data items. If the AUTOKEEP
option is ON, the window always switches to the Keep window whenever there are any data items to be
displayed.
P (Program)
Displays the Program window in the info area. The Program window enables you to specify the load module name


Displays the Program window in the info area. The Program window enables you to specify the load module name
and view the symbolic file information.
Register Window
The Register window allows you to display and modify the contents of registers, and view an area where a register points
to.
The following screen shows the Register window:
   CA InterTest for CICS - PROTSYM FILE  ABEND DETECTED BREAKPOINT
COMMAND ===>
Program= COBDEMO  Option #       Stmt #
                                        Search=
------------------------------------------------------------------------------------
 R0-R7  3520A424 35209220 00100100 3520B5C8 3520A540 350F79E0 350F7998 B5200108
 R8-R15 3520A5C8 3520A2C0 3651B15C 3651B904 3651B11C 352090D0 B651C242 00000000
 Cond. Code = 0   Amode = 31   ExecKey = USER   TransIsolate = YES
------------------------------------------------------------------------------------
 _ 000412 CONTINUE-TASK.
   000413**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED
 A    ==>     ADD +1 TO TASKNUM.
 962


InterTest™ and SymDump ® 11.0
...
The Register window contains the following fields:
•R0-R7
•R8-R15
Displays the contents of registers at the current statement of the program.
•Cond. Code
Indicates the current condition code.
•Amode
Displays the current addressing mode of the program.
•ExecKey
Displays the ExecKey for the current program if the CICS Storage Protection Option is active, depending on the option
specified in the program definition.
•TransIsolate
Displays the transaction isolation option of the current task if the CICS Transaction Isolation Option is active.
To modify the program registers, overtype the displayed contents with the desired value, and press Enter . To view the
area pointed to by a register, overtype the first displayed character of the register with either an at sign (@) for a 24-bit
address, or with a percent sign (%) for a 31-bit address, and press Enter .
Program Window
The Program window enables you to specify the name of a composite load module, and set breakpoints for subprograms
that belong to that composite load module.
The following screen shows the Program window:
   CA InterTest for CICS - PROTSYM FILE  SOURCE LISTING DISPLAY
COMMAND ===>
Program= CSBIN25  Option #       Stmt #
                                        Search=
 Load module= COBDEML
 Symbolic file: PROTSYM  Timestamp: 2014-05-27 05:05 Language: IBMCOB 4.2
---------+--------------------------------------------------------------------------
 _ 000023 PROCEDURE DIVISION USING COMM-TEXT.
 _ 000024     MOVE ZERO TO DIVCT.
...
The Symbolic file, Timestamp and Language fields provide information about the subprogram specified in the Program


The Symbolic file, Timestamp and Language fields provide information about the subprogram specified in the Program
field, not the load composite module in the Load module field.
Scroll Amount
The scroll amount determines how much more of your source listing displays each time you use PF7 or PF8.
To set the scroll amount for scrolling backward and forward (PF7 and PF8), perform the following steps:
1.Type profile  on the command line and press Enter, or press PF4 from a Source Listing screen to display the Profile
screen.
2.Overtype the current PF7/8 Amount=entry with one of the following:
PAGE
The size (number of lines) of the display area on the Source Listing Display and Breakpoint screens.
HALF
Half the size of the display area.
 963


InterTest™ and SymDump ® 11.0
nnnn
Any number of lines from 1 to 9999.
STOP
Go to the next or previous breakpoint in the program.
3.Press Enter. The change takes effect immediately, and you return to the Source Listing Display screen.
NOTE
•Setting the Scroll Amount to STOP is an excellent way to review all of the breakpoints set in your program
•PF7 and PF8 do not apply to the Keep window, within which PF19 and PF20 perform the forward and
backward functions
Step Timing
Step timing determines where the Step or Next command stops statement execution.
To set Step timing to After, type After  and press Enter .
AFTER
The program is stopped after the next verb, statement or instruction is executed.
BEFORE
The program is stopped before the next verb, statement or instruction is executed. (Default)
Step Amount
The step amount determines how many COBOL verbs, Assembler instructions, or PL/I statements will be executed at a
time when you use PF10 to single-step through your program.
Stepping Amount=
To set the step amount for PF10, perform the following steps:
1.Type profile  on the command line and press Enter, or press PF4 to access the Profile screen from any Source Listing
screen.
2.Enter the desired number of COBOL verbs, Assembler instructions, or PL/I statements from 1 to 999 in the Stepping
amount= field.
3.Press Enter . When the Source Listing Breakpoint screen is redisplayed, the new step amount is reflected in the PF10
(Single-step) definition, as shown in the following example.
Example
The Source Listing Breakpoint display in the following figure shows a PF10 step amount set to 004 Verbs.
CA InterTest for CICS - PROTDEM FILE SOURCE LISTING BREAKPOINT


CA InterTest for CICS - PROTDEM FILE SOURCE LISTING BREAKPOINT
Command ==>
Program= COBDEMO  Option #       Stmt #                           Margin= 01
                       Search=
OPTS 1 Proc div  2 Work-stor 3 Link sect 4 D-map      5 Clst/Pmap More:   +
     6 Data xref 7 Proc xref 8 Err msgs  9 Srch fwd  10 Srch bwd

PFKS 1 Help      2            3 Det Bkpt  4 Profile    5 Resume     6 Menu
     7 Backward  8 Forward    9          10 004 Verbs 11 Backtrace 12 Status
----------------------------------------------------------------------------
  _ 00880 CONTINUETASK.
    00881**** TASKNUM *NOTE* FIELD MUST BE INITIALIZED
  A   ==>     ADD +1 TO TASKNUM.
 964


InterTest™ and SymDump ® 11.0
      ==>
      ==> ASRA abend (0C7) detected and prevented. Caused by invalid decimal
      ==> arithmetic data format.
      ==>
      ==>      Press PF1 for a detailed description.
      ==>
  _ 00883     IF TASKNUM = 1
  _ 00884         MOVE 'DMAPASR'  TO MAPNAME.
  _ 00885     IF TASKNUM = 2
  _ 00886         MOVE 'DMAPSUM'  TO MAPNAME.
  _ 00887     IF TASKNUM GREATER 2
  _ 00888         GO TO SENDENDMSG.
NOTE
The step value of PF10 on the Source Listing Breakpoint screen does not apply to the PF10 definition on the
Detailed Breakpoint screen.
Use the Stepping Amount parameter to enable the automatic tracing feature of the Source Listing Backtrace. When the
Stepping Amount is set to any number greater than one, the new value becomes the number of statements InterTest for
CICS traces on the Source Listing Backtrace. (PF9 traces backward; PF10 traces forward).
Turn on Automatic Single-Stepping
Automatic single-stepping lets you to go through your source listing a specified number of steps at specified time intervals.
Auto-stepping= ON
To access the Auto-stepping Parameters screen, perform the following steps:
1.Type profile  on the command line and press Enter, or press PF4 from any Source Listing display. The Source Listing
Profile is displayed.
2.Specify Auto-stepping= ON.
3.Press PF4 to activate your specification. The auto-stepping parameters are displayed.
When Auto stepping= ON, the defaults are as follows:
•Pause one second  before repeating single-stepping or automatic tracing


•Pause one second  before repeating single-stepping or automatic tracing
•Stop at the next CICS command or call
To change the automatic stepping amount, perform the following steps:
1.Type profile  on the command line and press Enter, or press PF4 from the Profile screen to access the auto-stepping
parameters.
2.Specify the following options:
Wait amount
Enter the number of seconds from 1 to 59 that InterTest for CICS should pause at each single-step breakpoint.
Stop value
Enter a value that determines when automatic single-stepping should terminate, either at a CICS command or
call, or after a specified number of steps are executed.
3.Press Enter to process the new settings and return to the Profile screen.
4.Press Enter  again to return to the Source Listing display or breakpoint screen.
Breakpoint Display Mode
InterTest for CICS has two breakpoint displays:
 965


InterTest™ and SymDump ® 11.0
•The Source Listing Breakpoint version lets you to test directly from your source listing.
•The Detailed Breakpoint display requires you to use one-line InterTest for CICS commands and other menus.
The initial display mode depends on the setting chosen when InterTest for CICS was installed; however, you can change
the display mode at any time by using the Profile screen. This change remains in effect until the Source List BKPT=
setting is changed.
Source List BKPT=
To change the breakpoint display mode, perform the following steps:
1.Type profile  on the command line and press Enter, or press PF4 to display the Profile screen. The Source List BKPT=
field shows the current setting.
2.Overtype the current value with one of the following:
ON
Displays the Source Listing Breakpoint.
OFF
Displays the Detailed Breakpoint.
3.Press Enter to process the new setting and to return to the Source Listing Display screen.
From and BKPT Terminal IDs
From Terminal ID=
From Terminal ID identifies where the program executes. The default for the From Terminal ID setting depends on your
system's installation option value for DFLTUSER.
•When DFLTUSER=.ANY is in effect, the default is the terminal displaying the source listing.
•When DFLTUSER=SPECIFIC is in effect and you are signed on to CICS, the default is .ANY. This entry tells InterTest
for CICS to monitor the program when it runs from .ANY terminal wherever you are signed on to CICS.
To change the default From Terminal ID, perform the following steps:
1.Type profile  on the command line and press Enter, or press PF4 from the Source Listing display to access the Source
Listing Profile screen.


Listing Profile screen.
2.Overtype the entry in the From Terminal ID field to specify where the program will run. Valid entries are as follows:
terminal ID
Runs from the specified terminal
*
Runs from current terminal displaying this profile screen
.ANY
Runs from any terminal or even without a terminal
.NO
Monitors only when this program runs as a background transaction without a terminal.
NOTE
The BKPT terminal ID must be set to a specific 3270-type terminal that will receive the breakpoints. If
From terminal ID is .N and the BKPT terminal ID is .NO or .ANY, the breakpointed task is abended with
an INTE abend when the first breakpoint is encountered.
3.Press Enter to process the new From Terminal ID setting and to return to the Source Listing Display.
BKPT Terminal ID=
From Terminal ID identifies the terminal where breakpoints display. The default for the BKPT Terminal ID depends on your
system's installation option value for DFLTUSER. To view your system's installation options online, use ITST Option 7.1.2.
 966


InterTest™ and SymDump ® 11.0
•When DFLTUSER=.ANY is in effect, the default is the terminal that is displaying the source listing.
•When DFLTUSER=SPECIFIC is in effect and you are signed on to CICS, the default is .ANY. This entry tells InterTest
for CICS to send the breakpoints to any terminal where the user is signed on to CICS.
To change the default, perform the following steps:
1.Type profile  on the command line and press Enter, or press PF4 from the Source Listing display to access the Source
Listing Profile screen.
2.Overtype the entry in the BKPT Terminal ID field to specify the terminal to receive the breakpoint displays. Valid entries
are:
terminal ID
Displays breakpoints at the specified terminal.
*
Displays breakpoints at the terminal displaying this profile screen.
.ANY
For transactions executing at a 3270-type terminal, the breakpoint displays on the executing terminal.
.NO
If the transaction runs as a background task without a terminal, the transaction abends with an INTE abend when
the first breakpoint is displayed.
The breakpointed task abends with an INTE abend when the first breakpoint is displayed.
3.Press Enter to process the new BKPT Terminal ID setting and to return to the Source Listing Display.
Set the User ID
InterTest for CICS monitoring is sensitive to user IDs. Monitor programs and set breakpoints and other monitoring options
with the user ID set to .ANY, or the user ID set to a specific CICS user ID (in a secure CICS region). When the user ID is
set to .ANY, everyone is monitored and the breakpoints and other monitoring options that you set take effect only if the
program executes from the terminal used to set the breakpoints. When the user ID is set to a specific user ID, only that


user is monitored, and the breakpoints and other monitoring options are directed to wherever the specified user is logged
onto CICS.
User ID=
The default is either the current CICS user, or .ANY. To change the default, perform the following steps:
1.Type profile  on the command line and press Enter, or press PF4 from the Source Listing display, to access the Source
Listing Profile screen.
2.Overtype the entry in the User ID field to specify the CICS user who must execute the program for monitoring and
breakpoints to take effect. Valid entries are:
specific user-ID
Monitoring and breakpoints take effect only when the specific CICS user executes the program.This establishes a
personal debugging session for the CICS user and directs breakpoints to the terminal on which the user is signed
on.
.ANY
Monitoring and breakpoints take effect when anyone executes the program.
3.Press Enter to process the new user ID setting and to return to the Source Listing Display.
NOTE
If you override the default user ID setting, check the Profile before each Source Listing Session and before you
set additional breakpoints during a test session.
 967


InterTest™ and SymDump ® 11.0
Set the Keep Window to Display Variables in Current Statement
AUTOKEEP lets you display items in the Keep window concerning the currently highlighted statement.
The initial setting for AUTOKEEP is chosen when InterTest for CICS is installed. If the IN25OPTS parameter SLBAKEEP
is set to yes, which is the default, AUTOKEEP will be active. However, use the Profile screen to turn AUTOKEEP off or on
again at any time.
AutoKeep Display=
To change the setting for AUTOKEEP, perform the following steps:
1.Type profile  on the command line and press Enter, or press PF4 to access the Profile screen from any Source Listing
Screen. The AutoKeep Display = field shows the current setting.
2.Overtype the current value with one of the following:
YES
Displays in the Keep window, the variables being manipulated in the current statement, along with any data items
you requested.
NO
Displays in the Keep window only the data items you requested.
3.Press Enter to process the new setting and to return to the Source Listing Display screen.
Set Code Coverage
Code Coverage (Counts) lets you see the number of times a verb was executed.
The initial setting for Code Counting is off, which is the default. However, use the Profile screen to turn Code Coverage off
or on again at any time.
How the counts are displayed or not displayed is handled by the primary line command COUNTS with its associated
parameters.
This feature, due to its nature, causes overhead during monitoring and should be turned off as soon as it is no longer
needed.
Code Counting=
To change the setting for Code Coverage, perform the following steps:
1.Type profile  on the command line and press Enter, or press PF4 to access the Profile screen from any Source Listing


Screen. The Code Counting= field shows the current setting.
2.Overtype the current value with one of the following:
YES
Enables code counting and turns on the COUNTER display feature.
NO
Removes the COUNTER display and stops the counting feature.
3.Press Enter to process the new setting and to return to the Source Listing Display screen.
Set Structure Display Form
SDF defaults to the value set in the IN25OPTS macro, a value of HEX displays structured data in dump format and a
value of DATA displays structured data in display format.
To change the current structure display format type profile on the command line and press Enter, or press PF4 to access
the Profile screen from the Source Listing Screen. The SDF = field shows the current setting.
 968


InterTest™ and SymDump ® 11.0
Testing Activities
This section discusses testing activities for monitoring users.
Set Monitoring
A CICS user ID is assigned to all monitoring requests. Depending on how InterTest for CICS was installed at your site, the
default may be to set monitoring for .ANY  user, or to set monitoring for a specific CICS user. The following topics discuss
how these settings affect your test session.
As long as you are working in a secure CICS region, you can override the default user ID setting using the Profile display.
You should check how the user ID is set prior to setting breakpoints or monitoring for a program.
Monitor with User ID=.ANY
Setting monitoring with a user ID of .ANY  is the same as monitoring in earlier CICS releases: the program is monitored
when ANY user executes the program, and breakpoints are displayed by default on the same terminal where they were
set.
Monitor with a Specific User ID
When you set monitoring for a program with a specific user ID, InterTest for CICS only monitors the program when it is
executed by that user. In addition, breakpoints display at whatever terminal that user is signed on to. Of course, this option
requires a secure CICS region and the user to be signed on to CICS when testing the program.
Monitoring with your specific user ID has the following advantages over monitoring with user ID=.ANY:
•You can change terminals and your breakpoints and monitoring options will follow you
•Your testing will not interfere with any one else testing the same program
•You can use a multi-session terminal emulator package and have breakpoints directed to whatever terminal session
you are using
View and Set the User ID
To view or set the user ID that will be used for monitoring and breakpoints, access the Source Listing Profile. To access


the Profile, either enter PROFILE  on the command line and press Enter, or press PF4. The User ID field is at the bottom
of the Profile. To change its value, delete the current entry, type in the new entry, and press Enter .
Also check the Terminal ID field just above the User ID field. Generally, you want Terminal ID set to .ANY when User ID is
specific , and Terminal ID set to a specific terminal ID when User ID is .ANY.
Set Monitoring for a Displayed Program
To set monitoring for the program you are viewing, enter MONITOR in the command line, or press PF5. InterTest for CICS
processes the request immediately using the user ID value currently set in the Source Listing Profile.
NOTE
If you are going to set any breakpoints, skip this step; setting a breakpoint automatically sets monitoring for the
program.
Monitoring Multiple Programs
If you plan to test more than one program, you need to set monitoring and breakpoints for each program. If a program to
be tested passes control to another program using XCTL or LINK, you also must set monitoring for the receiving program.
To display another program, overtype the program name in the Program= field. Specify where you want to begin the
program's display by using the Option #, Stmt #, and Search = or Assembler Displacement fields. Press Enter to process
your request. For details, Change the Program and Position the Display.
 969


InterTest™ and SymDump ® 11.0
With the new program displayed, repeat the steps to set monitoring and breakpoints.
Display and Search Through Nested Programs
InterTest for CICS provides support for COBOL nested programs.
COBOL nested programs let non-unique paragraph and data names to be defined across nested programs. Therefore,
InterTest for CICS supports qualified  names for COBOL programs. A qualified name consists of a one- to 30-byte COBOL
program name, a colon, and a one- to 30-byte paragraph or data name.
Example
program1:datanam1 is a qualified name. Qualified names ensure that the correct version of datanam1, which you define
in multiple programs, is displayed. Qualified names are supported by the Source Listing facility, the Breakpoint facility,
CNTL commands and menus, and by the Indirect Commands facility.
When InterTest for CICS displays the source code for a nested program, the Nested= field appears below the Program=
field. The Nested= field is 30 bytes long, and indicates the name of the nested program for the currently displayed source
code. If you are using the Source Listing facility to display a COBOL nested program and you press PF8 to scroll through
the entire source code of the program, the Nested= field changes each time the source code for a different nested
program is displayed.
The names of all nested programs within a specific COBOL program are listed at the end of the Procedure Name Cross
Reference section (Option  # 7).
    CA InterTest for CICS - PROTDEM FILE SOURCE LISTING DISPLAY
COMMAND ===>
Program= ACME2000 Option #       Stmt #                             Margin= 01
 Nested=                                Search=


Nested=                                Search=
OPTS 1 Proc div  2 Work-stor 3 Link sect 4 D-map      5 Clst/Pmap More:   +
     6 Data xref 7 Proc xref 8 Err msgs  9 Srch fwd  10 Srch bwd  PFKS
     1 Help      2           3 End       4 Profile    5 Monitor   6 Menu
     7 Backward  8 Forward   9 Next Wnd 10           11           12 Status
---------+------------------------------------------------------------------
 _ DEFINED      PROCEDURE NAMES         REFERENCES
 _   122 3000REGISTERHANDLER          P107
 _   131 4000FORCEABEND               P108
 _   139 5000HANDLEROUTINE            D129
 _   152 9000RETURN                    P109
 _   168 9999GOBACK
 _   227 9999GOBACK                    P221
 DEFINED   CROSSREFERENCE OF PROGRAMS     REFERENCES
EXTERNAL   ACME200A . . . . . . . . . . . 120
     171   ACME200N . . . . . . . . . . . 229 114
       2   ACME2000 . . . . . . . . . . . 230
EXTERNAL   ACME2001 . . . . . . . . . . . 117
EXTERNAL   DFHEI1 . . . . . . . . . . . . 127 137 147 160 166
NESTED PROGRAM MAP
PROGRAM ATTRIBUTE CODES (RIGHTMOST COLUMN) HAVE THE FOLLOWING MEANINGS:


PROGRAM ATTRIBUTE CODES (RIGHTMOST COLUMN) HAVE THE FOLLOWING MEANINGS:
The Nested= field also indicates the nested program to which Option # 1, 2, 3, and 13 apply, and the nested program
that InterTest for CICS searches first for any data name or paragraph name that you specify in the Search= field. If a
paragraph name or data name is not found in the specified nested program, InterTest for CICS then searches the main
program.
Example
 970


InterTest™ and SymDump ® 11.0
If Option # 2 and Nested=program2 are specified, the Working Storage section for nested program program2 appears.
Also, if Nested=program3 and Search=datanam1are specified, nested program program3 is searched first for datanam1; if
datanam1 is not found, the main program is searched for datanam1.
Maintain Synchronized Processing
When InterTest for CICS searches the symbolic files for the COBOL and PL/I programs that you specify, it tries to match
the date and time in the symbolic file to that of the load module. If a match is not found, either a Symbolic Version List or a
warning message displays.
When InterTest for CICS searches the symbolic files for the Assembler programs you specified, the Symbolic Version List
displays if multiple symbolic versions of a program are found.
COBOL and PL/I Symbolic Version Processing
When you use LIST= program , ITST, or CNTL to request a COBOL or PL/I program that has no previously declared
breakpoints or monitoring options set, InterTest for CICS matches the date and time of the most recently compiled
version of the program from the symbolic files to the load module date and time.
•If an exact match is found and there are no later versions, InterTest for CICS automatically selects that version of the
listing and displays it.
•If a match is not found, InterTest for CICS displays the Symbolic Version List from which you can either:
–Select the appropriate symbolic file and program version
–Ignore symbolic processing for the program
–The Symbolic Version List screen might also explain the cause of the mismatch. The following are possible causes
for the mismatch:
–There was no matching program listing for the load module.


for the mismatch:
–There was no matching program listing for the load module.
–A matching listing was found for the load module, but it is not the most recently compiled version. You can select the
matching listing at this point or new copy the load module so that it matches the most recently compiled version and
then retry the LIST or CNTL command.
During Automatic Breakpoint processing, if a program has no previously selected symbolic file, InterTest for CICS will
attempt to match the load module's date and time to a symbolic file program listing.
•If an exact match is found, InterTest for CICS automatically selects and displays it.
•If a match is not found, InterTest for CICS displays the Symbolic Version List from which you can choose a non-
matching program listing version or ignore symbolic processing for the program.
Once a symbolic file is selected for a program, InterTest for CICS continues to use the selected file and program version.
If a new version of the program is compiled and linked and you have one or more breakpoints set by Statement # or
Offset, then you should deactivate monitoring for the program, new copy the program , and then reset any Statement
# or Offset breakpoints. This will insure that your breakpoints are in sync with the new program version. Alternatively, if
you do not have any breakpoints set or only breakpoints set by paragraph-name, you can execute a CNTL=NEW,PROG=
command or ITST Option 2.1 NEWCOPY, which will reset monitoring for the new program version.
For PL/I Programs
Successful date and time matching for PL/I modules requires that PL/I programs be compiled using the default
TSTAMP=YES option.
Assembler Symbolic Version Processing
Assembler programs have no internal date and time generated by the compiler, which prevents date and time matching.


Assembler programs have no internal date and time generated by the compiler, which prevents date and time matching.
However, when LIST=program  or CNTL=ON,PROG= program  is requested for an Assembler program with multiple
symbolic versions of the listing and no previously declared breakpoints or monitoring options, InterTest for CICS displays a
 971


InterTest™ and SymDump ® 11.0
Symbolic Version List from which you select the appropriate symbolic file and listing version or ignore symbolic processing
for the program.
Once a symbolic file and program version is selected for an Assembler program, InterTest for CICS continues to use
the selected file and program version. If a new version of the program is compiled and linked and you have one or more
breakpoints set by Statement # or Offset , then you should deactivate monitoring for the program, new copy the program ,
and then reset any Statement # or Offset breakpoints. This will insure that your breakpoints are in sync with the new
program version. Alternatively, if you do not have any breakpoints set or only breakpoints set by paragraph-name, you can
execute a CNTL=NEW,PROG= command or ITST Option 2.1 NEWCOPY, which will reset monitoring for the new program
version.
The Symbolic Version List
The Symbolic Version List lets you select the appropriate symbolic file or exit InterTest for CICS and find out why a date
and time mismatch occurred.
•To select a symbolic File ID, place an S next to the File ID.
•To exit InterTest for CICS without viewing any symbolic file, press PF3.
•To see why a mismatch occurred, consult the Comment column.
The following screen shows a sample Symbolic Version List that appears when the LIST or CNTL transactions cannot
determine which symbolic file to use.
        CA InterTest for CICS - Symbolic Version List

 Program = COBDEMO   Load Module Date and time =  07/07/94   9.44.13
   Loadlib = COBDEMO.loadlib                               Volume = volser

   File ID    Date      Time    Language     Comments


File ID    Date      Time    Language     Comments
 _ PROTDEM  07/24/94  11.44.13  COBOL      Latest Version
 _ PROTTST  07/24/94  10.59.00  COBOL      Update Mode
 _ PROTACC  07/23/94  12.52.00  COBOL
 _ PROTPRO  07/23/94  10.01.00  COBOL

        S  Select which Symbolic file to use for program display
-----------------------------------------------------------------------
 ’
 PFKEYS:  1 Help      2           3 No File   4           5           6
          7           8           9          10          11          12
 “CAIN8000 The latest Symbolic version does not match the current load module
This screen shows the following information:
•Specifies the name of the program being processed.
•Displays the internal date and time from the COBOL or PL/I load module. This field is not displayed for Assembler
programs or for PL/I programs compiled with a compiler that was installed with the TSTAMP=NO installation option.
•Displays the names of each version of the symbolic file containing a copy of the specified program.
•Lists dates and times that each version of the symbolic file was compiled.
•Displays the language of the compiled program.
•Displays information about the version listed in the File ID column, and also explains the reason for the date and time
mismatch. Comments include:
 972


InterTest™ and SymDump ® 11.0
Update Mode
Specifies the program is being updated by the batch post-compiler utility. It could also mean that the PROTSYM
ran out of space while a post-compiler was processing this program.
Date and time Match
Specifies the program compile date and time matches the load module date and time, but it is not the most
recently compiled version of the program.
Latest Version
Specifies the program compile date and time is the most recently compiled version of the program, but it does not
match the load module date and time.
•Lists the PF keys available from this screen.
•PF1
Accesses the Help facility.
PF3
Exit the Symbolic Version List and ignore symbolic processing.
Set Breakpoints
A breakpoint halts execution of your program. InterTest for CICS halts the program before the instruction at a breakpoint
location is executed.
The following table shows the types of breakpoints that you can set in a program:
Breakpoint Action
Unconditional Stops at a specified program location.
Conditional Stops at a specified program location when a specified condition is
met.
Variable-change Stops when the value of a specified variable changes; for
COBOL and Assembler only.
Request Stops at a CICS command or at calls to software.
Set breakpoints from the Source Listing Display prior to program execution, from any breakpoint during program
execution, or from the Monitoring menus at any time.
Remove Breakpoints
Remove user breakpoints as quickly as they were set. In addition to the previously supported methods of removing
breakpoints, use the Monitoring Status display to quickly remove any type of breakpoint.
Remove automatic breakpoints only if the error is corrected. However, you can go around the error and begin execution
from another point.
Statement Tracing


from another point.
Statement Tracing
Statement tracing causes InterTest for CICS to add entries to the statement trace table for each executed statement.
Then view the executed statements at any breakpoint by stepping backward and forward through the trace table entries
using the PREV and ADVANCE commands. Statement tracing is only valid for COBOL programs and is unrelated to the
backtrace facility.
Set statement tracing from the Source Listing Display prior to program execution, from any breakpoint during program
execution, or from the Monitoring menus at any time. Remove statement tracing using one of those methods. In addition,
use the Monitoring Status display to quickly remove statement tracing.
 973


InterTest™ and SymDump ® 11.0
Data Monitoring
Data monitoring causes InterTest for CICS to capture data values for each statement executed in a program. The
captured data values are associated with an entry in the statement trace table. Redisplay them at any breakpoint
by stepping backward and forward through the trace table entries using the PREV and ADVANCE commands. Data
monitoring requires that statement tracing be active and is only valid for COBOL programs.
Set or remove data monitoring from the Source Listing Display prior to program execution, from any breakpoint during
program execution, or from the Monitoring menus at any time.
Run Your Program
After setting monitoring and breakpoints for each program you want to test, you are ready to begin testing. To begin
testing, perform the following steps:
1.Exit the Source Listing facility by pressing PF3 or Clear . If you accessed an InterTest for CICS screen outside the
Source Listing facility, you might have to press Clear  more than once to return to CICS. InterTest for CICS responds
with the message:
    Lister Function Terminated.
2.Initiate the program as you normally would from CICS. Depending on the breakpoints you set and the processing
paths your program takes, one of the following occurs:
–InterTest for CICS stops the transaction at a breakpoint (either one you set or one InterTest for CICS automatically
triggered) because the program was about to violate a CICS coding standard.
–The application runs to completion without being stopped by InterTest for CICS. The results might not be correct.
NOTE
If the program ends and you get incorrect results or need to test other logic paths, initiate LIST again and set
additional breakpoints before retesting the program. You do not have to reset monitoring -- it remains in effect
until specifically removed.
Exit the Source Listing Facility


until specifically removed.
Exit the Source Listing Facility
Type END  on the command line and press Enter to exit the Source Listing Facility or exit the menus using =X.
Using Breakpoints
These topics explain how to use the Source Listing facility and the menus to set and remove breakpoints in your
programs. The following bullets show the user-breakpoint types:
•Unconditional
•Conditional
•Variable-change
•Request breakpoints
The first topics describe how to set each type breakpoint type, giving alternative methods from the Source Listing and the
menus. The later topics discuss how to remove the breakpoints.
Set Breakpoints
A breakpoint halts execution of your program. InterTest for CICS halts the program at a breakpoint location before the
instruction executes.
The following bullets show the types of breakpoints that you can set in a program:
Unconditional
Stops at a specified program location.
 974


InterTest™ and SymDump ® 11.0
Conditional
Stops at a specified program location when a specified condition is met.
Variable-change
Stops when the value of a specified variable changes.
Request
Stops at a CICS command or at calls to software.
Setting a breakpoint automatically sets monitoring for that program, so if you are setting a breakpoint before you execute
a program, you do not need to set monitoring for the program.
Where Should You Set Breakpoints?
Set breakpoints to control program execution and to pinpoint errors in logic.At a breakpoint, use InterTest for CICS to do
the following tasks:
•Set additional breakpoints
•Execute line-by-line (single step)
•Examine or change the program path
•Display or change main storage
•Code and execute indirect commands
•Display or change auxiliary files
When Should You Set Breakpoints?
Set breakpoints before program execution or whenever the program stops at a breakpoint during execution. You do
not have to set all breakpoints in advance. Set one, start executing, and then set more when you reach a breakpoint.
To review your breakpoints or remove them, use the Status Display (PF12) at any time: before execution, from any
breakpoint, or after your session.
Why Should You Set Breakpoints?
You might want to set a breakpoint at the first statement in the COBOL
Procedure Division, the Assembler CSECT, or PL/I program. This gives you the opportunity to set the execution pace and
to determine the program path that you want to take during testing. If program control is passed from another program,
examine the COMMAREA at this point.
Often, breakpoints are set at the following locations for debugging purposes:
•At paragraph names to examine variables at the start of the sections
•Before a branch to dynamically control the program path during execution


•Before a branch to dynamically control the program path during execution
•At each location named in an EXEC CICS HANDLE CONDITION to verify error handling
An easy way to track data items during testing is to set a variable-change breakpoint on troublesome data, and then add
the data item to a Keep window.During program execution, the program stops each time the variable’s value changes, and
its value displays at the top of your screen in the Keep window.
Unconditional Breakpoints
These topics review setting unconditional breakpoints from the Source Listing and from the menus.
Set Unconditional Breakpoints from the Source Listing
While you are viewing your source listing (either before execution or during a breakpoint), set unconditional breakpoints
directly in your program code, or indirectly from the Procedure Names and Cross-Reference sections of the output.
 975


InterTest™ and SymDump ® 11.0
To set an unconditional breakpoint from a Source Listing or Breakpoint screen, follow these steps:
1.Enter u or ) in position 1 of the line in the program listing where you want the breakpoint set, but do not press Enter.
(You can add more than one breakpoint at a time). A "u" stops execution before  the selected item. A ")" stops
execution after the selected item.
You can add a breakpoint next to the following items.
–A line of executable code
–A COBOL paragraph name
–An Assembler label
–A PL/I label
A breakpoint set at a paragraph name or label occurs before (or after) execution of the first verb or instruction in the
paragraph.
2.Optionally, and before pressing Enter, use the Option # field and enter 12 (Bkpt Options) to access the menu for
specifying breakpoint options to your unconditional breakpoints. These options let you specify:
–If the program should stop at this breakpoint before statement execution (default) or after statement execution
–How often the program should stop at this breakpoint (every nth time, instead of every time)
–The terminal where breakpoints take effect
–The terminal that receives the breakpoints
–Indirect commands statement numbers to execute at this breakpoint
–The user ID (or .ANY) that executes the program
3.Press Enter  to set the breakpoints. InterTest for CICS flags each unconditional breakpoint with a U or a ).
If you used Option # 12 to set Breakpoint Options, the Breakpoint Locations Menu appears. Using this menu specify
your options for the breakpoint. Complete the menu. For more information, see Specify Breakpoint Options. After
completing this menu, press Enter to set the breakpoint and return to the Source Listing display or breakpoint.
The following sample screen shows how to set unconditional breakpoints.


The following sample screen shows how to set unconditional breakpoints.
   CA InterTest for CICS  - PROTSYM FILE SOURCE LISTING DISPLAY
COMMAND ===>
Program= COBDEMO  Option #       Stmt #                             Margin= 01
                                        Search=
OPTS 1 Proc div  2 Work-stor 3 Link sect 4 D-map      5 Clst/Pmap More:   +
     6 Data xref 7 Proc xref 8 Err msgs  9 Srch fwd  10 Srch bwd
PFKS 1 Help      2           3 Det Bkpt  4 Profile    5 Resume     6 Menu
     7 Backward  8 Forward   9 Next Wnd 10 001 Verb  11 Backtrace 12 Status
-------------------------------------------------------------------------------
 _ 01205     PERFORM CICS-LOOP 50 TIMES.
 _ 01206     GO TO MXS-OPTION.
 u 01207 CICS-LOOP.
   01208*EXEC CICS ASKTIME
   01209*          END-EXEC.
 _ 01210      MOVE '         00849   ' TO DFHEIV0
 u 01211     CALL 'DFHEI1' USING DFHEIV0.
   01212
 u 01213 MXS-OPTION.
 _ 01214     IF  TASK-SWITCH3 EQUAL SPACE
 _ 01215         MOVE 'A' TO TASK-SWITCH3
 _ 01216         MOVE 'DMAP06' TO MAPNAME
 _ 01217         GO TO SEND-REWRITE-RETURN.
   01218*EXEC CICS HANDLE CONDITION
   01219*          NOSTG(NO-STORAGE)


01219*          NOSTG(NO-STORAGE)
 976


InterTest™ and SymDump ® 11.0
NOTE
If you want to recompile your program and keep the same breakpoints in the recompiled version, set breakpoints
next to paragraph names or labels, not lines of executable code. Then, use the InterTest for CICS New Program
Copy function, explained in Monitoring Menu Options, to transfer the breakpoints to the same paragraph names
or labels in the recompiled program. If you set breakpoints at lines of executable code, New Program Copy
transfers the breakpoints to the same statement numbers  or offsets   in the recompiled program, which might not
be what you want.
If you compiled or assembled your program with the post-processor parameter value, LISTER=ALL, you can set
unconditional breakpoints using the Cross-Reference section. This method sets breakpoints at all references to the
selected data name. To use this method, follow these steps:
1.Display the Cross-Reference section using the Option # field.
2.Enter u or ) in column 1 next to the data name.
3.Press Enter to set the breakpoints. InterTest for CICS sets the breakpoints at all references to the COBOL, Assembler,
or PL/I data name. Then, InterTest for CICS displays the  breakpoint indicators in the Cross-Reference section and on
the lines in the Procedure Division or CSECT where the data name is referenced.
To set breakpoints at specific paragraph names, labels, or procedure names, follow these steps:
1.Display the Cross-Reference section using the Option # field. For more information, see Source Listing Facility for
InterTest.
2.Enter a u  or ) next to the:
–Specific paragraph name, label, or procedure name in the COBOL Cross-Reference listing
–Symbol line in the Cross-Reference section of the Assembler listing


–Symbol line in the Cross-Reference section of the Assembler listing
–Specific label or procedure name in the Xref section of the PL/I listing
3.Press Enter. The breakpoints apply to the specific paragraph names, labels, or procedure names.
The following screen shows how to set breakpoints at Procedure Names.
  CA InterTest for CICS  - PROTSYM FILE SOURCE LISTING DISPLAY
COMMAND ===>
Program= COBDEMO  Option #       Stmt #                             Margin= 01
                                        Search=
OPTS 1 Proc div  2 Work-stor 3 Link sect 4 D-map      5 Clst/Pmap More:   +
     6 Data xref 7 Proc xref 8 Err msgs  9 Srch fwd  10 Srch bwd
PFKS 1 Help      2           3 End       4 Profile    5 Monitor    6 Menu
     7 Backward  8 Forward   9 Next Wnd 10           11           12 Status
-------------------------------------------------------------------------------
 _ PROCEDURE NAMES                 DEFN     REFERENCE
 u AFTER-REWRITE                   01328
 _ CICS-LOOP                       01207  01205
 _ CONTINUE-TASK                   00895  00824 00888
 _ DATA-NAME                       01080
 u DO-READ-VAR                     01099  01096
 _ EXPANDED-DEMO                   00971  00821 00892 00893
 _ GEN-ERR                         01289  00802 00854 01047
 _ LAST-SCREEN                     00954  00947
 _ LINK-COBDEML                    01381  01372
 u LOOP-RTN                        01204


u LOOP-RTN                        01204
 _ MOVE-RECORD                     01148
 _ MXR-OPTION                      01199  01372
To set breakpoints at all paragraph names, labels, or procedure names, follow these steps:
1.Display the Procedure Names section using the Option # field.
 977


InterTest™ and SymDump ® 11.0
2.Enter a u  or ) next to the:
–Procedure-Names line in the COBOL Cross-Reference listing
–Symbol line in the Cross-Reference section of the Assembler listing
–Declare line in the Xref section of the PL/I listing
3.Press Enter .
4.When prompted, press PF3 to confirm the request for multiple breakpoints. The breakpoints apply to all paragraph
names, labels, or PL/I procedures.
Set Unconditional Breakpoints from the Menus
You can set all types of breakpoints from the Monitoring submenus of the Primary Option Menu.
To set one or more unconditional breakpoints from the menus, follow these steps:
1.Access the Primary Option Menu, and select Option  2 Monitoring .
2.If you already set monitoring for the program, transaction, or terminal, repeat the entry that duplicates the monitoring
request. Check this by viewing the Monitoring Status display. In most cases, this is Option 1 Program .
If you have not set monitoring, select whether you want to monitor a program (option 1), transaction (option 2), or
terminal (option 3). Most users monitor the program.
3.On the Program, Transaction, or Terminal Monitoring Menu:
–Complete the top part of the Monitoring menu to specify (or duplicate) how the program, terminal, or transaction will
be monitored.
–Complete the bottom part of the menu by entering s next to the UBP option for Unconditional Breakpoints.
–Press Enter to process your request.
Specify Breakpoint Locations
To set breakpoint locations, complete the fields on the Breakpoint Locations panel as follows:
•For a COBOL program, you can specify a paragraph name or data name, a statement number, or the hexadecimal
displacement (offset) from the beginning of the program.


displacement (offset) from the beginning of the program.
•For an Assembler program, breakpoint locations can be Assembler labels, data names, or offsets.
•For a PL/I program, breakpoint locations can be offsets or, if you have the PL/I symbolic option, PL/I labels or
statement numbers. PL/I labels can be qualified by Procedure Name using the syntax: Procedure-Name:Label.
Use the following rules when specifying information:
•If you specify statement # 1, InterTest for CICS sets a breakpoint at the first executable instruction in a COBOL
Procedure Division, Assembler CSECT, or PL/I procedure.
•COBOL statements can contain more than one verb. In specifying statement numbers, indicate the verb at which the
breakpoint should occur. A statement number of nnn or nnn indicates the first verb in the statement, nnn.1 indicates
the second verb, nnn.2 indicates the third verb, and so on. For example, a statement number entered as 503.3
specifies a breakpoint at the fourth verb in statement number 503.
•If you specify a COBOL, Assembler, or PL/I data name, breakpoints are set at every reference to that data name.
•Enter an X in the All paragraph names field (COBOL), All Assembler labels field, All Labels field (PL/I), or All
Procedure Names field (PL/I) to set breakpoints at all of the indicated locations.
•Enter an X in the After field to stop after the statement executes.
NOTE
You can specify up to nine breakpoints.
Specify Breakpoint Options
The following specifications are optional:
 978


InterTest™ and SymDump ® 11.0
Enter 'n' to stop only every n'th time
Specifies how often the program should be halted when you set a breakpoint within a loop.
Term ID (or .ANY or .NO) where breakpoints will take effect
Specifies ID of the terminal where the program must be executing for breakpoints to take effect. If you leave this
field blank, it defaults to your current terminal. Enter . ANY  to have breakpoints take effect at all terminals, even
when the program executes without a terminal. Enter . NO to have breakpoints take effect only when the program
executes without a terminal.
Term ID (or .ANY) that will receive the breakpoints
Specifies the ID of the terminal to receive breakpoint displays. If you leave this field blank, it defaults to your
current terminal. Enter . ANY  to have breakpoint screens displayed at the terminal where the program is executing
when the breakpoints occur.
Statement no. of indirect command(s) to be executed
Specifies the statement number of the indirect command that you want to invoke at the breakpoint you have set.
User ID (or .ANY) who will execute the program
Specifies the CICS ID of the user who must execute the program for the breakpoint to take effect. Valid entries are
a specific CICS user ID or .ANY . The default varies depending on your installation option settings for DFLTUSER.
Example
The following example shows how to set unconditional breakpoints at four locations in the COBOL program COBDEMO.
      CA InterTest MONITORING COMMAND BUILDER   COBOL BREAKPOINT LOCATIONS  11

    SET breakpoint locations for PROG=COBDEMO  in any of the following fields:
                           ↓
  Para/Data return-transid_________________      ______________________________
     Names: _______________________________      ______________________________
            _______________________________      ______________________________


Names: _______________________________      ______________________________
            _______________________________      ______________________________
  Statement  ↓         ↓         ↓
   Numbers: 1____    136__    174.2    _____    _____    _____    _____    _____

   Offsets: _____    _____    _____    _____    _____    _____    _____    ____

            All paragraph names:  _                                    After:_

            Enter 'n' to stop only every n'th time:                         ___
            Term ID (or .ANY or .NO) where breakpoints will take effect:    ___
            Term ID (or .ANY) that will receive the breakpoints:            ___
            Statement no. of indirect command(s) to be executed:
            user ID (or .ANY) who will execute the program: BARNEY1

 PF1 Help       2            3 End        4 Return     5            6
 PF7            8            9           10           11           12
The information in the previous example causes breakpoints to occur at:
•Paragraph RETURN-TRANSID
•Statement 1, the beginning of the Procedure Division
•The first verb in statement 136
•The third verb in statement 174
 979


InterTest™ and SymDump ® 11.0
Because the user ID field is specified as BARNEY1 and the terminal identification fields are left blank, these breakpoints
take effect only if COBDEMO is executed by the user ID BARNEY1. The breakpoints display at whatever terminal
BARNEY1 is signed on under CICS.
Conditional Breakpoints
This section reviews setting conditional breakpoints from the Source Listing and from the Menu.
Set Conditional Breakpoints from the Source Listing
To set conditional breakpoints, specify the location and then the condition. Following these steps, specify one or more
locations directly from the Source Listing.
1.Enter c in column 1 of any line in:
–Your program listing (next to a paragraph, label, or executable code)
–The Procedure Names section of the COBOL Cross-Reference listing (for all paragraphs or selected paragraphs)
–The Cross-Reference section of COBOL, Assembler, or PL/I programs (next to a data name, label, or all labels)
–If you enter  c next to a data name in the Cross-Reference section, the breakpoint takes effect at all locations where
the item is referenced.
–If you enter c next to the Procedure-Names line in the Procedure names section of the COBOL Cross-Reference
listing or next to the Symbol line in the Cross-Reference section of the Assembler listing, the breakpoints takes
effect at all paragraph names or labels.
NOTE
You can specify more than one c before pressing Enter.
2.Optionally, select Option # 12  Breakpoint Options to set options for your conditional breakpoints.
3.Press Enter .
Another way of specifying the same condition for multiple locations in your program is to use the ITST menus to specify
both the locations and the conditions.
To set conditional breakpoints that apply to multiple locations in a program, follow these steps:


To set conditional breakpoints that apply to multiple locations in a program, follow these steps:
1.Enter a c in column 1 of each  line in your source code at which you want to set a conditional breakpoint.
2.Press Enter. InterTest for CICS displays the first conditional breakpoint locations screen.
3.Specify one or more conditional breakpoint locations. InterTest for CICS displays a Conditional Breakpoint menu.
The For Location  field indicates the statement number with the source code at which you specified c on the Source Listing
display. Typing an S in the drop monitoring on a true condition field causes monitoring to be dropped for the rest of the
current task when the conditional breakpoint is true.
NOTE
The For Location field does not display when you specify the location using the menus.
Press Enter  after completing the Conditional Breakpoint menu. InterTest for CICS sets the conditional breakpoints and
returns you to the Source Listing display.
Notes:
•Conditional Breakpoint menus for Assembler and PL/I programs and the complex Conditional Breakpoint menu for
COBOL programs have additional entry fields.
•To replace an unconditional breakpoint with a conditional breakpoint, you must first remove the unconditional
breakpoint. Overtype the u or ) with x and press Enter. Then enter c at the same location, and press Enter.
 980


InterTest™ and SymDump ® 11.0
Set Conditional Breakpoints from the Menus
Conditional breakpoints are set from the same Monitoring submenus used to set monitoring and unconditional
breakpoints. Follow the same steps given in Set Conditional Breakpoints from the Menus. However, instead of entering s
next to the UBP option, enter s next to the CBP option for conditional breakpoints.
Setting Conditional Breakpoints for COBDEMO, monitored for BARNEY1
First, InterTest for CICS displays the Conditional Locations screen.
This screen is similar to the screen used to specify unconditional breakpoints, and you should enter the information in the
same way. For more information, see Set Unconditional Breakpoints from the Menus.
One special feature lets you set a conditional breakpoint at all instructions. Enter an  x in the All Instructions field to
request this option, as shown in the previous example. If you request the All Instructions option and set a variable-change
breakpoint, the breakpoint takes effect whenever the value of the variable changes.
After specifying the breakpoint locations, press Enter to display the Conditional Breakpoint screen. On this screen specify
the condition that must be satisfied for the breakpoint to take effect.
There are two versions of the Conditional Breakpoint screen: a simplified version for COBOL users, and a detailed version
for PL/I and Assembler users and for those COBOL users who prefer this version. Using either version you specify the
condition in this format:
left side relational operator right side
Variable-Change Breakpoints
COBOL and Assembler users set a conditional breakpoint to take effect whenever the value of a variable changes. To do
this, type x in the All Instructions field on the Conditional Locations screen.
COBOL  users must specify the variable name on the Conditional Breakpoint screen. The condition for a variable-change
breakpoint is:
variableA NE variableB


breakpoint is:
variableA NE variableB
Assembler  users must specify the variable name on the Detailed Conditional Breakpoint screen. For more information,
see The Detailed Conditional Breakpoint Screen.
The specified operator determines whether the breakpoint occurs whenever the value of the variable changes (NE), or
only when the value increases, decreases, or does not change. Whenever you re-execute the program, the initial value of
the variable resets to its value at the beginning of program execution.
Literal Formats
Specify four types of literals for the right side of the comparison:
Character
Specify character literals for comparisons with any field except a COBOL data name defined as COMP or
COMP-3. Enter the literal as C'character data' , X' hexadecimal data', or a combination of both. For example,
C'ABC', Xv0102',or C'ABC'X'0102'.
Packed
Specify packed decimal literals for comparisons only with COBOL data names defined as COMP-3. Enter the
literal as P'number'. The number can be preceded by a minus sign. For example, P'123' or P'-123'.
Halfword
Specify halfword literals for comparisons with COBOL data names defined as COMP with a length of four, as in
S9(4) COMP. Enter the literal as H'number'. The number can be preceded by a minus sign. For example, H'12' or
H'-12'
 981


InterTest™ and SymDump ® 11.0
Fullword
Specify fullword literals for comparisons with COBOL data items defined as COMP with a length of eight, as in
S9(8) COMP. Enter the literal as F'num'100' or F' -100'.
Figurative Constants
Specify the following figurative constants for the right side of the comparison:
Valid Right Side Specifications for the Comparison
ZERO
ZEROS
ZEROESnumeric value 0 HIGH-VALUE
HIGH-VALUEScharacter value X' FF'
SPACE
SPACESblank (X'40') LOW-VALUE
LOW-VALUEScharacter value X'00'
Example
The following screen shows how to set a conditional breakpoint in a COBOL program:
•The left side of the comparison specifies the data name TOLEN.
•The relational operator is LT (less than).
•The right side of the comparison specifies the literal 80.
           CA InterTest MONITORING COMMAND BUILDER  CONDITIONAL BREAKPOINT

   Enter LEFT SIDE    ↓
       Data Name tolen ________________________________________________________

                                               ↓
   Enter OPERATOR (EQ, NE, GT, LT, GE, LE):  lt

   Enter RIGHT SIDE
       Data Name ______________________________________________________________
          OR     ↓
       Literal 80______________________________________________________________

  _ ENTER  S  to Drop monitoring on true condition

          Press PF9 to go to complex conditional screen if necessary

  F1 Help       2            3 End        4 Return     5            6
 PF7            8            9 Complex   10           11           12
This breakpoint takes effect only if the value in the data name TOLEN is less than 80. The breakpoint locations are all the


instructions, as previously specified on the Conditional Locations screen.
The Detailed Conditional Breakpoint Screen
Assembler and PL/I users who want to specify conditional breakpoints should complete the Conditional Locations screen
and press Enter, the Conditional Breakpoint screen appears. COBOL users access this screen by pressing PF9 from the
COBOL Conditional Breakpoint screen.
 982


InterTest™ and SymDump ® 11.0
Enter LEFT SIDE of condition
Specifies the left side of the comparison that must be an area of core. Enter information in one of the following
fields:
•Data name
•Register
•COBOL BLL cell
•Area identified by a CORE keyword
Enter OPERATOR
Specifies the relational operator:
•EQ for equal
•NE for not equal
•GT for greater than
•LT for less than
•GE for greater than or equal to
•LE for less than or equal to
Length
Optionally define the length of the left side or right side of the comparison. (For more information, see the Length
of the Comparison.)
Enter RIGHT SIDE of condition
Specifies the right side of the comparison, which is an area of core or a literal. Enter information in one of these
five fields: a data name, a register, a COBOL BLL cell, an area identified by a CORE keyword, or a literal. For
more information, see the section and see Literal Formats.
Optional offset
Optionally adjusts a CORE location by specifying offsets (displacements). Each offset must be preceded by one of
the following operands:
•+
•-
•@ - Indirect addressing below the 16-megabyte line
•% - Indirect addressing above the 16-megabyte line (XA systems only)
NOTE
Literals cannot be modified by offsets.
Length of the Comparison
You can explicitly define how many bytes of either the left side or right side specification should be compared. Certain
storage locations have implicit lengths:
•A register or COBOL BLL cell has an implicit length of four bytes.
•The storage locations referred to by the CORE keywords MXR, MXS, and TAL have implicit lengths of four bytes.


•The implicit length of a COBOL data name is its field length as defined in the DMAP.
•The length of a literal is the number of bytes it contains; any length specification is ignored.
Define both left side and right side lengths for a packed decimal (COMP-3) comparison. For all other comparisons, define
only one length. If you define both lengths, the smaller length is used.
The maximum permissible length for the left side or right side is 16 bytes for packed decimal data, and 255 bytes for all
other data types.
 983


InterTest™ and SymDump ® 11.0
Literal Formats
For more information about specifying literals, see Figurative Constants.
CORE Keywords
Specify the following CORE keywords on the left side or right side of the comparison:
CSA
First byte of the CSA
CURR
Next Assembler instruction to be executed
CWA
First byte of the CWA
CWK
First byte of the COBOL program's Working-storage
DSA
First byte of program's DSA
ITBE
First byte of the next instruction to be executed
LCL
First byte of the COBOL program's local-storage
MXR
InterTest for CICS maximum CICS request counter (implicit length = 4)
MXS
InterTest for CICS maximum storage counter (implicit length = 4)
OPFL
First byte of the Optional Features List
PGM=*
First byte of the monitored program.
PREV
Last Assembler instruction that was executed
Rnn
A register ( nn is a decimal from 1 to 15) (implicit length = 4)
TAL
InterTest for CICS tally fullword (implicit length = 4)
TERM=*
First byte of the terminal table entry of the current terminal
TGT
First byte of the COBOL TGT for the monitored task
TIOA
First byte of the first TIOA of the task
TWA
First byte of the TWA of the monitored task
 984