InterTest™ and SymDump ® 11.0
•Alphabetic
•AN Alphanumeric
•AN-V Varying alphanumeric
•ANE Alphanumeric edited
•BF Binary floating point
•BIT Bit
•BIT-V Varying bit
•Display (Sterling nonreport)
•DE Display edited (Sterling report)
•DBC Graphic or DBCS
•DBC-V Varying graphic
•Floating point (COMP-1/COMP-2)
•FD Floating point display (external floating point)
•HX Hexadecimal
•N National (UTF-16)
•NB Numeric binary unsigned (COMP)
•NB-S Numeric binary signed
•ND Numeric decimal unsigned (external decimal)
•ND-OL Numeric display, overpunch sign leading
•ND-OT Numeric display, overpunch sign trailing
•ND-SL Numeric display, separate sign leading
•ND-ST Numeric display, separate sign trailing
•NE Numeric edited
•NP Numeric packed decimal unsigned (COMP-3)
•NP-S Numeric packed decimal signed
•PTR Pointer data item (usage pointer)
•UI Index data item (usage index)
•Subscripted
LINE #
This column shows the program line numbers where the data names are defined.
LV
This column shows the level number generated by the compiler. Level numbers appear in the DMAP output of the
COBOL compiler or the AGGREGATE output of the PL/I compiler.
NAME/VALUE
This column displays the data-item names.
The value of the data item is displayed as it is defined in the monitored program. If the data in the VALUE field is more
than 20 characters long, it is shown on multiple lines.
NOTE
COBOL programs can be compiled with the ARITH(EXTEND) parameter, which will allow a numeric field to be


greater than 18 bytes. These fields will be displayed with the message 'TOO BIG TO DISPLAY' in the value. To
view or change the actual value of the field, use the CORE command.
Alter data by typing over the value field. The application truncates data if you attempt to modify a data item with a value
larger than the size of the data item. Movement of new values to the data area is done according to how the item is
defined. For example, if the variable is alphanumeric and is 2 bytes long, if you enter 12B, the value truncates to 12.
You can use all SCROLL keys and SCROLL variables.
 652


InterTest™ and SymDump ® 11.0
For assembler programs, when an access register or 64-bit address is requested for display, an additional line shows the
access register or “high half” value, as shown in the following panels:
  -------------- CA InterTest Batch ASSEMBLER DATA DISPLAY ---------------------
 COMMAND ===>                                                  SCROLL ===> CUR
 ADDRESS  TYPE  LINE # LV  NAME  / VALUE                 0----.----1----.----2--
 **************************** Top of Data ************** ********************
 High-Half ==> 00000001
 00000000 HX    000000 02 R1                             0000000000000000
 00000008 HX    000000     +0008                         0000000000000000
 00000010 HX    000000     +0016                         00000003000B3958
 ……………………
 *************************** Bottom of Data ************ ********************
 -------------- CA InterTest Batch ASSEMBLER DATA DISPLAY ---------------------
 COMMAND ===>                                                  SCROLL ===> CUR
 ADDRESS  TYPE  LINE # LV  NAME  / VALUE                 0----.----1----.----2--
 **************************** Top of Data ************** ********************
 ALET     ===> 00010004
 00000000 HX    000000 02 R3?                            0000000000000000
 00000008 HX    000000     +0008                         0000000000000000
 00000010 HX    000000     +0016                         0000000000000000
 ……………………
 *************************** Bottom of Data ************ ********************

For more information on Assembler indirect addressing, see Control Commands.


For more information on Assembler indirect addressing, see Control Commands.
Invoke the panel by entering the Display command, with or without operands, from an Intercept panel. For assembler and
PL/I programs, operands are required.
Linkage Panel
To invoke the Linkage panel, enter the LInkage command with or without operands from an Intercept panel. This
command is only valid for COBOL programs.
Display the Linkage panel after the first PROCEDURE DIVISION statement has been executed, otherwise the linkage
addresses will not be resolved. This occurs only when the Intercept panel is displayed for the first time and the LINKAGE
command is entered. You can avoid this by using the NEXT command the first time the Intercept panel is displayed to
execute the first statement in the PROCEDURE DIVISION and resolve the linkage addresses.
Records Panel
To display the Records panel, enter the REcords command with or without operands from an Intercept panel. This
command is only valid for COBOL programs. You can only use the RECORDS command, which displays the File Section
Display panel, to modify data if the file is open.
File Status Panel
The File Status panel displays the characteristics of all assigned files, and shows whether they are open or closed. Enter
the FILES (FI) command from an Intercept panel to open this screen. The File Status panel is only available for COBOL
programs.
The following screen is an example of the File Status panel:
 --------------------- CA InterTest Batch FILE STATUS PANEL --------------------
 653


InterTest™ and SymDump ® 11.0
 COMMAND ===>                                                   SCROLL ===> PAGE
 FD-NAME------------------------DDNAME---DSNAME-------------------------------------
 INPUT-FILE                     SYSUT1  INTC.SOME.DATAS
 OPEN  INPUT   DSORG=PS RECFM=FB        BLKSIZE=06000 LRECL=0080
 DCB=00123456  DEB=006C941C
 .   .   .   .   .   .   .   .   .     .   .   .   .   .   .   .   .   .   .  .
 SYMBOL-FILE                  SYMBOL     *** WARNING *** DD CARD NOT ALLOCATED
  CLOSED        DSORG=PS RECFM=.....     BLKSIZE=00800 LRECL=0080
   DCB=0018D42C
 .   .   .   .   .   .   .   .     .   .   .   .   .   .   .   .  .   .  .  .
 OUTPUT-FILE                  SYSUT2     INTC.NOTA.PDS
  OPEN  OUTPUT  DSORG=PS RECFM=FB        BLKSIZE=06000 LRECL=0080
   DCB=0018DD40 DEB=006C941C  DECB=0018BD80
 .   .   .   .   .   .   .   .   .     .   .   .   .   .   .   .   . .

If you receive a warning that says the DD CARD is not allocated take one of the following actions:
•Split the screen and enter TSO using the ALLOCATE command to allocate the required file.
•Enter the TSO ALLOCATE command on the command line of the current ISPF screen.


•Enter the TSO ALLOCATE command on the command line of the current ISPF screen.
•Invoke another session and select Option 3 to allocate the file.
•Suspend the session and perform the allocation under Roscoe , for Roscoe  users. Then resume the ETSO session to
resume your InterTest Batch session.
NOTE
Batch Link users must use the DDALLOC command to allocate the DD. For more information on this command,
see Control Commands.
The data event block (DEB) is only displayed for open BSAM files.
For OS/VS COBOL users, IMS databases do not appear on the status display.
Program Trace Display Panel
The Program Trace Display panel displays program statements in the order of their execution. To initiate a trace, enter the
TRACE or TRACE SOURCE command in the Command field of the Intercept panel. For more details on the command
format for TRACE Control Command, see Debugging Commands.
A sample Program Trace Display panel with TRACE follows:
------------------ CA InterTest Batch PROGRAM TRACE DISPLAY -------------------
COMMAND INPUT ===>                                              SCROLL===> PAGE
StmtNo   Program    Label Name/Source Line
043700   CAMRCOBB
043500   CAMRCOBB
043400   CAMRCOBB   FORCING-THE-ABEND
043300   CAMRCOBB
043100   CAMRCOBB
042200   CAMRCOBB
042034   CAMRCOBB
042033   CAMRCOBB
042031   CAMRCOBB
051500   CAMRCOBB   0100-SOME-MEANINGFUL-LABEL
051400   CAMRCOBB
050600   CAMRCOBB
 654


InterTest™ and SymDump ® 11.0
050400   CAMRCOBB
050200   CAMRCOBB
049800   CAMRCOBB   0200-THESE-ARE-PARAGRAPH-NAMES
049700   CAMRCOBB
049400   CAMRCOBB
048600   CAMRCOBB
042030   CAMRCOBB
042029   CAMRCOBB
042028   CAMRCOBB
A sample Program Trace Display panel with TRACE SOURCE follows:
------------- CA InterTest Batch PROGRAM TRACE DISPLAY ------------------------
COMMAND ===>                                                 Scroll ===> PAGE
StmtNo  Program   Label Name/Source Line
**************************************** TOP OF DATA **************************
001042  CAMRCOBB              MOVE  R1498-TIMEO TO R1498-TIME.
001041  CAMRCOBB          SPLIT-SCREEN.
001038  CAMRCOBB              IF   S-AID = 'PF3 ' OR 'PF15'
001037  CAMRCOBB              CALL 'ROETSAPI' USING  GETV  S-AID-DEF  S-AID.
001035  CAMRCOBB              IF RETURN-CODE NOT EQUAL ZERO
001034  CAMRCOBB              CALL 'ROETSAPI' USING  PANL  PANL-PARM.
001033  CAMRCOBB              MOVE '73' to  PANL-ID.
001028  CAMRCOBB          DEMONSTRATE-SPLIT-SCREEN.
000950  CAMRCOBB                  GO TO DEMONSTRATE-SPLIT-SCREEN.
000949  CAMRCOBB              IF  P-OPT = '3'
000947  CAMRCOBB              IF  P-OPT = '2'


000947  CAMRCOBB              IF  P-OPT = '2'
000945  CAMRCOBB              IF  P-OPT = '1'
000942  CAMRCOBB              IF  S-AID = 'PF3 ' OR 'PF15'
000939  CAMRCOBB              IF RETURN-CODE NOT EQUAL ZERO
000937  CAMRCOBB              CALL 'ROETSAPI' USING  GETV S-AID-DEF   S-AID
000934  CAMRCOBB              IF RETURN-CODE NOT EQUAL ZERO
000933  CAMRCOBB              CALL 'ROETSAPI' USING  PANL  PANL-PARM.
000932  CAMRCOBB              MOVE '07' to  PANL-ID.
000930  CAMRCOBB              MOVE ZEROES    TO LOOP-OUT.
000929  CAMRCOBB          OPTIONS.
The Command field accepts only display commands. For valid commands, see Display Commands. You can use all
SCROLL keys and SCROLL variables in this panel.
Core Option
Use the Core option, option 2 on the Primary Option Menu, to display the memory for your TSO user region during a test.
You can also use the CORE command from any Intercept panel.
The screen displays memory in hexadecimal and character formats. You can change memory that is not modify-protected
by overwriting the data on the display. Fetch protected memory cannot be displayed or modified.
Locate data in memory by using the following methods:
•The FIND commands search for a specified character or hexadecimal string.
•The DISPLAY command locates a specified address.
•Specify a hexadecimal and use the scroll keys to shift the contents of the display by the specified amount.


•Type an address over the primary address field, or an offset from the primary address can be typed over the primary
offset field. The primary offset fields are and the display scrolled to that part of memory.
 655


InterTest™ and SymDump ® 11.0
You can also use the following PF keys:
PF10
Restore the address that was previously displayed.
PF11
The address indicated by the cursor position appears in the primary address field and the display is scrollable to
that part of memory.
NOTE
If you enter the CORE command from an Intercept screen, the display includes an updateable EXPR field, which
shows a register expression or the address currently displayed. Commands that modify the displayed address
also modify this field.
DISPLAY
The DISPLAY command sets the primary address field to the specified address. The primary address field is updated to
the indicated address in virtual storage. The primary offset field is set to zero.
Syntax
DISPLAY address
•address
Specify the address in virtual storage. The address is case-sensitive and can be a one to eight digit hexadecimal
number.
FIND Command
The FIND command, or F, searches memory until the string operand is matched.
Syntax
FIND string <NEXT|FIRST|LAST|PREV>
•string  Specify the search argument on the data area. The string can be alphabetic, numeric, and special characters.
Use single or double quotation marks around the string if it contains embedded blanks or quotes.
•NEXT
Search for the next occurrence of the string, starting at the beginning of the first address displayed.
•FIRST
Scroll to location zero followed by a FIND NEXT operation.
•LAST
Start the scan at address 16,777,215 (X'FFFFFF') and move backwards to find the last occurrence of string.
•PREV
Start the scan at the current address and move backward to find the previous occurrence of the string.
FX (Find Hex Data)
The FX command searches memory until the hexadecimal string is matched.
Syntax
FX string   < NEXT|FIRST|LAST|PREV>
string


Syntax
FX string   < NEXT|FIRST|LAST|PREV>
string
Specify a search argument of one to eight hexadecimal characters.
 656


InterTest™ and SymDump ® 11.0
NEXT
Search for the next occurrence of string starting at the beginning of the first address displayed.
FIRST
Scroll to location zero, and then process the FIND NEXT operation.
LAST
Start the scan at address X'FFFFFF' (16,777,215) and move backwards to find the last occurrence of string.
PREV
Start the scan at the current address and move backwards to find the previous occurrence of string
POP
The POP command restores the address most recently pushed onto the stack. The address becomes the primary address
on the display, and the primary offset field is set to zero. If the stack is empty, an EMPTY STACK message appears.
Syntax
POP
PUSH
The PUSH command places on the stack the current primary address.
Syntax
PUSH
Map Option
The Region Map Display panel shows the task control blocks (TCBs) for the program that you initiate the command from.
Launch this panel by using the MAP command from any debugging session. You can also  use Option 4 from the primary
option menu.
The Region Map Display panel shows the following information about the TCB list:
TCB
The address of the current TCB
ID
The number associated with the current TCB
NOTE
Use the ID command to overwrite this field.
TIOT
The task input/output table
ASCB
The location of the address space control block
ASID
The address space identifier
The table shows the following information for each TCB listed:
TCB
The name of each TCB that resides under the parent
 657


InterTest™ and SymDump ® 11.0
ID
The ID number for each TCB listed
Level
The hierarchical representation of the TCB
Program
The program the TCB is assigned to
Status
The state of the TCB
NDISP
The format
Use the following commands to control what TCB information the Region Map Display panel shows.
ID task number
Set the TCB number for your program.
CDE
The programs in storage for the current TCB ID number.
SAVE
The save area map for the current TCB ID number.
ALLOC
The current allocations by ddname. The option ALLOC is similar to the TSO LISTALC command, but ALLOC
displays the ddname. You can also scroll the display.
FILE
The Information on open files related to the current TCB ID number.
NOTE
IMS database files do not display using the FILE command. Use the ALLOC command to see
information for IMS databases.
TCB
The status of the user's TCBs (not task related).
RB
The active request blocks (RB) for the current TCB ID number.
ALLTCB
All TCBs for your TSO session
Use the scroll keys to view and select the TCB number of the program you are testing from the list of ID numbers on the
Control Block Display panel.
Debugging Commands
This section describes the commands valid for use during a debugging session. There are four types of commands:
•Display
•Line
•Control
•Report
Use display  commands to locate selected data in the program and position it on the screen. These are commands such
as FIND and SCROLL; they can be used in any panel containing a command input field.
 658


InterTest™ and SymDump ® 11.0
Control and line commands direct the test session and you enter them only in the Intercept panel. Line commands are
shorter versions of some control commands.
Report  commands generate reports to be printed and analyzed offline. Only enter report commands in the Intercept panel.
Display Commands
This article describes the display commands that you can use to locate and position data on the screen. Enter them on the
command line of any panel containing a command input field.
COLUMN Command
The COLUMN command places a line that shows the column numbers on the first line of the display area of the Intercept
or Display panel.
Syntax
Use the following syntax for COLUMN:
COLUMN < ON|OFF>
Variables
Use the following variables with the COLUMN command:
ON
Enables the column numbers display.
OFF
Disables the column numbers display.
COLUMN OFF is functionally equivalent to the RESET command, which removes the column numbers from the panel
display.
FIND Command
The FIND command searches the file until the string operand is matched.
Syntax
Use the following syntax for FIND:
FIND string <col1 <col2>> <NEXT|FIRST|LAST|PREV>
You can enter FIND in its abbreviated form: F.
Variables
Use the following variables with the FIND command:
•string
The search argument on the data area. String can be alphabetic, numeric, and special characters. If string contains
embedded blanks or quotes, it must be enclosed in single or double quotation marks.
•col1
Specifies the column in which to begin the search for string. If col1 is specified and col2 is omitted, the string must start
in the specified column.
•col2
 659


InterTest™ and SymDump ® 11.0
Specifies the last column of a range of columns to search for string. If col2 is greater than the record length, the record
length is used.
•NEXT
Causes a search for the next occurrence of string starting at the beginning of the first line displayed after the cursor
location. The default is NEXT.
•FIRST
Causes a scroll to the top of the data followed by a FIND NEXT operation.
•LAST
Starts the scan at the bottom of the data and moves backward to find the last occurrence of string.
•PREV
Starts the scan at the current cursor location and moves backward to find the previous occurrence of string.
Example:
To find the next occurrence of TEST  in a program, enter:
F "'TEST'"
FP Command (Find Paragraph)
The Find Paragraph command scrolls the display to the definition of the specified paragraph, procedure, or label name.
Syntax
Use the following syntax for FP:
FP paragraph-name|procedure-name|label-name
You must enter this command in its abbreviated form: FP.
Variables
Use the following variables with the FP command:
paragraph-name
Designates a paragraph name defined in the Procedure Division of the currently qualified COBOL program
procedure-name
Designates a procedure name defined in the currently qualified PL/I program.
label-name
Designates a label name defined in the currently qualified assembler or PL/I program.
FS Command (Find Statement)
The Find Statement command scrolls a display to a specified statement number.
Syntax
Use the following syntax for FS:
FS statement-number
You must enter this command in its abbreviated form: FS.
Variable
 660


InterTest™ and SymDump ® 11.0
statement-number
Specifies a statement number in the currently qualified program.
Cursor Sensitive Find
If a data name is displayed and you wish to locate its definition, place the cursor over the data name and press  Enter. The
application repositions the display at the definition of the data name.
If a paragraph, procedure, or label name is displayed and you wish to locate the line on which it starts, place the cursor
over the name and press Enter. the application repositions the display at the paragraph, procedure, or label.
KDOWN Command (Scroll Keep Window Down)
Use the KDOWN command to scroll the keep window in the downward direction. The keep window appears on the
Intercept panel immediately above the first line of the program listing.
Syntax
Use the following syntax for KDOWN:
KDOWN scroll-amt
Variables
Use the following variables with the KDOWN command:
•scroll-amt
Identifies the number of lines to scroll, specified as one of the following:
•PAGE
Scroll up one full page.
•HALF
Scroll up one half page.
•MAX
Scroll up to the top of the window.
•nnn
Scroll the number of lines specified.
Usage Notes
The keep window is not scrollable if the number of entries in the window is less than the maximum depth defined by the
KSIZE command. If the window is not scrollable, the KDOWN command is not functional.
If no argument is specified, the default scroll amount is used. The default scroll amount is defined in the upper right corner
of the Intercept panel.
KSIZE (or KS) Command (Keep Window Size)
Use the KSIZE command to determine the size of your keep window. The keep window appears on the Intercept panel
immediately above the first line of the program listing.


immediately above the first line of the program listing.
The KSIZE command lets you control the maximum depth of the keep window and whether the window should be fixed or
variable in size.
Syntax
Use the following syntax for KSIZE:
KSIZE depth F|V
 661


InterTest™ and SymDump ® 11.0
Enter this command in its abbreviated form: KS.
Variables
Use the following variables with the KSIZE command:
depth
The maximum number of lines of data to be displayed in the window at one time.
F
Specify F for a fixed window size.
V
Specify V for a variable sized window.
Usage Notes
You can set the keep window size to any depth from 1 to 15 lines of data. The default depth is 6 lines.
If KSIZE is defined as fixed, the keep window always occupies the maximum depth, even if the window contains less
data items that the maximum. If the window is defined as variable, it will never occupy more lines on the screen than are
necessary to display all of the data items, and never more than the maximum depth.
Define your keep window as fixed to prevent bouncing of your source listing while stepping through the program.
KUP Command (Scroll Keep Window Up)
Use the KUP command to scroll the keep window in the upward direction. The keep window appears on the Intercept
panel immediately above the first line of the program listing.
Syntax
Use the following syntax for KUP:
KUP scroll-amt
Variables
Use the following variables with the KUP command:
•scroll-amt
Identifies the number of lines to scroll, specified as one of the following:
•PAGE
Scroll up one full page.
•HALF
Scroll up one half page.
•MAX
Scroll up to the top of the window.
•nnn
Scroll the number of lines specified.
Usage Notes
The keep window is not scrollable if the number of entries in the window is less than the maximum depth defined by the
KSIZE command. If the window is not scrollable, the KUP command is not functional.


KSIZE command. If the window is not scrollable, the KUP command is not functional.
If no argument is specified, the default scroll amount is used. The default scroll amount is defined in the upper right corner
of the Intercept panel.
 662


InterTest™ and SymDump ® 11.0
LOCATE Command
Use the LOCATE command to scroll to a specified line or a user-defined symbolic label in the program.
Syntax
Use the following syntax for LOCATE:
LOCATE nnnnnn|.label
You can enter this command in its abbreviated form: L.
Variables
Use the following variables with the LOCATE command:
•nnnnnn
Specifies a relative line number. The display scrolls so that the line number is the first line of the display. A line number
of zero causes a scroll to the top of the data; 999999 causes a scroll to the bottom of the data.
•.label
Causes the display to scroll so that the line number equated to the symbolic label is the first line in the display.
A symbolic label equates to a line number. To establish a symbolic label, scroll the display until the line number to be
equated is on the first line of the display. Enter the label in the COMMAND input field in the format:
xxxxxxx
The period is required and is followed by up to seven alphanumeric characters. The application does not retain symbolic
labels when the test session ends.
.label Command
This command assigns a symbolic label to the current line number in the program.
Syntax
Use the following syntax for .label:
.xxxxxx
Variables
Use the following variables with the .label command:
xxxxxxx
The period is required and may be followed by up to 7 alphanumeric characters.
The application does not retain symbolic labels when the test session ends.
Line Commands
Line commands are typed in the far left field of a line to perform various actions.
You can type multiple commands on different lines before pressing Enter, which processes all commands. Scrolling, or
other commands that change the display, also cause the specified line commands to be processed.


other commands that change the display, also cause the specified line commands to be processed.
This article describes the following commands:
 663


InterTest™ and SymDump ® 11.0
The following table is an overview of the Line commands, the corresponding Control Commands, and their function. The
following pages provide a more complete description of each command.
Note that some commands have synonyms, such as A and U, which are fully interchangeable. Use whichever one you
find easiest to remember.
LineCommands ControlCommands Description
A
UAT
UNCONDAn unconditional "before" breakpoint
is set at the specified line. This type of
breakpoint stops before  the specified
program statement. You can enter an
"after" breakpoint by entering the ) line
command.
A U remains in the first column to show
where breakpoints are set.
For assembler, if an A is placed next to a
line in the keep window, the access register
for that item is displayed.
C
WCOND
WHENA conditional breakpoint is set at the
specified line. Issuing this command causes
the application to display the When screen,
where the condition may be specified.
The application automatically completes
the line number portion of the When screen
based on your breakpoint line.
D DISPLAY The DISPLAY panel is shown for all of
the data items on the line where the D
command is specified.
For assembler, the operands for the current
instruction in register notation are shown in
the DISPLAY panel.
Cursor-sensitive DISPLAY - If D is entered
and the cursor is placed on a COBOL or
PL/I data item in that line, pressing Enter
displays the DISPLAY panel for only that
item and data items to the right of the item
on the same line.
G GO The program begins executing (Go to) the
line where the G is typed.
GT GOTO The program executes to the specified line.
 664


InterTest™ and SymDump ® 11.0
H KEEPX
LDIX
LDXThe data items on the line where the H is
placed are listed at the top of the Intercept
panel in a keep window and shown in Hex
format.
For assembler, the operands for the current
instruction in register notation are added to
the keep window.
Cursor-sensitive KEEPX - if H is entered
and the cursor is placed on a COBOL or
PL/I data item in that line, pressing Enter
lists in the keep window only that data item
and data items to the right of that item on
the same line.
For assembler programs, if an H is placed
on a line within the keep window, the high
half of the 64bit register is displayed.
I INFO In instances where a frequency count
exceeds 9999, Info displays the actual
count at the top right of the screen.
For assembler programs, if an I is placed
on a line within the keep window, the
access register is displayed.
K KEEP
LDIThe data items on the line where the K or L
is placed are listed in a keep window on the
top of the Intercept panel.
For assembler, the operands for the current
instruction in register notation are added to
the keep window.
Cursor-sensitive KEEP - If you enter K and
the cursor is placed on a COBOL or PL/I
data item in that line, pressing Enter lists
in the keep window only that data item and
data items to the right of that item on the
same line.
O , blank,
XOFF
OFFUThe breakpoint currently set on the line is
reset (turned off).
P PRINT The DISPLAY for all the COBOL or PL/
I data items on the line are written to the
session log for later printing.


I data items on the line are written to the
session log for later printing.
For assembler, the operands for the current
instruction in register notation are written to
the session log for later printing.
R REMOVE
LDIAn RDI, reset data item, is done for each of
the data items on the line to remove entries
in the keep window. You may also use it
next to individual keep window entries.
S SKIP Skip this statement. The S remains in the
first column to show you which statements
are skipped.
 665


InterTest™ and SymDump ® 11.0
V COND
WHENA variable change breakpoint is set at the
specified line. The breakpoint is triggered
before the line is executed when the
application determines that the value of a
variable in the line changes.
Cursor-sensitive variable change
breakpoint - If you enter V and the cursor
is placed on a COBOL or PL/I data item,
pressing Enter designates that item as the
variable change item.
X OFF
RDIRemove breakpoint or remove data item
from keep window.
) AT
UNCONDAn unconditional "after" breakpoint is
set at the specified line. This type of
breakpoint stops after the specified
program statement. You can enter a
"before" breakpoint by entering the U or A
line command.
A ) remains in the first column to show
where breakpoints are set.
+ nnn Increment a subscript by nnn on a
displayed data item.
- nnn Decrement a subscript by nnn on a
displayed data item.
<[nnnn] Used on a keep window entry scrolls the
data left nnnn  bytes.
>[nnnn] Used on a keep window entry scrolls the
data right nnnn  bytes.
A or U Command (Set Unconditional "Before" Breakpoints)
The A or U line command performs the same function as the AT or UNCOND command. An unconditional "before"
breakpoint is set on the line where the A or U is typed. The program stops at the statement prior to executing it. A U
displays on the line to show you where breakpoints have been set. The U or A line command is only valid on executable
lines of the program listing. Executable lines contain a frequency counter number or arrow. There is no limit other than the


size of the screen. If you press Enter or the scroll keys, it sets the breakpoints.
You can type other commands over the U. Reset breakpoints using the OFF, O, X, or blank line commands.
The following panel shows "before" breakpoints being set on lines 13100, 13400, and 13736 of the program:
 CAMRCOB2 ---------- CA InterTest Batch NEXT BEFORE Intercept -----------------
 COMMAND ===>                                                  SCROLL===> PAGE
 TRACE= 012400 012300
          7        CAMRCOB2        15.49.31        JUN 30,2014
  0001        012300 PROCEDURE DIVISION USING PARMS TEST-THREE TEST-FOUR PASS-
  --->        012400 DEMO-BEGIN.
  --->        012500     GO TO DEMO-INIT.
  --->        012600 DEMO-INIT.
  --->        012700     OPEN OUTPUT OUTPUT01.
  --->        012800     MOVE HD1 TO LINE-OUT.
  --->        012900     PERFORM WRITE-LINE.

 u--->        013100 FORCING-THE-ABEND.
 666


InterTest™ and SymDump ® 11.0
  --->        013200     MOVE MASK1  TO BIN1.
  --->        013300     MOVE ZERO   TO MASK1.
 u--->        013400     MOVE MASK1  TO BIN1
              013410                    BIN2
              013500                    BIN3
              013600                    BIN4.
  --->        013700 TABLE-MOVE.
 u--->        013736       MOVE TABLE-FILL TO WA-TABLE-1.
  --->        013737 NUM-EDITED-TEST.
  --->        013738       MOVE IN-FUNC TO OUT-FUNC.
  --->        013739       MOVE IN-FUNC TO OUT-FUNC2.
Press Enter to set the breakpoints.
The listing appears as shown in the following panel. The lines that have "before" breakpoints set display a U in the first
column to show you where the breakpoints are.
CAMRCOB2 ---------- CA InterTest Batch NEXT BEFORE Intercept ----------------- COMMAND ===>
                               SCROLL===> PAGE
 TRACE=> 012400 012300
          7        CAMRCOB2        15.49.31        JUN 30,2014
  0001        012300 PROCEDURE DIVISION USING PARMS TEST-THREE TEST-FOUR PASS-
  --->        012400 DEMO-BEGIN.
  --->        012500     GO TO DEMO-INIT.
  --->        012600 DEMO-INIT.
  --->        012700     OPEN OUTPUT OUTPUT01.
  --->        012800     MOVE HD1 TO LINE-OUT.
  --->        012900     PERFORM WRITE-LINE.


--->        012900     PERFORM WRITE-LINE.

 U--->        013100 FORCING-THE-ABEND.
  --->        013200     MOVE MASK1  TO BIN1.

  --->        013300     MOVE ZERO   TO MASK1.
 U--->        013400     MOVE MASK1  TO BIN1
              013410                    BIN2
              013500                    BIN3
              013600                    BIN4.
  --->        013700 TABLE-MOVE.
 U--->        013736       MOVE TABLE-FILL TO WA-TABLE-1.
  --->        013737 NUM-EDITED-TEST.
  --->        013738       MOVE IN-FUNC TO OUT-FUNC.
  --->        013739       MOVE IN-FUNC TO OUT-FUNC2.
You can also use the LISTAT command to show the Breakpoints panel as follows:
-------------------- CA InterTest Batch BREAKPOINTS PANEL ---------------------
COMMAND ===>                                                  SCROLL ===> CUR

     *************************** Top of Data *********************************
     UNCONDITIONAL BREAKPOINTS FOLLOW:
     PROGRAM   STMT#   COUNT  EXEC  B/A  COMMANDS TO BE EXECUTED
     --------  ------  -----  ----  ---  -------------------------------------
.    CAMRCOB2  000589  0000   0000   B
     SOURCE LINE: SPLIT-SCREEN.

 667


InterTest™ and SymDump ® 11.0
.    CAMRCOB2  000541  0000   0000   B
     SOURCE LINE: PAY-CALC.

.    CAMRCOB2  000659  0000   0000   B
     SOURCE LINE: ORDER-CALC.
 ************************************* BOTTOM OF DATA *************************

C or W Command (Set Conditional Breakpoint)
Use the C or W command to set a conditional breakpoint for a specified line. When you enter a C or W on a line and press
Enter, the When screen displays. The WHEN-NAME field is populated with the line that you have specified. Use the When
screen to specify the condition for the breakpoint. The condition is only checked before executing that statement. The
application automatically completes the line number portion of the When screen based on your breakpoint line.
The C or W line command is only valid on executable lines in the program listing. Executable lines contain a frequency
counter number or arrow.
NOTE
For further explanation of the When panel, see Debugging Panels.
Example:
In the following example, you have entered the C command at line 1149 to set a conditional breakpoint.
CAMRCOB2 ---------- CA InterTest Batch NEXT BEFORE Intercept ------------------
Command ===>                                                    Scroll===> CUR
TRACE=> 001151 001150 001149 001148 001162 001155 001154 001153 001151 001150 0
U0001   001141                ORDER-CALC.
 0001   001142                    MOVE CUSTOMER-VALUES TO CUSTOMER-ORDER.
 0001   001143                    MOVE ZEROES TO ORDER-SUB-TOTAL, SUB-6, LOOP-O


0001   001144                    PERFORM TOTAL-ORDER THRU TOTAL-ORDER-EX
        001145                        UNTIL SUB-6 EQUAL 5.
U--->   001146                ORDER-CALC-EX.
 --->   001147                    GO TO OPTIONS.
 0101   001148                TOTAL-ORDER.
c0101   001149                    ADD 1 TO SUB-6.
 0101   001150                    ADD 1 TO LOOP-OUT.
 0100   001151                    MULTIPLY UNIT-PRICE(SUB-6) BY NO-OF-WIDGETS(S
        001152                        GIVING ITEM-TOTAL.
 0100   001153                    ADD ITEM-TOTAL TO ORDER-SUB-TOTAL.
 0100   001154                    MOVE 1 TO SUB-6.
 0100   001155                TOTAL-ORDER-EX.
        001156               *------------------------------------------------*
        001157               * The code above will loop. The loop can be      *
        001158               * interrupted by pressing an attention key.. .. *
        001159               * The frequency counter should provide a clue    *
When you press Enter in this example, the When panel displays, and the WHEN-NAME field is populated with the number
1149.
D Command (Display Working Storage)
For COBOL and PL/I programs the D line command causes the Display panel to be shown for all the data items on the
line where the command is typed. For assembler programs, the D line command displays the operands for the current
instruction in register notation. The D line command is valid on any line in the program listing.
 668


InterTest™ and SymDump ® 11.0
You may type multiple D line commands on different lines, but to display the Display panel from each line in succession,
press the END (PF3 or PF15) key. If D is specified on four lines, the Display panel appears for the data items on the first
line. When END is pressed, the Display panel appears for the data items on the second line. This continues until the last
D command is processed. Then the Intercept panel is displayed.
Cursor-sensitive Display: If you enter D and the cursor is placed on a COBOL and PL/I data item in the line, pressing
Enter displays the Display panel for only that item and data items to the  right of the item on the same line.
For more information on the Display Panel, see Data Display Panels.
G Command (Go from Line)
The G line command causes the program to begin executing from the line on which you typed the G. Specify only one G
line command at any time. If you type, execution begins from the highest line number. For example, if you type G on line
12900 and on line 13100, execution resumes at line 13100.
If you type G on line 13100 of the listing, as shown in the following panel, the program begins executing on line 13100
instead of normally beginning on line 12800. Lines 12800 and 12900 are not executed.
CAMRCOB2 ---------- CA InterTest Batch NEXT BEFORE Intercept -----------------
 COMMAND ===>                                                  SCROLL===> PAGE
 TRACE=> 012800 012700 012600 012400 012300
          7        CAMRCOB2        15.49.31        JUN 30,2014


0001        012300 PROCEDURE DIVISION USING PARMS TEST-THREE TEST-FOUR PASS-
  0001        012400 DEMO-BEGIN.
  --->        012500     GO TO DEMO-INIT.
  0001        012600 DEMO-INIT.
  0001        012700     OPEN OUTPUT OUTPUT01.
 U--->        012800     MOVE HD1 TO LINE-OUT.
  --->        012900     PERFORM WRITE-LINE.

 g--->        013100 FORCING-THE-ABEND.
  --->        013200     MOVE MASK1  TO BIN1.
  --->        013300     MOVE ZERO   TO MASK1.
 U--->        013400     MOVE MASK1  TO BIN1
              013410                    BIN2
              013500                    BIN3
              013600                    BIN4.
  --->        013700 TABLE-MOVE.
 U--->        013736       MOVE TABLE-FILL TO WA-TABLE-1.
  --->        013737 NUM-EDITED-TEST.

GT Command (Go to line)
The GT line command resumes program execution to the line on which you entered the GT command. The command
puts a temporary breakpoint on the specified line and resumes execution. When the temporary breakpoint is reached, the
breakpoint is removed.
If the temporary breakpoint is still active at the time of intercept, the specified line is denoted as “T”. The temporary
breakpoints are also displayed on the breakpoint panel.
The GT command overrides the existing conditional breakpoint on the specified line. The command honors all breakpoints
during execution.


during execution.
If multiple GT commands are entered, the execution is resumed until the first GT line is reached and other GT commands
are treated as temporary breakpoints.
 669


InterTest™ and SymDump ® 11.0
To reset a temporary breakpoint that was created by a GT command, use the OFF, O, X, or blank line commands.
CAMRCOB  ---------- CA-InterTest Batch TEMP BP Intercept ---------------------
COMMAND ===>                                                  SCROLL ===> CUR
0001 000886            MOVE  R1498-TIMEI TO R1498-TIME.
 ---> 000887            PERFORM TIME-EDIT THRU TIME-EDIT-EX.
      000888       *
 ---> 000889            MOVE  R1498-TIMEO TO R1498-TIME.
 ---> 000890            PERFORM TIME-EDIT THRU TIME-EDIT-EX.
 ---> 000891            GO TO DISPLAY-1ST-PANEL.
      000892       * -----------------------------------------------*
      000893       *    THIS ROUTINE EDITS INPUT TIME FOR VALIDITY  *
      000894       * -----------------------------------------------*
GT--> 000895        TIME-EDIT.
 ---> 000896            IF    R1498-TIME IS NOT NUMERIC
 ---> 000897                  MOVE 'B' TO R1498-STATUS
      000898            ELSE
 ---> 000899                  IF  R1499-HH < 25
 ---> 000900                      IF R1499-MM < 60
 ---> 000901                          IF R1498-TIME NOT > 2359
 ---> 000902                               MOVE 'G' TO R1498-STATUS
      000903                          ELSE
 ---> 000904                               MOVE 'T' TO R1498-STATUS
      000905                      ELSE
 ---> 000906                               MOVE 'M' TO R1498-STATUS
      000907                  ELSE


000907                  ELSE
 ---> 000908                      MOVE 'H' TO R1498-STATUS.
 ---> 000909        TIME-EDIT-EX.
 ---> 000910            EXIT.
H Command (Display Hex Data)
For COBOL or PL/I programs, the H line command causes a data item to be displayed in hexadecimal format for any
data items contained on the line where you type the H. See the LDX command in the Control Commands section that
follows for further explanation of the display. For assembler programs, the H line command displays the operands for
the current instruction in register notation. For assembler programs, there is no functional difference between the H
line command and the K line command. The number of H's that you specify is limited only by the number of data items
displayed, because of the screen size.
Cursor-sensitive hex display: If you enter H and the cursor is placed on a COBOL or PL/I data item in that line, pressing
Enter displays in hexadecimal format only that data item and data items to the right of that item on the same line.
You may reset the hex displays using the RDI command or the R line command.
NOTE
You cannot modify the zones and numerics portion of the data display. You also cannot modify group items.
In the following panel, the program has stopped executing because of an S0C7 abend as shown at the top of the Intercept
panel. You have typed an H on line 13200 where the ABEND occurred to view the data items from that line. If you press
Enter, it causes the line command to process.
CAMRCOB2 ---------- CA InterTest Batch ABEND S0C7 Intercept ------------------
COMMAND ===>                                                  SCROLL===> PAGE


COMMAND ===>                                                  SCROLL===> PAGE
 TRACE=> 013200 013100 020100 020000 012900 012800 012700 012600 012500 012400
          7        CAMRCOB2        15.49.31        JUN 30,2014
  0001         012300 PROCEDURE DIVISION USING PARMS TEST-THREE TEST-FOUR PASS-
 670


InterTest™ and SymDump ® 11.0
  0001         012400 DEMO-BEGIN.
  0001         012500     GO TO DEMO-INIT.
  0001         012600 DEMO-INIT.
  0001         012700     OPEN OUTPUT OUTPUT01.
  0001         012800     MOVE HD1 TO LINE-OUT.
  0001         012900     PERFORM WRITE-LINE.

 U0001         013100 FORCING-THE-ABEND.
 h0001         013200     MOVE MASK1  TO BIN1.
  --->         013300     MOVE ZERO   TO MASK1.
 U--->         013400     MOVE MASK1  TO BIN1
               013410                    BIN2
               013500                    BIN3
               013600                    BIN4.
  --->         013700 TABLE-MOVE.
 U--->         013736       MOVE TABLE-FILL TO WA-TABLE-1.
  --->         013737 NUM-EDITED-TEST.
The following panel shows the hex data displays for the data items, MASK1 and BIN1, on line 13200. From the displayed
data items, you should be able to determine the cause of the ABEND. A character field, MASK1, filled with blanks (X'40')
is being moved to a numeric binary field. You could then use the SET command to change MASK1 to an acceptable
numeric value.
 CAMRCOB2 ---------- CA InterTest Batch ABEND S0C7 Intercept ------------------
 COMMAND ===>                                                  SCROLL===> PAGE


COMMAND ===>                                                  SCROLL===> PAGE
 TRACE=> 013200 013100 020100 020000 012900 012800 012700 012600 012500 012400
       ------------------------------------------------------------------------
       00243DA0 AN    004000 03 MASK1
                DATA OCCUPIES 0002 BYTES OF STORAGE     ZONES 44
                                                     NUMERICS 00

       00243DB2 NB-S  004600 03 BIN1                          +00000000.
                DATA OCCUPIES 0004 BYTES OF STORAGE     ZONES 0000
                                                     NUMERICS 0000
       ------------------------------------------------------------------------
          7        CAMRCOB2        15.49.31        JUN 30,2014
  0001         012300 PROCEDURE DIVISION USING PARMS TEST-THREE TEST-FOUR PASS-
  0001         012400 DEMO-BEGIN.
  0001         012500     GO TO DEMO-INIT.
  0001         012600 DEMO-INIT.
  0001         012700     OPEN OUTPUT OUTPUT01.
  0001         012800     MOVE HD1 TO LINE-OUT.
  0001         012900     PERFORM WRITE-LINE.

 U0001         013100 FORCING-THE-ABEND.

  0001         013200     MOVE MASK1  TO BIN1.
  --->         013300     MOVE ZERO   TO MASK1.
 U--->         013400     MOVE MASK1  TO BIN1


U--->         013400     MOVE MASK1  TO BIN1
For assembler programs, if you use the H line command within the keep window, the high half of the 64bit register is
displayed in a short message at the top of the screen. The following panel shows the short message displayed when the
H command is used in the keep window:
 671


InterTest™ and SymDump ® 11.0
MEMTEST  ---------- CA InterTest Batch *INITIAL* Inte- High Half = 00000001
COMMAND ===>                                                  SCROLL ===> CSR
TRACE=> 000060 000059 000058 000056 000055 000050 000049 000048 000047 000046 0
      -------------------------------------------------------------------------
      00000000 HX    000000 02 R1                           000000000000000000
      -------------------------------------------------------------------------
 0001 000096 900F 1000            00000    59          STM   R0,R15,0(R1)
 ---> 00009A EB0F 1040 0026       00040    60          STMH  R0,R15,64(R1)
 ---> 0000A0 9B0F 1080            00080    61          STAM  R0,R15,128(R1)
I Command (Display Full Frequency Count Information)
In instances where a frequency count for a line exceeds 9999, the I line command displays the actual count at the top
right of the screen. After typing I to the left of the line, press Enter to display the frequency count.
The following panel shows the actual frequency count for a line number that has exceeded 9999 executions:
CARMCOB2 ---------- CA InterTest Batch WHEN LOOPCOND BEFORE Inte Executed 10000
Command ===>                                                    Scroll===> CUR
TRACE=> 001151 001150 001149 001148 001162 001155 001154 001153 001151 001150 0
 U0001   001141               ORDER-CALC.


U0001   001141               ORDER-CALC.
  0001   001142                   MOVE CUSTOMER-VALUES TO CUSTOMER-ORDER.
  0001   001143                   MOVE ZEROES TO ORDER-SUB-TOTAL, SUB-6, LOOP-O
  0001   001144                   PERFORM TOTAL-ORDER THRU TOTAL-ORDER-EX
         001145                       UNTIL SUB-6 EQUAL 5.
 U--->   001146               ORDER-CALC-EX.
  --->   001147                   GO TO OPTIONS.
  0101   001148               TOTAL-ORDER.
 I010K   001149                   ADD 1 TO SUB-6.
  0101   001150                   ADD 1 TO LOOP-OUT.
  0100   001151                   MULTIPLY UNIT-PRICE(SUB-6) BY NO-OF-WIDGETS(S
         001152                       GIVING ITEM-TOTAL.
  0100   001153                   ADD ITEM-TOTAL TO ORDER-SUB-TOTAL.
  0100   001154                   MOVE 1 TO SUB-6.
       PP 5668-958 IBM VS COBOL II Release 3.2 09/05/90                COB2DEMR
For assembler, if you use the I line command within the keep window the access register of the item is displayed in a short
message at the top of the screen. The following panel shows the short message displayed when you use the A command
in the keep window.
TESTAR   ---------- CA InterTest Batch ABEND S0C7 Int- ALET ===>  00010004
COMMAND ===>                                                  SCROLL ===> CSR


COMMAND ===>                                                  SCROLL ===> CSR
TRACE=> 000060 000059 000058 000056 000055 000050 000049 000048 000047 000046 0
      -------------------------------------------------------------------------
      00000000 HX    000000 02 R1                           000000000000000000.
      -------------------------------------------------------------------------
 0001 000096 900F 1000            00000    59          STM   R0,R15,0(R1)
 ---> 00009A EB0F 1040 0026       00040    60          STMH  R0,R15,64(R1)
 ---> 0000A0 9B0F 1080            00080    61          STAM  R0,R15,128(R1)
L or K Command (Display Data Item in a Keep Window)
For COBOL or PL/I programs, the L line command causes a data item to be displayed on the Intercept panel for any data
items contained on the line where the L is typed. For assembler programs, the L line command displays the operands
for the current instruction in register notation. This is commonly known as a keep window. For more information on LDI
 672


InterTest™ and SymDump ® 11.0
commands, see the LDI (or KEEP) command in the Control Commands section that follows. The number of L's you can
specify is limited only by the number of data items displayed because of the screen size.
Cursor-sensitive keep: If you enter L or K and the cursor is placed on a COBOL or PL/I data item in that line, pressing
Enter lists in the keep window only that data item and data items to the right of that item on the same line.
The LDI (or keep window) displays may be reset using the remove all  command or the R line command.
NOTE
Elementary items are modifiable from within the keep window.
In the following panel the program has stopped at a breakpoint. To display all the data items in the MOVE statement, you
must type a K on each of the lines on which the statement occurs. In this case, you must type K on lines 13400, 13410,
13500, and 13600. Pressing Enter causes the command to process.
 CAMRCOB2 ---------- CA InterTest Batch NEXT BEFORE Intercept -----------------
 COMMAND ===>                                                  SCROLL===> PAGE
 TRACE=> 013400 013300 013200 013100 020100 020000 012900 012800 012700 012600
          7        CAMRCOB2        15.49.31        JUN 30,2014
  0001        012300 PROCEDURE DIVISION USING PARMS TEST-THREE TEST-FOUR PASS-
  0001        012400 DEMO-BEGIN.
  0001        012500     GO TO DEMO-INIT.
  0001        012600 DEMO-INIT.


0001        012600 DEMO-INIT.
  0001        012700     OPEN OUTPUT OUTPUT01.
  0001        012800     MOVE HD1 TO LINE-OUT.
  0001        012900     PERFORM WRITE-LINE.

 U0001        013100 FORCING-THE-ABEND.
  0001        013200     MOVE MASK1  TO BIN1.
  0001        013300     MOVE ZERO   TO MASK1.
 k--->        013400     MOVE MASK1  TO BIN1
 k            013410                    BIN2
 k            013500                    BIN3
 k            013600                    BIN4.
  --->        013700 TABLE-MOVE.
 U--->        013736       MOVE TABLE-FILL TO WA-TABLE-1.
  --->        013737 NUM-EDITED-TEST.
The following panel shows the keep window displays for data items MASK1, BIN1, BIN2, BIN3, and BIN4:
 CAMRCOB2 ---------- CA InterTest Batch NEXT BEFORE Intercept -----------------
 COMMAND ===>                                                  SCROLL===> PAGE
 TRACE=> 013400 013300 013200 013100 020100 020000 012900 012800 012700 012600
       ------------------------------------------------------------------------
       00204DA0 AN    004000 03 MASK1                         00
       00204DB2 NB-S  004600 03 BIN1                          +00000001.
       00204DB6 NB-S  004700 03 BIN2                          +00000016.


00204DBA NB-S  004800 03 BIN3                          +00000032.
       00204DBE NB-S  004900 03 BIN4                          +00000077.
       ------------------------------------------------------------------------
          7        CAMRCOB2        15.49.31        JUN 30,2014
  0001         012300 PROCEDURE DIVISION USING PARMS TEST-THREE TEST-FOUR PASS-
  0001         012400 DEMO-BEGIN.
  0001         012500     GO TO DEMO-INIT.
  0001         012600 DEMO-INIT.
  0001         012700     OPEN OUTPUT OUTPUT01.
 673


InterTest™ and SymDump ® 11.0
  0001         012800     MOVE HD1 TO LINE-OUT.
  0001         012900     PERFORM WRITE-LINE.
 U0001         013100 FORCING-THE-ABEND.
  0001         013200     MOVE MASK1  TO BIN1.
  0001         013300     MOVE ZERO   TO MASK1.
 U--->         013400     MOVE MASK1  TO BIN1
               013410                    BIN2
O or X Command (Turn Off Breakpoints)
The O or X line command removes a breakpoint that is set for the line on which it is typed. A blank in the first field on
a line also resets the breakpoint. The O line command should only be used on lines that contain a U, ), or S in the first
column (where a breakpoint is set). An O on any other line has no effect. The number of O commands that may be
processed is limited only by the display screen size.
C, W, and V line commands are not displayed and therefore cannot be removed with an O or X.
NOTE
X is a synonym of the R line command when it is used in the keep window. When it is used on a source line, X is
a synonym of the O line command.
In the following panel, you have entered an O line command on lines 13400 and 13736 by typing over the U's in the first
column:
 CAMRCOB2 ---------- CA InterTest Batch NEXT BEFORE Intercept -----------------
 COMMAND ===>                                                  SCROLL===> PAGE
 TRACE=> 013400 013300 013200 013100 020100 020000 012900 012800 012700 012600


7        CAMRCOB2        15.49.31        JUN 30,2014
  0001        012300 PROCEDURE DIVISION USING PARMS TEST-THREE TEST-FOUR PASS-
  0001        012400 DEMO-BEGIN.
  0001        012500     GO TO DEMO-INIT.
  0001        012600 DEMO-INIT.
  0001        012700     OPEN OUTPUT OUTPUT01.
  0001        012800     MOVE HD1 TO LINE-OUT.
  0001        012900     PERFORM WRITE-LINE.

 U0001        013100 FORCING-THE-ABEND.
  0001        013200     MOVE MASK1  TO BIN1.
  0001        013300     MOVE ZERO   TO MASK1.
 o--->        013400     MOVE MASK1  TO BIN1
              013410                    BIN2
              013500                    BIN3
              013600                    BIN4.
  --->        013700 TABLE-MOVE.
 o--->        013736       MOVE TABLE-FILL TO WA-TABLE-1.
  --->        013737 NUM-EDITED-TEST.
After you press Enter, the U's are no longer on the lines. This indicates that the breakpoints have been reset as shown in
the following panel:
 CAMRCOB2 ---------- CA InterTest Batch NEXT BEFORE Intercept -----------------
 COMMAND ===>                                                  SCROLL===> PAGE
 TRACE=> 013400 013300 013200 013100 020100 020000 012900 012800 012700 012600


7        CAMRCOB2        15.49.31        JUN 30,2014
  0001        012300 PROCEDURE DIVISION USING PARMS TEST-THREE TEST-FOUR PASS-
  0001        012400 DEMO-BEGIN.
 674


InterTest™ and SymDump ® 11.0
  0001        012500     GO TO DEMO-INIT.
  0001        012600 DEMO-INIT.
  0001        012700     OPEN OUTPUT OUTPUT01.
  0001        012800     MOVE HD1 TO LINE-OUT.
  0001        012900     PERFORM WRITE-LINE.

 U0001        013100 FORCING-THE-ABEND.
  0001        013200     MOVE MASK1  TO BIN1.
  0001        013300     MOVE ZERO   TO MASK1.
  --->        013400     MOVE MASK1  TO BIN1
              013410                    BIN2
              013500                    BIN3
              013600                    BIN4.
  --->        013700 TABLE-MOVE.
  --->        013736       MOVE TABLE-FILL TO WA-TABLE-1.
  --->        013737 NUM-EDITED-TEST.
You can confirm that you reset the breakpoints by using the LISTAT command to produce the Breakpoint Status panel.
P Command (Print Display)
For COBOL or PL/I programs, the P line command writes the display in the session log for all the data items on the
line where you typed the command. For assembler programs, the P line command prints the operands for the current
instruction in register notation. The data is written as it would be displayed using the D line command. For a description of
the Display Panel, see Data Display Panels in Debugging Panels.
You can type the P line command on any line in the program listing. You can enter multiple P commands on different lines.


For further description and a sample of the session log, see Session Log Facility (Review Debugging Session) at the end
of this section.
R Command (Reset Data Item Display)
The R line command resets a data item display from an LDI command, an L line command, an LDX command, or an H
line command. Place the R line command on a line on the program listing to reset all the data items on that line for which
List Data Item displays are present, or place it directly on a listed data item display to reset that display.
NOTE
X is a synonym of the R line command when it is used in the keep window. When it is used on a source line, X is
a synonym of the O line command.
In the following panel, an LDI has been done for MASK1 and BIN1, and an LDX has been done for BIN2. By placing an R
on the data item display for BIN1 and line 13410 containing BIN2, these data items are reset after  you press Enter.
 CAMRCOB2 ---------- CA InterTest Batch NEXT BEFORE Intercept -----------------
 COMMAND ===>                                                  SCROLL===> PAGE
 TRACE=> 013400 013300 013200 013100 020100 020000 012900 012800 012700 012600
       ------------------------------------------------------------------------
       00204DA0 AN    004000 03 MASK1                         00
 r     00204DB2 NB-S  004600 03 BIN1                          +00000001.
       00204DB6 NB-S  004700 03 BIN2                          +00000016.
                DATA OCCUPIES 0004 BYTES OF STORAGE     ZONES 0001
                                                     NUMERICS 0000
       ------------------------------------------------------------------------


NUMERICS 0000
       ------------------------------------------------------------------------
          7        CAMRCOB2        15.49.31        JUN 30,2014
  0001        012300 PROCEDURE DIVISION USING PARMS TEST-THREE TEST-FOUR PASS-
 675


InterTest™ and SymDump ® 11.0
  0001        012400 DEMO-BEGIN.
  0001        012500     GO TO DEMO-INIT.
  0001        012600 DEMO-INIT.
  0001        012700     OPEN OUTPUT OUTPUT01.
  0001        012800     MOVE HD1 TO LINE-OUT.
  0001        012900     PERFORM WRITE-LINE.

 U0001        013100 FORCING-THE-ABEND.
  0001        013200     MOVE MASK1  TO BIN1.
  0001        013300     MOVE ZERO   TO MASK1.

  --->        013400     MOVE MASK1  TO BIN1
 r            013410                    BIN2
The following panel shows the results of the R line commands. The BIN1 and BIN2 displays have been reset, leaving only
the display for MASK1:
 CAMRCOB2 ---------- CA InterTest Batch NEXT BEFORE Intercept -----------------
 COMMAND ===>                                                  SCROLL===> PAGE
 TRACE=> 013400 013300 013200 013100 020100 020000 012900 012800 012700 012600
       ------------------------------------------------------------------------
       00204DA0 AN    004000 03 MASK1                         00
       ------------------------------------------------------------------------
          7        CAMRCOB2        15.49.31        JUN 30,2014
  0001        012300 PROCEDURE DIVISION USING PARMS TEST-THREE TEST-FOUR PASS-
  0001        012400 DEMO-BEGIN.
  0001        012500     GO TO DEMO-INIT.


0001        012500     GO TO DEMO-INIT.
  0001        012600 DEMO-INIT.
  0001        012700     OPEN OUTPUT OUTPUT01.
  0001        012800     MOVE HD1 TO LINE-OUT.
  0001        012900     PERFORM WRITE-LINE.

 U0001        013100 FORCING-THE-ABEND.
  0001        013200     MOVE MASK1  TO BIN1.
  0001        013300     MOVE ZERO   TO MASK1.

  --->        013400     MOVE MASK1  TO BIN1
              013410                    BIN2
              013500                    BIN3
              013600                    BIN4.
  --->        013700 TABLE-MOVE.
  --->        013736       MOVE TABLE-FILL TO WA-TABLE-1.
S Command (Skip this Statement)
The S (Skip) line command when placed directly next to a statement causes the statement to be skipped when the
program is executing. The S remains on the line to show you which statements are not executed. Skip is considered an
unconditional breakpoint.
You may type other commands over the S. To cancel a Skip line command use a blank, X, or O line command. If you use
OFF ALL to remove all breakpoints, all skip conditions are also removed.
WARNING
When a program has been optimized, or when the statement being skipped is any of the following, the S (Skip)
line command may have undesired results:
 676


InterTest™ and SymDump ® 11.0
The last statement in the program
•The last statement in a performed paragraph
•Immediately followed by an ELSE statement
For more details, see the SKIP Command (Skip a Statement).
The following panel shows a skip breakpoint being set at statement 21010. The S causes the call to the program A1 to be
skipped as the program is executed:
CAMRCOB2 ---------- CA InterTest Batch *INITIAL* Intercept -------------------
COMMAND ===>                                                   SCROLL===> HALF
TRACE=> 020400
         8                        17.28.55        MAR 10,2014
 *-->        020400 PROCEDURE DIVISION USING PARMS TEST-THREE TEST-FOUR PASS-
 *-->        020500 DEMO-BEGIN.
 *-->        020600     GO TO DEMO-INIT.
 *-->        020700 DEMO-INIT.
 *-->        020800     OPEN OUTPUT OUTPUT01.
 *-->        020900     MOVE HD1 TO LINE-OUT.
 *-->        021000     PERFORM WRITE-LINE.
S*-->        021010     CALL 'A1'.
 *-->        021020     CALL 'A2'.

U*-->        021200 FORCING-THE-ABEND.
 *-->        021300     MOVE MASK1  TO BIN1.
 *-->        021310     DISPLAY MASK1 BIN1 BIN2 BIN3 BIN4.
 *-->        021400     MOVE ZERO   TO MASK1.
 *-->        021500     MOVE MASK1  TO BIN1
             021600                    BIN2
             021700                    BIN3
             021800                    BIN4.


021700                    BIN3
             021800                    BIN4.
 *-->        021900     IF BIN1 = BIN2
             022000       NEXT SENTENCE.
The following panel shows what the program looks like after you have used the GO command to resume program
execution. The program is intercepted by the breakpoint on line 21200. Note that there is no frequency counter on
statement 21010. This statement was not executed.
CAMRCOB2 ---------- CA InterTest Batch UNCOND BEFORE Intercept ---------------
COMMAND ===>                                                   SCROLL===> HALF
TRACE=> 021200 021020 021000 020900 020800 020700 020600 020500 020400
         8                        17.28.55        MAR 10,2014
 0001         020400 PROCEDURE DIVISION USING PARMS TEST-THREE TEST-FOUR PASS-
 0001         020500 DEMO-BEGIN.
 0001         020600     GO TO DEMO-INIT.
 0001         020700 DEMO-INIT.
 0001         020800     OPEN OUTPUT OUTPUT01.
 0001         020900     MOVE HD1 TO LINE-OUT.
 0001         021000     PERFORM WRITE-LINE.
S--->         021010     CALL 'A1'.
 0001         021020     CALL 'A2'.

U--->         021200    FORCING-THE-ABEND.
 --->         021300     MOVE MASK1  TO BIN1.
 677


InterTest™ and SymDump ® 11.0
 --->         021310     DISPLAY MASK1 BIN1 BIN2 BIN3 BIN4.
 --->         021400     MOVE ZERO   TO MASK1.
 --->         021500     MOVE MASK1  TO BIN1
              021600                    BIN2
              021700                    BIN3
              021800                    BIN4.
 --->         021900     IF BIN1 = BIN2
              022000       NEXT SENTENCE.
V Command (Set Variable Change Breakpoint)
The V line command sets a variable change breakpoint at the specified line. A when-name is automatically generated.
The name is VR nnnnnn  where n=line number of the breakpoint. This means you can have only one conditional set by
the V line command per line. The breakpoint is triggered before the line is executed when the application determines that
the value of a variable in the line changes. The condition is not checked before each verb. This command is only valid for
COBOL or PL/I programs.
Cursor-sensitive variable change breakpoint: If you enter V and the cursor is placed on a COBOL or PL/I data item,
pressing Enter designates that item as the variable change item.
The following panel shows variable change breakpoints being set on lines 1149 and 1154 of the program. You must press
Enter after entering the breakpoints in order to set them:
CAMRCOB2 ---------- CA InterTest Batch NEXT BEFORE Intercept -----------------
Command ===>                                                    Scroll===> CUR
TRACE=> 001151 001150 001149 001148 001162 001155 001154 001153 001151 001150 0
 U0001   001141                ORDER-CALC.


U0001   001141                ORDER-CALC.
  0001   001142                   MOVE CUSTOMER-VALUES TO CUSTOMER-ORDER.
  0001   001143                   MOVE ZEROES TO ORDER-SUB-TOTAL, SUB-6, LOOP-O
  0001   001144                   PERFORM TOTAL-ORDER THRU TOTAL-ORDER-EX
         001145                        UNTIL SUB-6 EQUAL 5.
 U--->   001146                ORDER-CALC-EX.
  --->   001147                   GO TO OPTIONS.
  0101   001148                TOTAL-ORDER.
 v0101   001149                   ADD 1 TO SUB-6.
  0101   001150                   ADD 1 TO LOOP-OUT.
  0100   001151                   MULTIPLY UNIT-PRICE(SUB-6) BY NO-OF-WIDGETS(S
         001152                        GIVING ITEM-TOTAL.
  0100   001153                   ADD ITEM-TOTAL TO ORDER-SUB-TOTAL.
 v0100   001154                   MOVE 1 TO SUB-6.
        PP 5668-958 IBM VS COBOL II Release 3.2 09/05/90               CAMRCOB2
        LineID  PL SL  ----+-*A-1-B--+----2----+----3----+----4----+----5----+-
) Command (Set Unconditional "After" Breakpoints)
The ) line command performs the same function as the AT or UNCOND command. An unconditional "after" breakpoint
is set on the line where the A or U is typed. The program stops after executing the statement. A ) displays on the line to


show you where breakpoints have been set. The ) line command is only valid on executable lines of the program listing.
Executable lines contain a frequency counter number or arrow. There is no limit other than the size of the screen. If you
press Enter or the scroll keys, it sets the breakpoints.
You can type other commands over the ). Reset breakpoints using the OFF, O, X, or blank line commands.
The following panel shows an "after" breakpoint being set on line 13736 of the program:
 CAMRCOB2 ---------- CA InterTest Batch NEXT BEFORE Intercept -----------------
 678


InterTest™ and SymDump ® 11.0
 COMMAND ===>                                                  SCROLL===> PAGE
 TRACE= 012400 012300
          7        CAMRCOB2        15.49.31        JUN 30,2014
  0001        012300 PROCEDURE DIVISION USING PARMS TEST-THREE TEST-FOUR PASS-
  --->        012400 DEMO-BEGIN.
  --->        012500     GO TO DEMO-INIT.
  --->        012600 DEMO-INIT.
  --->        012700     OPEN OUTPUT OUTPUT01.
  --->        012800     MOVE HD1 TO LINE-OUT.
  --->        012900     PERFORM WRITE-LINE.

 u--->        013100 FORCING-THE-ABEND.
  --->        013200     MOVE MASK1  TO BIN1.
  --->        013300     MOVE ZERO   TO MASK1.
 u--->        013400     MOVE MASK1  TO BIN1
              013410                    BIN2
              013500                    BIN3
              013600                    BIN4.
  --->        013700 TABLE-MOVE.
 )--->        013736       MOVE TABLE-FILL TO WA-TABLE-1.
  --->        013737 NUM-EDITED-TEST.
  --->        013738       MOVE IN-FUNC TO OUT-FUNC.
  --->        013739       MOVE IN-FUNC TO OUT-FUNC2.
Press Enter to set the breakpoints.
The listing appears as shown in the following panel. The line that has an "after" breakpoint set displays a ) in the first
column to show you where it is.


column to show you where it is.
CAMRCOB2 ---------- CA InterTest Batch NEXT BEFORE Intercept -----------------
COMMAND ===>                                                  SCROLL===> PAGE
 TRACE=> 012400 012300
          7        CAMRCOB2        15.49.31        JUN 30,2014
  0001        012300 PROCEDURE DIVISION USING PARMS TEST-THREE TEST-FOUR PASS-
  --->        012400 DEMO-BEGIN.
  --->        012500     GO TO DEMO-INIT.
  --->        012600 DEMO-INIT.
  --->        012700     OPEN OUTPUT OUTPUT01.
  --->        012800     MOVE HD1 TO LINE-OUT.
  --->        012900     PERFORM WRITE-LINE.

 U--->        013100 FORCING-THE-ABEND.
  --->        013200     MOVE MASK1  TO BIN1.

  --->        013300     MOVE ZERO   TO MASK1.
 U--->        013400     MOVE MASK1  TO BIN1
              013410                    BIN2
              013500                    BIN3
              013600                    BIN4.
  --->        013700 TABLE-MOVE.
 )--->        013736       MOVE TABLE-FILL TO WA-TABLE-1.
  --->        013737 NUM-EDITED-TEST.
  --->        013738       MOVE IN-FUNC TO OUT-FUNC.
  --->        013739       MOVE IN-FUNC TO OUT-FUNC2.
 679


InterTest™ and SymDump ® 11.0
You can also use the LISTAT command to show the Breakpoints panel as follows:
-------------------- CA InterTest Batch BREAKPOINTS PANEL ---------------------
COMMAND ===>                                                  SCROLL ===> CUR

     *************************** Top of Data *********************************
     UNCONDITIONAL BREAKPOINTS FOLLOW:
     PROGRAM   STMT#   COUNT  EXEC  B/A  COMMANDS TO BE EXECUTED
     --------  ------  -----  ----  ---  -------------------------------------
.    CAMRCOB2  000589  0000   0000   B
     SOURCE LINE: SPLIT-SCREEN.

.    CAMRCOB2  000541  0000   0000   B
     SOURCE LINE: PAY-CALC.

.    CAMRCOB2  000659  0000   0000   A
     SOURCE LINE: ORDER-CALC.
 ************************************* BOTTOM OF DATA *************************

+ (plus) Command (Increment a Subscript)
Use the plus (+) line command to increment the value of a subscript on a displayed data item. Display the data item using
the LDI or LDX control commands or the L or H line commands. The format of the command is + nnn where nnn is any
number from 1 to 999. The subscript is incremented by the amount specified by nnn. The default is 1, and this is the value
that is used if  nnn is not specified. More than one subscript may be incremented or decremented at the same time. This
command is only valid for COBOL or PL/I programs.


command is only valid for COBOL or PL/I programs.
The following panel shows a data display for WA-T1-3A(BIN1,4,1) of WA-TABLE-1 of WA-LEVEL1. Currently, WA-
T1-3A(2,4,1) is displayed. Note the address and the value. The first subscript (BIN1) and the third subscript are
incremented by the value of 2.
CAMRCOB2 ---------- CA InterTest Batch UNCOND BEFORE Intercept ---------------
COMMAND ===>                                                   SCROLL===> HALF
TRACE=> 022300 022200 022100 021900 021500 021400 021310 021300 021200 021020
        -----------------------------------------------------------------------
        00262E08 ND    016800 06 WA-T1-3A                    01.
 +2                              BIN1  (2)
                                 (4)
 +2                              (1)
                               OF WA-TABLE-1
                               OF WA-LEVEL1
        -----------------------------------------------------------------------

 0001         021200 FORCING-THE-ABEND.
 0001         021300     MOVE MASK1  TO BIN1.
 0001         021310     DISPLAY MASK1 BIN1 BIN2 BIN3 BIN4.
 0001         021400     MOVE ZERO   TO MASK1.
 0001         021500     MOVE MASK1  TO BIN1
              021600                    BIN2
              021700                    BIN3
              021800                    BIN4.
 0001         021900     IF BIN1 = BIN2
              022000       NEXT SENTENCE.
 680


InterTest™ and SymDump ® 11.0
 0001         022100 TABLE-MOVE.
 0001         022200       MOVE TABLE-FILL TO WA-TABLE-1 OF WA-LEVEL1.
U--->         022300 NUM-EDITED-TEST.
 --->         022310       MOVE 'XP' TO ED-ALPHA.
Pressing Enter causes the line commands to be executed. The value of BIN1 and the value of the third subscript have
been incremented by 2, so that WA-T1-3A(4,4,3) is now the table item displayed. Note that by incrementing the subscript
variable BIN1, the value of BIN1 has been changed to 4 as shown in the following panel:
CAMRCOB2 ---------- CA InterTest Batch UNCOND BEFORE Intercept ---------------
COMMAND ===>                                                   SCROLL===> HALF
TRACE=> 022300 022200 022100 021900 021500 021400 021310 021300 021200 021020
      ------------------------------------------------------------------------
      00262E6C ND    016800 06 WA-T1-3A                    03.
                                  BIN1  (4)
                                 (4)
                                 (3)
                               OF WA-TABLE-1
                               OF WA-LEVEL1
      ------------------------------------------------------------------------

 0001         021200 FORCING-THE-ABEND.
 0001         021300     MOVE MASK1  TO BIN1.
 0001         021310     DISPLAY MASK1 BIN1 BIN2 BIN3 BIN4.
 0001         021400     MOVE ZERO   TO MASK1.
 0001         021500     MOVE MASK1  TO BIN1


0001         021500     MOVE MASK1  TO BIN1
              021600                    BIN2
              021700                    BIN3
              021800                    BIN4.
 0001         021900     IF BIN1 = BIN2
              022000       NEXT SENTENCE.
 0001         022100 TABLE-MOVE.
 0001         022200       MOVE TABLE-FILL TO WA-TABLE-1 OF WA-LEVEL1.
U--->         022300 NUM-EDITED-TEST.
 --->         022310       MOVE 'XP' TO ED-ALPHA.
- (minus) Command (Decrement a Subscript)
Use the minus (-) command to decrement the value of a subscript on a displayed data item. Display the data item using
the LDI or LDX control commands or the L or H line commands. The format of the command is - nnn where nnn is any
number from 1 to 999. The subscript is decremented by the amount specified by nnn. The default is 1, and this is the
value that is used if  nnn is not specified. You may increment or decrement more than one subscript at the same time. This
command is only valid for COBOL or PL/I programs.
The following panel shows a data display for WA-T1-3A(BIN1,4,3) of WA-TABLE-1 of WA-LEVEL1. Currently, WA-
T1-3A(4,4,3) is displayed. Note the address and the value. The first subscript (BIN1) is decremented by 3, and the second
and third subscripts are decremented by 1:
CAMRCOB2 ---------- CA InterTest Batch UNCOND BEFORE Intercept ---------------


CAMRCOB2 ---------- CA InterTest Batch UNCOND BEFORE Intercept ---------------
COMMAND ===>                                                   SCROLL===> HALF
TRACE=> 022300 022200 022100 021900 021500 021400 021310 021300 021200 021020
      ------------------------------------------------------------------------
      00262E6C ND    016800 06 WA-T1-3A                    03.
 -3                               BIN1  (4)
 -1                               (4)
 681


InterTest™ and SymDump ® 11.0
 -1                               (3)
                               OF WA-TABLE-1
                               OF WA-LEVEL1
      ------------------------------------------------------------------------

 0001         021200 FORCING-THE-ABEND.
 0001         021300     MOVE MASK1  TO BIN1.
 0001         021310     DISPLAY MASK1 BIN1 BIN2 BIN3 BIN4.
 0001         021400     MOVE ZERO   TO MASK1.
 0001         021500     MOVE MASK1  TO BIN1
              021600                    BIN2
              021700                    BIN3
              021800                    BIN4.
 0001         021900     IF BIN1 = BIN2
              022000       NEXT SENTENCE.
 0001         022100 TABLE-MOVE.
 0001         022200       MOVE TABLE-FILL TO WA-TABLE-1 OF WA-LEVEL1.
U--->         022300 NUM-EDITED-TEST.
 --->         022310       MOVE 'XP' TO ED-ALPHA.
Pressing Enter causes the line commands to be executed. The value of BIN1 has been decremented by 3, and the
second and third subscripts have been decremented by 1, so that WA-T1-3A(1,3,2) is now the table item displayed.
Note that by decrementing the subscript variable BIN1, the value of BIN1 has been changed to 1 as shown in the following
panel:
CAMRCOB2 ---------- CA InterTest Batch UNCOND BEFORE Intercept ---------------
COMMAND ===>                                                   SCROLL===> HALF


COMMAND ===>                                                   SCROLL===> HALF
TRACE=> 022300 022200 022100 021900 021500 021400 021310 021300 021200 021020
        -----------------------------------------------------------------------
        00262DCF ND    016800 06 WA-T1-3A                    02.
                                  BIN1  (1)
                                  (3)
                                  (2)
                               OF WA-TABLE-1
                               OF WA-LEVEL1
        -----------------------------------------------------------------------

 0001         021200 FORCING-THE-ABEND.
 0001         021300     MOVE MASK1  TO BIN1.
 0001         021310     DISPLAY MASK1 BIN1 BIN2 BIN3 BIN4.
 0001         021400     MOVE ZERO   TO MASK1.
 0001         021500     MOVE MASK1  TO BIN1
              021600                    BIN2
              021700                    BIN3
              021800                    BIN4.
 0001         021900     IF BIN1 = BIN2
              022000       NEXT SENTENCE.
 0001         022100 TABLE-MOVE.
 0001         022200       MOVE TABLE-FILL TO WA-TABLE-1 OF WA-LEVEL1.
U0001         022300 NUM-EDITED-TEST.
 682


InterTest™ and SymDump ® 11.0
< nnnn (Scroll Left) Command
The scroll left (<) command is used to scroll data in the keep window left. The format of the command is <[ nnnn ] where
nnnn  is any number from 1 to 9999. If the data length is greater than the display area, the data is scrolled the number of
bytes indicated by nnnn . Data cannot be scrolled beyond the length of the data item. If the nnnn  value is greater than the
length of the data item, the display is positioned at the last n number of bytes that fit in the display area.
The following panel shows a data item scrolled left 5 bytes:
CAMRCOB2 ---------- CA InterTest Batch *INITIAL* Intercept -------------------
COMMAND ===>                                                  SCROLL ===> CSR
TRACE=>
      -------------------------------------------------------------------------
      1F0A9630       000838 01 TRL-TABLE
      1F0A9635 AN    000839 03 FILLER               (+0005) EFGHIJKLMNOPQRSTUV
      1F0A964B AN    000841 03 FILLER                       1234567890
      1F0A9655 AN    000843 03 FILLER                       -+=.,;:#*/()@&%$¢?
      -------------------------------------------------------------------------
      000875        PROCEDURE DIVISION USING PARAMETER-AREA.
 *--> 000876        START-PROGRAM.
 *--> 000877            OPEN OUTPUT REPORT-OUT.
      000878       * -----------------------------------------------*
      000879       * Welcome to the CA InterTest Batch COBOL II     *
      000880       * Demonstration Program. You are now at the      *


000880       * Demonstration Program. You are now at the      *
      000881       * Initial Breakpoint panel which is displayed    *
      000882       * upon entry to the first program to be tested.  *
      000883       * At this point, other breakpoints can be set    *
      000884       * and control commands can be issued before  the *
      000885       * program is executed.                           *
      000886       * -----------------------------------------------*
 *--> 000887            MOVE  R1498-TIMEI TO R1498-TIME.
 *--> 000888            PERFORM TIME-EDIT THRU TIME-EDIT-EX.
      000889       *
 *--> 000890            MOVE  R1498-TIMEO TO R1498-TIME.
 *--> 000891            PERFORM TIME-EDIT THRU TIME-EDIT-EX.
 *--> 000892            GO TO DISPLAY-1ST-PANEL.
Note: Scrolling starts from relative zero. In the previous example the displayed character “E” is at real
 position 6 (+0005 relative to 0).
> nnnn (Scroll Right) Command
The scroll right (>) command is used to scroll data in the keep window right. The format of the command is >[ nnnn ] where
nnnn  is any number from 1 to 9999. If the data length is greater than the display area, the data is scrolled the number of
bytes indicated by nnnn . Data cannot be scrolled beyond the length of the data item. If the nnnn  value is greater than the
length of the data item, the display is positioned at the first n number of bytes that fit in the display area.


The following panel shows a data item scrolled right 3 bytes:
CAMRCOB2 ---------- CA InterTest Batch *INITIAL* Intercept -------------------
COMMAND ===>                                                  SCROLL ===> CSR
TRACE=>
      -------------------------------------------------------------------------
      1F0A9630       000838 01 TRL-TABLE
      1F0A9632 AN    000839 03 FILLER               (+0002) BCDEFGHIJKLMNOPQRS
      1F0A964B AN    000841 03 FILLER                       1234567890
 683


InterTest™ and SymDump ® 11.0
      1F0A9655 AN    000843 03 FILLER                       -+=.,;:#*/()@&%$¢?
      -------------------------------------------------------------------------
      000875        PROCEDURE DIVISION USING PARAMETER-AREA.
 *--> 000876        START-PROGRAM.
 *--> 000877            OPEN OUTPUT REPORT-OUT.
      000878       * -----------------------------------------------*
      000879       * Welcome to the CA InterTest Batch COBOL II     *
      000880       * Demonstration Program. You are now at the      *
      000881       * Initial Breakpoint panel which is displayed    *
      000882       * upon entry to the first program to be tested.  *
      000883       * At this point, other breakpoints can be set    *
      000884       * and control commands can be issued before  the *
      000885       * program is executed.                           *
      000886       * -----------------------------------------------*
 *--> 000887            MOVE  R1498-TIMEI TO R1498-TIME.
 *--> 000888            PERFORM TIME-EDIT THRU TIME-EDIT-EX.
      000889       *
 *--> 000890            MOVE  R1498-TIMEO TO R1498-TIME.
 *--> 000891            PERFORM TIME-EDIT THRU TIME-EDIT-EX.
 *--> 000892            GO TO DISPLAY-1ST-PANEL.
NOTE
Scrolling starts from relative zero. In the previous example the displayed character “B” is at real position 3
(+0002 relative to 0)
Control Commands


(+0002 relative to 0)
Control Commands
Use Control commands to control the test session.
To use Control commands to control the test session, enter the Control commands on the command line of the Intercept
panel. To enter multiple control commands on the command line, separate the commands with semicolons (;).
Assembler Indirect Addressing Note : Some control commands can accept an expression in  register notation when
debugging an assembler program. The format of an expression is as follows:
 <base <suffix>> <<offset<suffix>>...>

Operands Description
base hexadecimal address, or
register number (that is, R1 for general register 1), or
a data name
suffix % for indirect addressing in 24 bit mode
? for indirect addressing in 31 bit mode
! for indirect addressing in 64 bit mode
offset plus (+) or minus (-) a hexadecimal value up to 4 characters long
NOTE
When starting an expression with a hexadecimal address, it must start with a plus (+) sign.
 684


InterTest™ and SymDump ® 11.0
The following table shows a list of control commands available when using your product:
Command Definition
ADVANCE Follows the trace pointers forward.
AT Sets an unconditional breakpoint (same as UNCOND).
CORE Displays memory for the debugging region.
COUNTS Enables frequency counting, reset counters, display counters.
CS Highlights the current statement.
DATAMON Enables the data monitoring feature.
DDALLOC Allocates a DD.
DDFREE Frees a DD.
DDQ Queries a DD.
DISPLAY Formats a data item or the COBOL Working Storage section.
DROP Drops the symbolic name.
DROPUSE Removes a using that was set with the USING command.
DUMP Terminates testing with a dump.
EQUATE Specifies symbolic name.
EXSUM Provides the execution summary display.
FILES Displays COBOL FD status.
FM Starts File Master Plus .
FREQ Controls verb execution counts.
GO Resumes execution of the application.
GOTO Resumes execution until the specified line.
INCLUDE Executes a set of application commands.
LDA (or AUTOKEEP) Displays all data items referenced by the current statement.
LDI (or KEEP) Lists data item.
LDX (or KEEPX) Lists data item in hexadecimal.
LEQ Lists equated symbolic names.
LINKAGE Formats the COBOL LINKAGE section.
LISTAT Lists breakpoints.
LISTBP Displays the BREAKPOINT panel.
LISTLBL Lists labels added with the .label command.
LISTUSE Displays the USING STATUS panel.
LISTWHEN Lists WHEN conditions.
MAP Invokes the Region Map Display panel.
MLOG Records a debugging session.
NEXT Executes the next n verbs.
NOFREQ Removes frequency counters.
OFF (or OFFU) Removes unconditional breakpoints.
OFFWN (or OFFC) Removes conditional breakpoints.


OFFWN (or OFFC) Removes conditional breakpoints.
POINT Directs PREVIOUS and ADVANCE pointer.
PREV Follows trace pointers in reverse.
 685


InterTest™ and SymDump ® 11.0
PS Prints stream to session log.
QUALIFY Sets current program id.
QUIT Terminates the test session.
RDI Resets data item (or REMOVE).
RECORDS Formats data in the COBOL FILE section.
REFRESH Displays updated split screen values.
REGS Displays registers for assembler programs.
RESET Removes column numbers from display.
RESTART Restarts a batch link debugging step.
RUN Removes breakpoints and execute.
SDWA Displays the system diagnostic work area.
SET Changes value of a data item.
SKIP Skips a statement.
SLOW Observes execution a verb at a time.
SNAP Produces an Optimizer/II , Optimizer/II , or SymDump  Batch SNAP
report.
SPEED Accelerates program testing.
STEP Sets count for GO command.
SUSPEND Detaches a terminal from a batch link debugging session without
terminating the session.
TRACE Controls/displays program trace entries.
TRACE SOURCE Controls/displays program trace entries and their corresponding
source code.
TRP Displays traced paragraph entries.
UNCOND Sets an unconditional breakpoint (same as AT).
USING Sets an assembler base register for a DSECT that currently has
no active USING.
WHEN (or COND) Sets conditional breakpoints (or COND).
* Adds a comment to the session log.
/clist Executes CLIST CAMRCMD, called with parameter clist.
ADVANCE Command (Follow Trace Pointers Forward)
Referencing the trace table, the ADVANCE command highlights and displays the next statement that was executed. This
feature lets the programmer visually follow in a forward sequence the statements that have been executed. This command
is used along with the PREVIOUS command.
Syntax
Use the following syntax for ADVANCE:
   ADVANCE <nnn|P nn>


ADVANCE <nnn|P nn>

You may enter this command in its abbreviated form: A.
Variables
 686


InterTest™ and SymDump ® 11.0
Use the following variables with the ADVANCE command:
nnn Specifies the number of executed statements for the session to
move forward. The default is one.
P Specifies that the next executed paragraph, procedure, or label is
displayed.
nn Specifies the number of paragraphs, procedures, or labels for the
session to move forward. The default is one.
Usage Notes
The trace facility must be turned on for the ADVANCE command to function. The trace facility is turned on by default when
you first invoke the application. For further information on turning the trace facility on and off, see the TRACE command
later in this section.
The ADVANCE command visually displays the forward execution of the program using the trace table entries. It does not
actually execute the program.
The ADVANCE command does not affect the point at which a program resumes execution. Execution is resumed by
issuing a GO command.
If you have not used the PREV command, the ADVANCE P command scrolls the program to the current statement,
highlights it, and displays END OF TRACE TABLE in the upper right-hand corner. Use this to return the program to the
current statement after scrolling through the listing. The control command CS also displays and highlights the current
statement.
If data monitoring was in effect when the statement highlighted from the ADVANCE command was executed, the values
displayed for your data items are from the time before that statement was executed.
AT (or UNCOND) Command (Set an Unconditional Breakpoint)
Use the AT command to set breakpoints from the Intercept panel or to display the Breakpoint panel. The UNCOND
command is a synonym of AT.
If you enter the AT or UNCOND command with operands in the Command field of an Intercept panel, the breakpoint is
set.


set.
If you enter AT or UNCOND without operands, the Breakpoint panel is displayed.
 AT <<statement-number|paragraph-name|procedure-name|label-name> <AFTER|BEFORE> <(subcommand-list)>>
 <<ALL|program-name> <ENTRY|EXIT|LABEL|DBCALL>  <(subcommand-list)>>

Variables
See the following variables with the AT or UNCOND commands:
statement-number Specifies a statement-number in the program where a breakpoint
is set.
paragraph-name Specifies a paragraph-name in the COBOL program where a
breakpoint is set.
procedure-name Specifies a procedure-name in the PL/I program where a
breakpoint is set.
label-name Specifies label-name in the assembler or PL/I program where a
breakpoint is set.
 687


InterTest™ and SymDump ® 11.0
ENTRY For COBOL programs, specifies that a breakpoint occurs each
time the currently qualified program begins execution. For PL/I
and assembler programs, specifies that a breakpoint occurs the
first time the currently qualified program is entered.
EXIT Specifies that a breakpoint occurs each time the currently qualified
COBOL program finishes execution.
LABEL Specifies that a breakpoint occurs each time the currently qualified
program executes a paragraph, procedure, or label.
DBCALL Specifies that a breakpoint occurs each time the currently qualified
program makes a call to a database, such as DB2 or IMS
ALL ENTRY Specifies that a breakpoint occurs each time a monitored COBOL
program in the run unit begins execution and the first time a
monitored assembler or PL/I program in the run unit begins
execution.
ALL EXIT Specifies that a breakpoint occurs each time any monitored
COBOL program in the run unit finishes execution.
ALL LABEL Specifies that a breakpoint occurs each time a monitored program
executes a label.
ALL DBCALL Specifies that a breakpoint occurs each time a monitored program
makes a call to a database, such as DB2 or IMS.
AFTER Specifies that the breakpoint should be triggered after the
statement is executed.
BEFORE Specifies that the breakpoint should be triggered before the
statement is executed. This is the default.
subcommand-list A list of application commands, separated by semicolons, to be
executed when the breakpoint is encountered during the test.
When testing under the ISPF dialog manager, you may enter only
one subcommand unless the ISPF command delimiter character is
changed to something other than the semicolon. This can be done
under option 0.1 of the ISPF main menu.
Usage Notes
Set a breakpoint by the paragraph name or by the line number of the paragraph. Sample statements to set breakpoints by


paragraph name are shown next:
  041400 0000-INITIALIZATION SECTION.
  041500
  041600 MOVE +20 TO VARIABLE-LENGTH-1.
  041700 MOVE +25 TO VARIABLE-LENGTH-2.
  041800 MOVE +30 TO VARIABLE-LENGTH-3.

Set a breakpoint on the first statement of the example by either of the following AT commands:
 AT 41400 or AT 0000-INITIALIZATION

Set a breakpoint with a list of application commands to be executed at the breakpoint. The commands are executed one
at a time until the program resumes execution or until a transfer of panels occurs, at which point the remaining commands
are ignored. Commands should be in parentheses, separated by semicolons, as follows:
 AT 41700 (SET VARIABLE-LENGTH-2 = 50;GO 41800)

 688


InterTest™ and SymDump ® 11.0
In this example, the program stops before executing statement 41700, and VARIABLE-LENGTH-2 is set to 50. The GO
41800 causes the program to resume execution at statement 41800 so the contents of VARIABLE-LENGTH-2 are not
changed to +25. You can use commands like these to temporarily modify the execution flow of the program.
ISPF Note
When running under ISPF, specify only one command in the subcommand list because of restricted use of the semicolon,
unless the ISPF command delimiter character has been changed. You can do this in option 0.1 of the ISPF main menu.
CORE Command (Display Memory)
The CORE command invokes the Display-Alter Memory panel. This panel lets you modify data based on its address. For
more information, see Core Option and Map Option.
Syntax
Use the following syntax for CORE:
 CORE <data-item|paragraph-name|address|expression>

Usage Notes
If you are navigating the trace table and data monitoring was in effect for the currently highlighted statement, you will see
a warning panel.  The CORE command shows only the current values of data items and not previous values.  Previous
values of data items cannot be modified.
COUNTS Command (Control Frequency Counting)
Use the COUNTS command to enable or disable frequency counting, reset frequency counters, and control the display of
the frequency counters.
When enabled, frequency counting causes the debugger to count the number of times each statement is executed. When
the display is active, the frequency counters appear on the Intercept panel in the left margin.
Syntax
Use the following syntax for COUNTS:
 COUNTS <ON|OFF> <SHOW|NOSHOW> <RESET|RESET ALL|RESET progid>

Variables
Use the following variables with the COUNTS command:


Variables
Use the following variables with the COUNTS command:
ON Enables frequency counting
OFF Disables frequency counting
SHOW Causes the frequency counters to be displayed on the Intercept
panel
NOSHOW Suppresses the display of the frequency counters on the Intercept
panel
RESET Clears to zero all of the counters for the current program
RESET ALL Clears to zero all of the counters for all of the programs
RESET progid Clears to zero all of the counters for the specified program
Usage Notes
 689


InterTest™ and SymDump ® 11.0
When specifying COUNTS ON or OFF, you may also specify SHOW or NOSHOW as a second argument.
If frequency counting is enabled but the display is disabled, counting continues even though no counts are displayed.
CS Command (Current Statement)
The Current Statement (CS) command displays and highlights the current statement. This is especially useful after
scrolling through the listing and any time the next statement to be executed is no longer displayed. You can also change
the current statement by a passing statement number.
Syntax
Use the following syntax for CS:
 CS <statement-number|paragraph-name|procedure-name|label-name>

Usage Notes
When using CS to modify the flow of execution of a COBOL program, be careful to avoid entering a paragraph and
bypassing the PERFORM statement. When the exit to the paragraph is reached, a USER 519 abend may be issued
because the references to the calling statement are not defined.
When using CS to modify the flow of execution of a PL/I program, be careful to avoid entering a block (that is, procedure,
BEGIN block, or ON-unit) other than at the start of the block, or exiting a block other than at the END statement for the
block, as it causes unpredictable results.
DATAMON (Enable Data Monitoring)
The DATAMON command enables data monitoring for the specified COBOL program. When this feature is used in
conjunction with the trace navigation commands (PREV, ADV, POINT), you see past data values when displaying data.
Syntax
Use the following syntax for DATAMON:
 DATAMON ON|OFF <pgmid>

You can use this command in its abbreviated form: DM.
Usage Notes


You can use this command in its abbreviated form: DM.
Usage Notes
Enabling DATAMON lets you view past data values when navigating the trace table. If DATAMON was in effect for the
statement highlighted by the trace navigation command (PREV, ADV, POINT), the data values displayed in the KEEP
and DISPLAY commands will be past data values captured from a point in time before  a COBOL statement referencing
them is executed. These values are protected as you may not be able to update data while viewing past data values. For
this reason, the SET command is disabled in this situation. When using the CORE command, a warning panel is shown
indicating that the current data is shown for viewing and updating, not the past data values. Also, use of the + and - line
commands are disabled when incrementing or decrementing a subscript symbolically.
The DATAMON command can be CPU intensive and it requires a significant amount of storage. The DATAMON command
is only valid for COBOL programs.
DDALLOC Command (Allocate a DD)
The DDALLOC command displays the DDALLOC panel. From this panel, you allocate a DD to DUMMY, a SYSOUT class,
or a data set. Note that this feature works in both batch link and foreground testing. Foreground users can also split their
screen and use Option 3, ALLOCATIONS, to perform their allocations.
Syntax
 690


InterTest™ and SymDump ® 11.0
Use the following syntax for DDALLOC:
 DDALLOC <ddname>

You can enter this command in its abbreviated form: DDA.
DDFREE Command (Free a DD)
The DDFREE command lets you free a specified DD.
Syntax
Use the following syntax for DDFREE:
 DDFREE ddname

You can enter this command in its abbreviated form: DDF.
DDQ Command (Query a DD)
The DDQ command invokes the DDName Query panel. The panel displays information about the allocated DD's.
Syntax
Use the following syntax for DDQ:
 DDQ <ddname>

DISPLAY Command (Format Data or the COBOL Working Storage Section)
The DISPLAY command invokes the Display panel. You can modify the data values on this display.
Syntax
Use the following syntax for DISPLAY:
 DISPLAY <data-item|expression <data-item> ...> <PRINT>

You can enter this command in its abbreviated form: D.
NOTE
Data for variables are case-sensitive.
Variables
Use the following variables with the DISPLAY command:
data item Causes a display of the data item, any subordinate level data
items, and their data values. You may enter more than one data
item.
expression For assembler programs, enter an expression in register notation.
PRINT Causes the data displayed by the command to be written to the
session log.
Usage Notes
Consider the following COBOL WORKING-STORAGE definition:
 691