Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Xpeditor Material

Download as pdf or txt
Download as pdf or txt
You are on page 1of 447
At a glance
Powered by AI
The document discusses XPEDITER/TSO, a debugging and testing tool for COBOL programs. It provides an overview of the tool's capabilities and outlines changes in recent releases.

Some new features discussed include enhancements to the Batch Connect Facility, Abend-AID integration, COBOL/370 compatibility, a Test Case Facility, user interface enhancements, and performance improvements.

The Batch Connect Facility allows submitting an XPEDITER/TSO debugging session as a batch job, allowing the user to interactively connect to the batch job. DB2 and DB2/DLI JCL statements are automatically converted.

XPEDITER/TSO and XPEDITER/IMS COBOL User's Guide

1.0 Chapter 1. XPEDITER/TSO Overview


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
XPEDITER/TSO is a debugging and testing tool that automates the tasks of
identifying problems, applying solutions, analyzing the impacts of
changes, and testing the fixes.

1.1 Changes for This Release


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

* Batch Connect Facility Enhancements


DB2 and DB2/DLI JCL statements that previously required manual changes
are now automatically converted for submitting a job in batch connect
mode. Three new commands have also been added to further enhance JCL
conversion, submitting the job, and connecting to the job.
* Abend-AID Integration
Enhances XPEDITER's fault diagnosis function by providing a direct
connection to Abend-AID during an XPEDITER/TSO test session.
Abend-AID analyzes the abend and XPEDITER/TSO displays the information
in a report formatted by Abend-AID.
* COBOL/370 Compatibility
Provides support for IBM's newest COBOL release--COBOL/370.
* Test Case Facility (TCF) Support
Automatically collects the data read by the program during an
XPEDITER/TSO test session. With Compuware's File-AID/PC product, the
collected data can be downloaded, browsed and edited, and used for
testing on the workstation.
* User Interface Enhancements
Further refinement of XPEDITER screens, commands, and functions.
* Performance Improvement
Access to the source code display is now faster than ever.
* Documentation Changes
XPEDITER/TSO and XPEDITER/IMS documentation has been updated to
include information about the installation and use of the above
features.
1.2 Changes for the Previous Release
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

* Product Integration
XPEDITER/TSO has been integrated with File-AID for DB2, Compuware's
easy to use DB2 database management and SQL development and analysis
tool. To use the integrated product, you must be licensed for
XPEDITER for DB2 Extension and File-AID for DB2. The (FADB2) option
was added to the Primary Menu for direct access to File-AID for DB2.
You can also access File-AID for DB2 from within an XPEDITER/TSO
debugging session.
* Batch Connect Facility
With this feature, you can submit an XPEDITER/TSO debugging session as
a Batch Connect job allowing you to interactively connect to a batch
job.
* Sourceless Debugging
XPEDITER/TSO now allows you to test and debug programs that do not
have the source (no SIR records) available. The new AT command can be
used to set breakpoints in sourceless programs.
* Profile Handling Enhancement
This feature provides a flexible and easy to use method for using and
maintaining multiple profiles. Multiple profiles are useful since
some of the data you see during an XPEDITER/TSO debugging session
depends on the values in the current profile. This includes
installation defaults established by your system programming staff,
and most importantly, environment parameters and SETUP options for the
current debugging session.
* Single Point of Entry
This feature lets you access a CICS region from a Primary Menu option
without logging off the TSO session. Pressing a PF key returns you to
TSO.
* Programmer Command Center Results Interface
For Programmer Command Center customers, XPEDITER offers a results
interface that notifies you of the status of your Batch Connect jobs.
* Documentation Changes
The XPEDITER/TSO and XPEDITER/IMS documentation has been updated to
include information about the installation and use of XPEDITER for DB2
Extension and File-AID for DB2, Profile handling, and the VTAM Batch
Connect facility.
1.3 Overview
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

When you run your program under interactive XPEDITER/TSO, the source code
is displayed in a fully scrollable window where you can view the inner
workings of the program as each statement is executed. For instance, you
can see the execution arrow moving from a PERFORM statement to the actual
out-of-line perform paragraph, or you can see a data identifier changing
its value as the MOVE, INITIALIZE, STRING, or COMPUTE statements are
executed.
Figure 1-1 shows the source display screen under XPEDITER/TSO. All
debugging and testing functions are accessible from this screen without
having to exit to a separate panel.
XPEDITER/TSO does not require any source code or load module changes;
however, you need to create a "symbolic" information dataset called the
Shared Information Repository (SIR) to debug at the source level. The SIR
records are created during the compile step after the compiler generates
the compiler listing. The SIR processor analyzes the listing information
and outputs the SIR records into a PDS file. XPEDITER/TSO displays and
processes the SIR source records during the testing session.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| Before Breakpoint Encountered
|
| ------ ------------------------------------------------------ Before TRI
MAIN --|
| =====> B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR (TX).
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 1-1. Source Display Screen Under XPEDITER/TSO

1.3.1 Major XPEDITER/TSO Debugging and Testing Features


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The capabilities of XPEDITER/TSO are extensive enough to assist the power


programmers' needs, and yet the implementation is simple and efficient to
curtail the learning curve that novice programmers generally experience.
The following list summarizes XPEDITER/TSO's major features:
* Intercept application program abends.
XPEDITER/TSO detects application abends before the offending
instruction is executed and displays a diagnostic message. You can
request an Abend-AID formatted report if you have Abend-AID Release
6.1.4 or higher or you can view the log for more information. If the
problem is a recoverable error, you can fix the error dynamically and
resume execution.
* Start or stop execution at any point.
You can set conditional or unconditional breakpoints, so you can stop
and figure out what the program has processed so far, and what the
consequences of any changes could be. You can also step through code
line-by-line to understand how each statement affects the program.
* Display and modify variable, register, and storage contents.
You can view the variable contents and alter the values as if the
program had actually moved in the value you requested. Tables can be
displayed by dimension, and you can browse through each entry by
incrementing and decrementing the index or subscript. General-purpose
registers and memory can be displayed in a Keep window to analyze the
problem at the lower level.
* Trace logic flow.
Statements can be highlighted to identify the execution path as
XPEDITER/TSO traces through the program. You can control the speed of
the execution so that you can follow the logic interactively at a
speed that best suits you.
* Logically review execution in the reverse direction.
XPEDITER/TSO can display the execution history in the reverse
direction to allow you to review the execution path with associated
data values. The execution arrow moves backwards, and the data
display shows the original values.
* Monitor execution coverage.
You can set counters on statements to test execution coverage or to
monitor loops and procedure calls for optimization.
* Alter logic.
You can dynamically change the control flow by modifying the data
values or by forcing a wild branch to test an alternate path.
* Bypass unwanted code.
A range of statements or programs can be skipped in lieu of providing
program stubs.
* Temporarily insert XPEDITER/TSO debugging statements.
You can imbed XPEDITER/TSO commands to control debugging conditions
to take place at a certain location, and to force data and logic
changes. This feature lets you prototype some COBOL-like constructs.
If you have XPEDITER for DB2 Extension and File-AID for DB2, you can
also insert SQL statements.
* Analyze program structure and data flow.
XPEDITER/TSO identifies certain COBOL program structures
(conditionals, branches, I/Os, statements that alter data values,
etc.) by highlighting the applicable statements when requested. Also,
statements that make references (MODIFY or USE) to a particular data
item can be identified.
* Display file status and DCBs.
VSAM file status and last I/O operation can be retrieved through
XPEDITER/TSO. DCB information can also be checked in the case of I/O
error. When a DD statement is not preallocated, XPEDITER/TSO
intercepts execution and gives you an opportunity to allocate the
missing files before resuming execution.
* Display called module stacking.
The called module configuration such as the load address, entry
point, size, attribute, AMODE, RMODE, and language can be retrieved.
* Maintain multiple profiles.
XPEDITER/TSO's Profile Handling facility provides a flexible and
easy-to-use method for using and maintaining multiple profiles.
Multiple profiles are used because some of the data you see during an
XPEDITER/TSO debugging session depends on the current profile. This
includes installation defaults established by your system programming
staff, and most importantly, environment parameters and SETUP options
for the debugging session.
* Interactively connect to a batch job.
The Batch Connect facility enables you to run an XPEDITER/TSO
debugging session in batch and interactively connect to the batch job.
* Optionally run in unattended batch mode.
XPEDITER/TSO can be submitted as a batch job to debug programs that
require large region size, a tape input, or multiple job steps that
process files. Command stream is read as input, and any functions
that require terminal interaction do not pause but write to the log
indicating that the functions were performed.
1.3.2 XPEDITER/TSO Execution Operating Modes
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

XPEDITER/TSO can be used in three ways:


1. In interactive mode.
The chief advantage of using XPEDITER/TSO interactively is the
ability to "pause" and resume execution of your program throughout a
debugging session. Interactive mode is preferable to batch mode
testing when you have a specific problem for which you want to
dynamically try out a solution.
2. In unattended batch mode.
During a batch session, you cannot interact with the XPEDITER/TSO
debugging session from your terminal. In batch mode, XPEDITER/TSO
receives its input from a test script file and writes to the log file.
Some reasons for using batch mode testing are the following:
* Uses less processor resources than debugging in interactive mode.
* Allows testing of programs that require tape files.
* Executes long running programs and programs that perform many I/O
operations in the background.
* Tests a job stream that has multiple job steps.
* Collects execution coverage and regression testing results.
3. In Batch Connect Mode.
You can submit an XPEDITER/TSO session through the Batch Connect
facility to run the job in batch and interactively connect to that
batch job. The source is displayed allowing you to interactively set
breakpoints, display and modify variables, etc..
1.3.3 Primary Input to XPEDITER/TSO
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The primary input to XPEDITER/TSO is the following:

1. Shared Information Repository (SIR) data library.


2. Load libraries containing the module(s) to be tested and debugged.
Note: The SIR data library and your load libraries are the output of
the compile and link process discussed in "Compiling With the SIR
Processor" in topic 4.2.
3. JCL, file list, or CLIST that can be processed to allocate the input
files or databases needed by your program.
4. Optionally, a test script library.
1.3.4 Output From the Execution of XPEDITER/TSO
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The primary output of the debugging session is:

1. Data files generated by the execution of the program.


2. Session log.
XPEDITER/TSO automatically records (to the log file) the commands
entered and the responses made to each command during a debugging
session. The log dataset can have an LRECL of 133 or 80. The log
does not contain the interactive manipulation commands nor does it
contain the actual program displays.
In batch mode, the log file shows the output of a batch test and is
available after the completion of the debugging session. In
interactive mode, it is available at all times.
The log file can be kept as part of the documentation, to be
referenced whenever maintenance is performed on the program. It can
be viewed for further information in determining the cause and
possible resolution of an abend. Chapter 8, "Handling Run-Time
Errors" in topic 8.0 contains an example of the log display and shows
what is recorded in the log as a result of a S0C7 abend.
3. Session script, which can be saved as a member of a test script
library.
XPEDITER/TSO automatically records the commands entered to a
sequential test script file. After the session is terminated, you can
save, copy, or move the generated test script to a member of a test
script library (INCLUDE dataset), which can then be used as input to
another debugging session.
Test scripts can be used to set up, run, or rerun a session. They are
used to gather information at the close of a session (a post script),
and in batch mode, to specify a series of commands to be executed when
an abend occurs (abend script). It is also used to store any
customization made to XPEDITER/TSO or shop defaults.
1.3.5 LOGON Region Size Requirements
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Debugging with XPEDITER/TSO may require an increase to the default TSO


LOGON region size. This provides protection against abends caused by
insufficient space.
XPEDITER/TSO requires about 640K bytes minimum, in addition to the
application programs to be tested and debugged. Additional storage could
be required, depending on the number and size of the programs that are
referenced symbolically during the debugging session.
It has been our experience that 2048K to 4096K (2M to 4M) is sufficient
size for debugging most applications.
1.4 Restrictions and Warnings
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The following list explains some of the technical restrictions and


questions related to the functioning of XPEDITER/TSO:
Attention (User Interrupt--PA1 Key) Processing:
Depending on the timing in your use of the PA1 key/user interrupt from
within XPEDITER/TSO, the result can be a recursive abend.
Multitasking Support:
Compuware does not support multitasking applications within XPEDITER/TSO,
except in the dialog environment, where single task testing is supported
within a multitasking environment.
Optimized Code:
XPEDITER/TSO displays the source for optimized code as it was originally
written, but executes the code generated by the optimizer. As a result,
depending on the optimizing algorithm applied to the code, the following
can occur:
* Highlighting during execution of the trace of the optimized code can
be misleading.
* Abends can occur when you use XPEDITER/TSO commands that alter the
program execution paths, such as GOTO and SKIP. These abends occur
when the altered execution paths are in conflict with path
dependencies generated by the optimizer.
* If you have used Copy Suppress in the Procedure Division you might not
be able to set a breakpoint on the first statement following the
copied code.
IMS Testing:
* Retention of breakpoints across IMS transactions is not supported.
* Transactions specified on the test MPP screen are queued up to run in
the XPEDITER/TSO region regardless of where the transactions were
initiated. XPEDITER/TSO assigns a unique class to each of the
specified transaction codes and forces them to run only in your
XPEDITER/TSO region. The transaction codes are not reassigned to
their original class until you have completely finished testing in the
MPP region.
* If a DLI program uses the XRST facility, the first DLI call must be
the XRST call. Otherwise, you can cause an abend 04E with reason code
00D44054.
* Within a BTS/DLI setup, recovery of DB2 tables and IMS databases are
uncoordinated. An SQL COMMIT/ROLLBACK call commits or rolls back
changes made to DB2 tables only, not your IMS databases.
* Customers who are experiencing system abends while using the BTS TRACE
to monitor DB2 activity should check with IBM for fixes available for
the BTS program product. Problems have occurred in MVS/XA IMS 1.3 and
BTS 1.3, as well as MVS/ESA IMS 3.1 and BTS 3.1.
MVS/ESA Support:
For assembler programs, all ESA instructions are supported except the
instructions that use the access registers.
Naming Convention:
Program names should not begin with IBM reserved prefixes such as IHO,
ILBO, IGZ, etc.
COBOL Ready Trace:
Unpredictable results can occur in XPEDITER/TSO when the COBOL READY TRACE
command is used.
Memory Allocations:
User programs and other vendor packages that perform FREEMAINs on
subpool=0 or subpool=3 are not supported.
COBOL Declaratives Section:
Breakpoints or GOTOs in the Declaratives Section are not supported.
2.0 Chapter 2. User Interface to XPEDITER/TSO
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
This chapter describes how to interact with XPEDITER/TSO in general. The
screen format, PF key assignments, command processing, HELP, and tutorial
are discussed.

2.1 Screen Format


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

XPEDITER/TSO uses ISPF/PDF-like screens. Figure 2-1 shows the Source


screen.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------ Before TRI
MAIN --|
| =====> B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR (TX).
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 2-1. XPEDITER/TSO Source Display Screen
The first four lines of the XPEDITER/TSO screens are formatted as follows:
|------------------------------------------------------------------------|
| Title |
|---------------------------------------------------------|--------------|
| Command Area | Scroll |
| | Amount |
|-----------------|------------------|-----------------|--|--------------|
| Program | Module | Compile Date | Compile Time |
|-----------------|------------------|-----------------|-----------------|
| Execution Status |
|------------------------------------------------------------------------|

These areas are described as:


Title (line 1)--Identifies the screen name: SOURCE, LOG, SHOW,
MEMORY, etc.
Command Area (line 2)--Primary command line, which can be increased to
three lines using the SET CMDSIZE command.
Scroll Amount (line 2)--Indicates the current scroll amount. You can
type over the current value with one of the following
values:
1 to 9999 Specifies scrolling by the number of lines or
columns.
CSR or C Specifies scrolling based on the current
position of the cursor.
DATA or D Specifies scrolling by one line or column less
than PAGE.
HALF or H Specifies scrolling by a half page.
MAX or M Specifies scrolling to the top, bottom, left
margin, or right margin.
PAGE or P Specifies scrolling by one page.
Program (line 3)--Identifies the source program currently
displayed. This is an unprotected field and can be typed
over with another program name.
Module (line 3)--Displays the load module name.
Compile Date (line 3)--Displays the compile date.
Compile Time (line 3)--Displays the compile time.
Message Area (line 3)--Displays short or informational messages. When a
message is issued, it overlays the program information in
line 3. Press <ENTER> to flush the message and display the
Program field. Additional information can be accessed by
pressing <PF1> (HELP).
Execution Status (line 4)--Identifies the current execution point in your
program. In an Assembler program, an arrow is displayed at
the end of this line to indicate that the source can be
scrolled to the left and/or right.
When a Keep window is present, the execution status line is
displayed at the bottom of the Keep window.

2.1.1 Source Area


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The source area begins on line 5 and displays 68 to 70 bytes of text on


the screen at a time. In Assembler, the screen can be scrolled RIGHT
and/or LEFT to allow access to the full source.
The AFTER, BEFORE, KEEP, and SKIP indicators are displayed on the left
side of the screen in column 9. A 7-digit counter set by the COUNT
command is displayed on the right side beginning at column 74.
2.2 PF Keys
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The default settings for the 24 PF keys are listed below. These values
are valid during the XPEDITER/TSO session. ISPF PF keys are not affected.
The ISPF KEYS command or the SET PFn command can be used to override the
default values.
|-----------|--------------|---------------------------------------------|
| PF Key | Default | Description of Function |
| | Setting | |
|-----------|--------------|---------------------------------------------|
| PF1/PF13 | HELP | Further elaborates an XPEDITER/TSO message |
| | | and invokes the context-sensitive tutorial |
| | | facility. |
|-----------|--------------|---------------------------------------------|
| PF2 | PEEK CSR | Displays the contents of the data name |
| | | defined by the current cursor position. |
| | | The cursor must be in the source window |
| | | under a valid data name. |
|-----------|--------------|---------------------------------------------|
| PF14 | FIND CSR | Displays the data name located under the |
| | | cursor position. |
|-----------|--------------|---------------------------------------------|
| PF3/PF15 | END | Returns you to the previous menu if you are |
| | | in the LOG, HELP, BROWSE, or SHOW |
| | | functions. |
|-----------|--------------|---------------------------------------------|
| PF4/PF16 | EXIT | Ends the current XPEDITER/TSO session. |
|-----------|--------------|---------------------------------------------|
| PF5 | FIND | Repeats the action of the previous FIND |
| | | command. |
|-----------|--------------|---------------------------------------------|
| PF17 | FIND IND | Scrolls the source display to successive |
| | | levels of indirect references related to a |
| | | previously entered FIND INDIRECT command. |
|-----------|--------------|---------------------------------------------|
| PF6/PF18 | LOCATE * | Scrolls the source display to the current |
| | | location where execution has been |
| | | suspended. |
|-----------|--------------|---------------------------------------------|
| PF7/PF19 | UP | Scrolls the source display up, or toward |
| | | the top of the file. |
|-----------|--------------|---------------------------------------------|
| PF8/PF20 | DOWN | Scrolls the source display down, or toward |
| | | the bottom of the file. |
|-----------|--------------|---------------------------------------------|
| PF9/PF21 | GO 1 | Executes the next logical instruction in |
| | | your program, then pauses. |
|-----------|--------------|---------------------------------------------|
| PF10/PF22 | LEFT | Scrolls the display to the left. |
|-----------|--------------|---------------------------------------------|
| PF11/PF23 | RIGHT | Scrolls the display to the right. |
|-----------|--------------|---------------------------------------------|
| PF12/PF24 | GO | Starts or resumes execution of your |
| | | program. |
|-----------|--------------|---------------------------------------------|
Table 2-1. Program Function (PF) Keys
2.3 Command Processing
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

In interactive mode, the results of command execution are immediately


visible on the source display. Additional commands can also be entered
dynamically.
XPEDITER/TSO commands can be entered in three ways:
1. Enter the command in the primary command area and press <ENTER>.
Command stacking--delimited by a semicolon (;), the default--is
allowed except in the DIALOG environment.
The primary command area can be extended up to three lines by using
the SET CMDSIZE command. The previous primary command can be recalled
by entering a question mark (?).
2. Press the PF key that was assigned to the desired command. See
Table 2-1 in topic 2.2 for a list of the PF key assignments.
3. Type over the 6-digit compiler-generated statement number with a valid
line command and press <ENTER>.
XPEDITER/TSO records the line command in the log in the same manner as
the primary command.
By default, commands entered in lowercase are converted to uppercase. To
override the default, use the SET CAPS OFF command. Also, to display
lowercase data, use the SET LOWCASE ASIS command.
2.4 HELP and Tutorial (Option T) Information
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The HELP function provides you with access to general or specific


information regarding an XPEDITER/TSO command, panel, or message. Use the
END command to terminate the HELP function.
The ISPF HELP function is supported from all menus within the XPEDITER/TSO
ISPF Interface. To obtain information on any menu or message, press the
HELP PF key, <PF1>, or enter HELP on the command line.
Once you are in the Tutorial, you can continue to press <ENTER> to see
subsequent pages of the HELP text. The UP, BACK, NEXT, INDEX, and HELP
subcommands of the ISPF HELP function can be used to quickly locate a
particular topic.
You can also select option T to gain access to the Tutorial directly from
the Primary Menu.
2.5 General Product Information (Option B)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Bulletin screen contains updated information relevant to the new


release. A similar version of this information is contained in the
"Changes for This Release" in topic 1.1.
3.0 Chapter 3. Quick Sample Debugging Session
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
This chapter demonstrates the basic debugging features of XPEDITER/TSO,
using the sample program TRIMAIN. A quick overview shows you how to do
the following:
* Run and stop the program
* Step through code
* View and modify program variables
* Debug called modules
* Analyze data flow
* Trace logic flow
* Review execution in reverse direction

3.1 Preparing the Programs


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The source for the sample program TRIMAIN, which calls TRITST and TRIRPT
by use of CALL literal, is contained in the SAMPLIB dataset on the
XPEDITER/TSO product tape. The sample programs can be found in the common
load module, SIR, and file list libraries that have been created and
verified by your site installer. If not found, compile the sample
programs TRITST, TRIRPT, and TRIMAIN with the SIR processor.
Select option 2.1 (XPEDITER/TSO standard environment) from the XPEDITER
Primary Menu. Review the SETUP screens that have been initialized by your
site installer by typing SETUP in the primary command line. Following
this, type TRIMAIN in the Program field and the dataset name that contains
the file list for TRIMAIN in the File Allocation List field. The File
Allocation List should contain the INFILE and OUTFILE, which are defined
in the FD statements of TRIMAIN and must be preallocated when program
TRIMAIN is executed. The input test data can be located in member TRIDATA
of the SAMPLIB dataset. Be sure to direct the program output to the
terminal by specifying TERM for the OUTFILE DD. The file list can be
created by accessing the File Allocation List screen (option 1 on the
XPEDITER Primary Menu or through the use of the ALLOC command).
To start the debugging session, press <ENTER>. XPEDITER/TSO processes
the file list, allocates the necessary datasets, loads the program
TRIMAIN, and displays the COBOL source code. You should be able to see
the message "Before Breakpoint Encountered" with the execution arrow
pointing to the PROCEDURE DIVISION statement. This means that TRIMAIN is
stopped before the start of the program. An example of the source code
display is shown in Figure 3-1.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| Before Breakpoint Encountered
|
| ------ ------------------------------------------------------ Before TRI
MAIN --|
| =====> B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR (TX).
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 3-1. Debugging Screen Showing TRIMAIN Program
To access HELP, press the <PF1> key. To terminate the debugging session
and return to the Standard screen, press the <PF4> (EXIT) key. If you
need to reload the program and test again from the beginning, type the
following command in the primary command line:
RETEST
The RETEST command resets all the breakpoints and data displays.

RETEST is not valid in Dialog, BTS, or IMS environments, or with DB2


databases.
3.2 Setting Breakpoints
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

You can control program execution by setting breakpoints and running the
program. A breakpoint is a certain location in your program where you
want program execution to stop so you can inspect the data the program is
processing and check the logic to make certain it is correct.
A simple way to set a breakpoint is to enter it from the line command
area. Move the cursor to the compiler-generated statement number 43 at
the OPEN verb, then type over the statement number with the B(efore) line
command, as shown in Part A of Figure 3-2, and press <ENTER>. A "B"
appears in column 9 on statement 43, as seen in Part B, indicating that a
BEFORE breakpoint has been set. This breakpoint causes program execution
to pause before executing the OPEN statement.

|---------------------------------------------------------------------------
---|
| Part A: Entering B Line Command on Statement 43
|
|---------------------------------------------------------------------------
---|
| =====> B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| B 043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
|---------------------------------------------------------------------------
---|
| Part B: BEFORE Breakpoint Displayed for Statement 43
|
|---------------------------------------------------------------------------
---|
| =====> B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 B OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
|---------------------------------------------------------------------------
---|

Figure 3-2. Entering a BEFORE Breakpoint on Line 43


Press <PF12> (GO) to execute TRIMAIN until the breakpoint is reached. The
program stops at statement 43, where the execution arrow is pointing. The
execution status field on the fourth line also shows that execution is at
"Before TRIMAIN.43," as shown in Figure 3-3.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| Before Breakpoint Encountered
|
| ------ --------------------------------------------------- Before TRIMAI
N.43 --|
| 000034 B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| =====> B OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR (TX).
|
| 00054 ENDING-PARA.
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 3-3. BEFORE Breakpoint at Statement 43
Press <PF9> (GO 1) to execute statements one-by-one. The program stops at
statement 44 after the input file is opened and before the OUT-OF-RECS
switch is set to "N." Type the SHOW FILE command in the primary command
line.
The DD names and DCB parameters that you generally specify in the JCL
statements are listed, together with the file I/O status, as shown in
Figure 3-4.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------- XPEDITER/TSO - SHOW ----------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------------------------------------------------------------ Before TRIMAI
N.44 --|
| ******************************* TOP OF DATA ******************************
**** |
| ** FILE ATTRIBUTES FOR APPLICATION MODULE TRIMAIN ***
|
| DSORG RECFM BLKSI L
RECL |
| NON-VSAM FILE FOR DDNAME INFILE OPEN DCB = PS FB 23440
80 |
| DSN=AXPTSO.QA.TSODATA.DATA JFCB= PO FB 23440
80 |
| MBR=TRIDATA
|
| DATA SET ALLOCATED ON VOLUME AXP001 DSCB= PO FB 23440
80 |
| ORGANIZATION = SEQUENTIAL ACCESS MODE = SEQUENTIAL RECFM = FB
|
| OPEN VERB OPTION = INPUT LAST I/O STATEMENT = OPEN STATUS = 0
0 |
|
|
| ** FILE ATTRIBUTES FOR APPLICATION MODULE TRIRPT ***
|
| DSORG RECFM BLKSI L
RECL |
| NON-VSAM FILE FOR DDNAME OUTFILE CLOSED DCB = PS -- 0
80 |
| DSN=*TERMINAL* JFCB= PS -- 0
0 |
| ORGANIZATION = SEQUENTIAL ACCESS MODE = SEQUENTIAL RECFM = FB
|
|
|
| ** END OF FILE ATTRIBUTE DISPLAY ***
|
| ****************************** BOTTOM OF DATA ****************************
**** |
|
|
Figure 3-4. File Attributes Displayed by the SHOW FILE Command
Press <PF3> (END) to return to the Source screen.
There are several variations of the breakpoint commands. A B line command
sets a BEFORE breakpoint. An A line command sets an AFTER breakpoint.
You may want to place an AFTER breakpoint on a conditional statement since
XPEDITER/TSO tells you what the next logical statement will be when the
breakpoint is encountered.
To remove breakpoints, enter the D(elete) line command on a line that has
a breakpoint and press <ENTER>.
3.3 Displaying Data Contents
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

In the TRIMAIN program, move the cursor to statement 42, where a table
would have been initialized with zeros, type over the statement number
with the P (PEEK) line command, and press <ENTER>. The screen
automatically scrolls up to the DATA DIVISION statement and displays the
data content of N-CNTR, as shown in Figure 3-5.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ --------------------------------------------------- Before TRIMAI
N.44 --|
| > 1 OCCUR
RENCE |
| 000027 10 N-CNTR > 0000 DE
CIMAL |
| 000028 01 OUT-OF-RECS PIC X.
|
| 000029 01 TRIANGLE-TYPE PIC 9.
|
| 000030 01 WORK-REC.
|
| 000031 05 SIDE-A PIC 9(01).
|
| 000032 05 SIDE-B PIC 9(01).
|
| 000033 05 SIDE-C PIC 9(01).
|
| 000034 B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 B OPEN INPUT INFILE.
|
| =====> MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 3-5. Displaying the Data Content of N-CNTR
Tab down to the arrow that shows the occurrence number and type over the 1
with a 2 and press <ENTER>. Continue typing over the occurrence number,
each time adding 1 to the previous number. Eventually, XPEDITER/TSO
displays the warning shown in Figure 3-6, indicating that the index
boundary has been reached.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| NUMBER EXCEEDS MAXIMUM OCCURRENCES FOR ITEM
|
| ------ --------------------------------------------------- Before TRIMAI
N.44 --|
| > 5 OCCUR
RENCE |
| 000027 10 N-CNTR > ???? INVALID DE
CIMAL |
| 000028 01 OUT-OF-RECS PIC X.
|
| 000029 01 TRIANGLE-TYPE PIC 9.
|
| 000030 01 WORK-REC.
|
| 000031 05 SIDE-A PIC 9(01).
|
| 000032 05 SIDE-B PIC 9(01).
|
| 000033 05 SIDE-C PIC 9(01).
|
| 000034 B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 B OPEN INPUT INFILE.
|
| =====> MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 3-6. Message Indicating That the Index Boundary Has Been Reached
Press <PF6> (LOCATE *) to scroll down to where the execution arrow is.
See Figure 3-7.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ --------------------------------------------------- Before TRIMAI
N.44 --|
| =====> MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR (TX).
|
| 000054 ENDING-PARA.
|
| 000055 CLOSE INFILE.
|
| 000056 CALL 'TRIRPT' USING NAME-N-CNTR-TABLE.
|
| ****** *********************** BOTTOM OF MODULE ************************
*** |
|
|
Figure 3-7. TRIMAIN After Entering LOCATE * Command
Place an A line command on statement 46, setting an AFTER breakpoint at
the READ statement. Next, type the K2 line command on statement 46 to
open a Keep window at the top of the screen and display the contents of
Working Storage item WORK-REC (the second variable identified on line 46).
The display is shown in Figure 3-8.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ---
|
| 000030 01 WORK-REC > ...
|
| ------ --------------------------------------------------- Before TRIMAI
N.44 --|
| =====> MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 A READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR (TX).
|
| 000054 ENDING-PARA.
|
| 000055 CLOSE INFILE.
|
| 000056 CALL 'TRIRPT' USING NAME-N-CNTR-TABLE.
|
| ****** ************************ BOTTOM OF MODULE ************************
***** |
|
|
Figure 3-8. Opening Up a Keep Window for the Second Variable (WORK-REC)
on Line 46
Press <PF12> (GO) to execute TRIMAIN. As shown in Figure 3-9, you can
see that record '345' was read when the READ verb was executed.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| Next logical instruction is TRIMAIN.49
|
| ---
|
| 000030 01 WORK-REC > 345
|
| ------ ---------------------------------------------------- After TRIMAI
N.46 --|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| ====>> A READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR (TX).
|
| 000054 ENDING-PARA.
|
| 000055 CLOSE INFILE.
|
| 000056 CALL 'TRIRPT' USING NAME-N-CNTR-TABLE.
|
| ***** ************************** BOTTOM OF MODULE ************************
***** |
|
|
Figure 3-9. Displaying a Variable in a Keep Window
Press <PF12> (GO) again. Paragraph ANALYZE-NEXT-REC is performed until
EOF, and the next record '789' is read in the second time through the
loop. WORK-REC is updated to reflect the change. As you execute your
program, XPEDITER/TSO updates the Keep window to reflect the current
values. You can also type over the displayed fields and modify the data
values as if the program had executed the MOVE statement.
3.4 Debugging Subroutines
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Statement 51 shows that the program TRIMAIN calls TRITST and passes
parameters WORK-REC and TRIANGLE-TYPE. In order to examine how TRITST is
processing these parameters, you might want to set a breakpoint at the
beginning of TRITST to gain control of the execution. Therefore, type the
following command in the primary command line:
BEFORE TRITST.
The period (.) after the program name indicates that a module-level
breakpoint is requested. Press <PF12> (GO) to execute the program.
XPEDITER/TSO pauses execution at the PROCEDURE DIVISION USING statement.
Now, type the following command in the primary command line.
PEEK LINKAGE
The Linkage Section shows that the correct values, '789' for TST-REC and
'0' for TYPE-OF-TRIANGLE were passed from the driver TRIMAIN.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRITST MODULE: TRITST COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------- Before TR
ITST --|
| ---
|
| 000010 01 TST-REC > 789
|
| 000011 05 A PIC 9.
|
| 000012 05 B PIC 9.
|
| 000013 05 C PIC 9.
|
| 000014 01 TYPE-OF-TRIANGLE > 0 DE
CIMAL |
| =====> B PROCEDURE DIVISION USING TST-REC
|
| 000016 TYPE-OF-TRIANGLE.
|
| 000017 VALIDATE-TRIANGLE.
|
| 000018 ADD A B GIVING A-N-B.
|
| 000019 ADD A C GIVING A-N-C.
|
| 000020 ADD B C GIVING B-N-C.
|
| 000021 IF (B-N-C NOT > A) OR (A-N-C NOT > B) OR (A-N-B NOT > C)
|
| 000022 MOVE 4 TO TYPE-OF-TRIANGLE.
|
| 000023 DETERMINE-TYPE.
|
| 000024 IF TYPE-OF-TRIANGLE = 4
|
| 000025 NEXT SENTENCE
|
| 000026 ELSE
|
| 000027 IF (A = B) AND (B = C)
|
| 000028 MOVE 1 TO TYPE-OF-TRIANGLE
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 3-10. Displaying LINKAGE SECTION in the Called Module TRITST
3.5 Analyzing Data Flow
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

To better understand how the parameters are processed in the subroutine,


XPEDITER/TSO allows you to cross-reference data and to analyze the data
flow in your program. The 01 level for TST-REC has three 05 levels: A,
B, and C. Essentially, the elementary items are the aliases of a group
item. Type the following command in the primary command line:
FIND TST-REC ALIAS
XPEDITER/TSO highlights all the statements that reference (DEFine,
MODify, USE) TST-REC and its aliases. The message shown in Figure 3-11 is
issued, which states how many data definitions were found.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| 24 DATA REFS: 4 DEFS, 20 USES FOUND FOR TST-REC
|
| ------ ------------------------------------------------------- Before TR
ITST --|
| ---
|
| 000010 01 TST-REC > 789
|
| 000011 05 A PIC 9.
DEF |
| 000012 05 B PIC 9.
DEF |
| 000013 05 C PIC 9.
DEF |
| 000014 01 TYPE-OF-TRIANGLE > 0 DE
CIMAL |
| =====> B PROCEDURE DIVISION USING TST-REC
USE |
| 000016 TYPE-OF-TRIANGLE.
|
| 000017 VALIDATE-TRIANGLE.
|
| 000018 ADD A B GIVING A-N-B.
2 USE |
| 000019 ADD A C GIVING A-N-C.
2 USE |
| 000020 ADD B C GIVING B-N-C.
2 USE |
| 000021 IF (B-N-C NOT > A) OR (A-N-C NOT > B) OR (A-N-B NOT > C)
3 USE |
| 000022 MOVE 4 TO TYPE-OF-TRIANGLE.
|
| 000023 DETERMINE-TYPE.
|
| 000024 IF TYPE-OF-TRIANGLE = 4
|
| 000025 NEXT SENTENCE
|
| 000026 ELSE
|
| 000027 IF (A = B) AND (B = C)
4 USE |
| 000028 MOVE 1 TO TYPE-OF-TRIANGLE
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 3-11. Finding Statements That Reference TST-REC
The analysis concludes that parameter TST-REC is USEd, but never MODified
in the subroutine. What about parameter TYPE-OF-TRIANGLE? Type the
following command in the primary command line:
FIND TYPE-OF-TRIANGLE MOD
The message "4 DATA MODS FOUND FOR TYPE-OF-TRIANGLE" is displayed in the
message line, as shown in Figure 3-12, which means that the parameter is
MODified four times.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| 4 DATA MODS FOUND FOR TYPE-OF-TRIANGLE
|
| ------ ------------------------------------------------------- Before TR
ITST --|
| ---
|
| 000010 01 TST-REC > 345
|
| 000011 05 A PIC 9.
|
| 000012 05 B PIC 9.
|
| 000013 05 C PIC 9.
|
| 000014 01 TYPE-OF-TRIANGLE > 0 DEC
IMAL |
| =====> B PROCEDURE DIVISION USING TST-REC
|
| 000016 TYPE-OF-TRIANGLE.
|
| 000017 VALIDATE-TRIANGLE.
|
| 000018 ADD A B GIVING A-N-B.
|
| 000019 ADD A C GIVING A-N-C.
|
| 000020 ADD B C GIVING B-N-C.
|
| 000021 IF (B-N-C NOT > A) OR (A-N-C NOT > B) OR (A-N-B NOT > C)
|
| 000022 MOVE 4 TO TYPE-OF-TRIANGLE.
MOD |
| 000023 DETERMINE-TYPE.
|
| 000024 IF TYPE-OF-TRIANGLE = 4
|
| 000025 NEXT SENTENCE
|
| 000026 ELSE
|
| 000027 IF (A = B) AND (B = C)
|
| 000028 MOVE 1 TO TYPE-OF-TRIANGLE
MOD |
|
|
|---------------------------------------------------------------------------
-------|
Figure 3-12. Result of Entering FIND TYPE-OF-TRIANGLE MOD Command
The FIND command under XPEDITER/TSO is sensitive to COBOL-structure
keywords as well as data reference keywords. For instance, you can use
the FIND command to search conditional statements or I/O statements. The
highlighting effect helps you capture the program logic and understand
what the program does.
3.6 Tracing Logic Flow
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Subroutine TRITST evaluates the type of triangle by using TST-REC and


updates TYPE-OF-TRIANGLE. Paragraph DETERMINE-TYPE (statement 23) has a
nested IF structure. XPEDITER/TSO can automatically trace the logic flow
to show which path was chosen. Type the following command in the primary
command line:
TRACE ALL STATEMENTS;GO
Tracing pauses when the AFTER breakpoint is reached when control is
returned to the calling module TRIMAIN, as shown in Figure 3-13.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| Next logical instruction is TRIMAIN.49
|
| ---
|
| 000030 01 WORK-REC > 563
|
| ------ ---------------------------------------------------- After TRIMAI
N.46 --|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| ====>> A READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR (TX).
|
| 000054 ENDING-PARA.
|
| 000055 CLOSE INFILE.
|
| 000056 CALL 'TRIRPT' USING NAME-N-CNTR-TABLE.
|
| ****** *********************** BOTTOM OF MODULE ************************
***** |
|
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 3-13. Tracing is Paused for the AFTER Breakpoint in the Calling
Module TRIMAIN
Press <PF12> (GO) to return to TRITST again. If execution is too fast
for you to follow, type the following command in the primary command line
to control the tracing speed:
SET DELAY 1;GO
Otherwise, press <PF12> (GO) to trace through TRITST.
3.7 Review Mode
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Type the following command in the primary command line:


MONITOR ALL
Press <PF12> (GO) to start execution, followed by another <PF12> (GO) to
continue execution. When the AFTER breakpoint is reached in TRIMAIN, type
the following command in the primary command line to change the direction
of execution processing:
REVERSE
The execution status line shows that XPEDITER/TSO is reviewing in the
reverse direction. See Figure 3-14.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| Next logical instruction is RESUME EXECUTION
|
| ---
|
| 000030 01 WORK-REC > 345
|
| ------ -------------------------------------------Reverse - After TRIMAI
N.46 --|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| ====>> A READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR (TX).
|
| 000054 ENDING-PARA.
|
| 000055 CLOSE INFILE.
|
| 000056 CALL 'TRIRPT' USING NAME-N-CNTR-TABLE.
|
| ****** *********************** BOTTOM OF MODULE ************************
****** |
|
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 3-14. Review Mode Execution
Now step through each statement backwards by pressing <PF9> (GO 1)
several times. Data values in the Keep window reshow the original state
as the MOVE, ADD, and READ verbs are being "undone."
You can remove the Keep window by typing the following command in the
primary command line:
DELETE KEEP
If you want to remove a certain data item from the Keep window, enter the
D line command on the appropriate line. Press <PF4> (EXIT) to exit the
debugging session and to return to the Standard screen.
4.0 Chapter 4. Getting Started
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
To prepare for an XPEDITER/TSO debugging session, you must do the
following:
1. Invoke the Primary Menu for XPEDITER.
2. Compile and link edit your program. If your program is a DB2 program,
precompile, compile and link edit your program, and bind your program
application plan.
3. Identify files and databases that need to be preallocated. Refer to
Appendix B, "Allocating Your Test Data Files" in topic B.0.
4. Select the appropriate execution environment and specify the debugging
parameters.
5. If the XPEDITER for DB2 Extension and File-AID for DB2 are installed
at your site, and you will be using either product during your
debugging session, bind your program application plan with File-AID
for DB2.
Refer to Appendix F, "Binding the Application Plan" in topic F.0 for
more information.
6. Optionally, specify defaults for your terminal characteristics, PF
keys, screen colors, and profile. Refer to Appendix D, "Specifying
Defaults" in topic D.0 for information on how to specify these
defaults.
7. Optionally, set up your debugging session defaults (using the SETUP
command). Refer to Appendix C, "Specifying SETUP Options" in
topic C.0 for information on how to specify these defaults.

4.1 The Primary Menu for XPEDITER


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Primary Menu is the first screen displayed upon entry to


XPEDITER/TSO. The Primary Menu allows you to access facilities that are
used to prepare and set up for an XPEDITER/TSO session and provides a
gateway to other Compuware products. The Primary Menu for XPEDITER is
shown in Figure 4-1.
Note: The FADB2 and BIND options will not be displayed on this menu if
the XPEDITER for DB2 Extension and File-AID for DB2 are not installed.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------ XPEDITER/TSO 5.3 - PRIMARY MENU -----------------
----- |
| OPTION ===>
|
|
|
| 0 DEFAULTS - Specify defaults
|
| 1 ALLOCATE - Create and maintain file allocation lists
|
| 2 XPEDITER - Debug and test applications interactively
|
| 3 UTILITIES - Perform utility functions
|
| 4 BATCH - Submit jobs and connect to a batch region
|
| 5 CICS - Connect to a CICS region
|
| 8 COMPILE - Prepare programs for debugging and analysis
|
| 9 BIND - BIND application plan for File-AID DB2
|
| FD FADB2 - File-AID for DB2
|
| PV PATHVU - Analyze COBOL programs
|
| B BULLETIN - Display release announcement
|
| T TUTORIAL - Display information on Compuware products
|
| X EXIT - Exit primary menu
|
|
|
| Profile ===> DEFAULT - **** NO DESCRIPTION ****
|
|
|
| Copyright (C) 1992 by Compuware Corporation. All rights reserved.
|
| (800) 538-7822
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-1. The Primary Menu for XPEDITER
The Primary Menu has the following options:
Option 0 Specifies defaults for your terminal, PF keys, profile, and
screen colors. Refer to Appendix D, "Specifying Defaults" in
topic D.0.
Option 1 Specifies files and databases that need to be preallocated for
application programs to execute. Refer to Appendix B,
"Allocating Your Test Data Files" in topic B.0.
Option 2 Invokes XPEDITER/TSO or XPEDITER/IMS to debug application
programs. Refer to "Selecting Your Environment" in topic 4.4.
XPEDITER/TSO supports the following types of programs:
* Standard batch applications
* ISPF DIALOG applications
* Batch applications that issue database calls (IMS/DB, DB2,
IDMS/DB, ADABAS, and SUPRA)
* IMS/DC programs using BTS
* HOGAN applications (BATCHPEM, DLIPEM, BMPPEM, and IMSPEM)
XPEDITER/IMS supports the following types of programs:
* IMS/DC programs executing in the IMS message, BMP, or Fast
Path region
* HOGAN applications executing in the IMS message region
XPEDITER/TSO is integrated with the File-AID for DB2 product
so you can invoke File-AID for DB2 from within a STANDARD,
IMS/DB, and BTS XPEDITER/TSO debugging session. However,
File-AID for DB2 cannot be invoked from within a DIALOG or
HOGAN debugging session.
Option 3 Accesses miscellaneous utility functions, such as query
available region size, list dataset allocations, maintain SIR
datasets, and convert profiles from previous releases. Refer
to Appendix E, "Using Utilities" in topic E.0.
Option 4 Lets you execute an XPEDITER/TSO debugging session in batch
and interactively connect to that batch job.
Option 5 Lets you connect to a CICS region and test a CICS transaction.
Option 8 Compiles your programs and generates the Shared Information
Repository (SIR) records that are used to allow symbolic
debugging. Refer to "Compiling With the SIR Processor" in
topic 4.2.
Option 9 Binds a DB2 program application plan with File-AID for DB2.
Refer to Appendix F, "Binding the Application Plan" in
topic F.0.
Option FD Directly invokes File-AID for DB2. File-AID for DB2 is a
powerful and easy to use DB2 database management, application
development, and performance analysis tool. Refer to the
File-AID for DB2 Reference Manual for information about using
File-AID for DB2.
Option PV Invokes the PATHVU products (PATHVU/Interactive and/or PATHVU)
to analyze program and data flow. PATHVU/Interactive is an
interactive source analysis tool that automates the task of
analyzing OS/VS COBOL and VS COBOL II programs. It lets you
display a program physically in a Source display, and
logically in a Tree diagram. PATHVU/Interactive's visual
representation of the program lets you analyze the logic and
structure of the program without executing the code. Refer to
the PATHVU/Interactive User's Guide for complete, detailed
information on using the PATHVU/Interactive product. PATHVU
employs a variety of software metrics to analyze the
structure, complexity, and logic of syntactically correct
COBOL source code or compiler listings and to compare the
characteristics of programs and entire systems. Refer to the
PATHVU Reference Manual for complete, detailed information on
using the PATHVU product.
Option B Displays general information about Compuware's products and a
summary of amendments.
Option T Accesses the tutorial HELP system.
Option X Exits from the Primary Menu.
Profile Specifies the current profile. Refer to "Profile Handling" in
topic 4.3.
4.2 Compiling With the SIR Processor
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

In order to debug your programs symbolically at the source level, you


must compile or assemble your source programs using the Shared Information
Repository (SIR) processor. The SIR processor can be invoked through the
use of the Compile screen (option 8 on the Primary Menu).

4.2.1 Shared Information Repository


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The SIR is a partitioned dataset that contains program information such


as data relationships, program structures, and execution paths, in
addition to symbolic information such as the DMAP, PMAP, and source
statements. XPEDITER/TSO refers to the symbolic information and maps the
source representation to the load module, so that you can debug your
program interactively at the source level.
To create the SIR records, you must compile or assemble your programs
using the SIR processor. The SIR processor invokes the appropriate
language translator, waits until the compilation or assembly step is
complete, analyzes the listing, and produces a SIR member. The SIR
processor does not require source code changes nor does it alter the load
module. Also, it coexists with any preprocessor.
The same SIR processor can be used for PATHVU/Interactive and the XPEDITER
product family (XPEDITER/TSO, XPEDITER/IMS, XPEDITER/CICS (releases 3.1 or
below), XPEDITER/ROS).
4.2.2 Compile Processor Menu
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Compile Processor Menu shown in Figure 4-2 is displayed when you
select option 8 from the Primary Menu. Both batch and interactive
processing are supported. Your specific site options determine which
selections are actually available on the Compile Processor Menu.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------ XPEDITER/TSO - COMPILE PROCESSOR MENU (8) -------------
------ |
| OPTION ===>
|
|
|
| BACKGROUND (BATCH) FOREGROUND (INTERACTIVE)
|
| ----------------------- -------------------------
|
| 1 OS/VS COBOL 11 OS/VS COBOL
|
| 2 VS COBOL II 12 VS COBOL II
|
| 3 COBOL/370 13 COBOL/370
|
| 4 CA OPTIMIZING COBOL 14 CA OPTIMIZING COBOL
|
| 5 IBM ASSEMBLER XF 15 IBM ASSEMBLER XF
|
| 6 IBM ASSEMBLER H 16 IBM ASSEMBLER H
|
| 7 IBM LINKAGE EDITOR 17 IBM LINKAGE EDITOR
|
|
|
| SOURCE DATA ONLINE ===> YES (YES or NO)
|
| SOURCE DATA PACKED ===> NO (YES or NO)
|
|
|
| JOB STATEMENT INFORMATION: (Verify before proceeding)
|
|
|
| ===> //ASJUSR1X JOB (ACCOUNT),'NAME',CLASS=A,MSGCLASS=A
|
| ===> //*
|
| ===> //*
|
| ===> //*
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-2. Compile Processor Menu Screen
The appropriate SIR processor is selected by number from the list of
supported language translators on the Compile Processor Menu. If you
select any BACKGROUND (BATCH) processing option, you must verify the job
card for validity before pressing ENTER to continue to the next compile
screen. Enter information in the following fields as required:
SOURCE DATA ONLINE
Specify whether the data to be processed resides on a currently
mounted volume. If YES, ISPF checks the dataset information
that you enter on the next compile screen and lets you display a
member list. If NO, ISPF assumes that the data cannot be
referenced except by a batch job.
SOURCE DATA PACKED
Specify whether or not any part of the source code, including
copy and macro libraries, is stored in "packed" format. If YES,
ISPF preprocesses your source code by unpacking it and resolving
any COPY statements or macros.
JOB STATEMENT INFORMATION
Enter a valid job card if you select a BATCH processing option.
All of the rules of JCL must be followed.
4.2.3 Compile Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Compile screen, for the type of language translator you selected, is
displayed next. Figure 4-3 shows the screen for a batch OS/VS COBOL
language translator.
Notes:

1. The screen for an interactive compile does not have the EDIT command
option or the SYSOUT Class field. Otherwise, the screens for batch
and interactive compiles are similar.
2. The screen for an assembly displays "Assembly Options" instead of
"Compiler Options" as displayed for a compile screen.
3. The screen for an IBM Linkage Editor does not display the Compiler
Options, Object Library, or SIR Library fields.
The following commands can be entered from these screens:
SETUP Accesses a submenu and lets you specify the copy and macro
libraries to be used during the compile step. See "Compile
Libraries Screen" in topic 4.2.4 for a description of this screen.
EDIT Causes the generated JCL for batch compilation to be presented for
editing before job submission. See "Edit JCL Screen" in
topic 4.2.5 for an example of this screen.
|---------------------------------------------------------------------------
-------|
|
|
| --------------------------- BATCH OS/VS COBOL COMPILE --------------------
------ |
| COMMAND ===>
|
|
|
| ISPF LIBRARY: COMMANDS: SEtup (SYSLIB) Edit (JCL)
|
| Project ===>
|
| Group ===> ===> ===> ===>
|
| Type ===>
|
| Member ===> (Blank or pattern for member selection list
) |
|
|
| OTHER PARTITIONED OR SEQUENTIAL DATA SET:
|
| Data Set Name ===>
|
|
|
| List ID ===> (Blank for hardcopy listing)
|
| SYSOUT Class ===> (If hardcopy requested)
|
| Compiler Options ===> BUF=256K,SIZE=512K
|
|
|
| Object Library ===> 'ASJUSR1.XPEDITER.LINKLIB'
|
| SIR Library ===> 'ASJUSR1.XPEDITER.SIR'
|
|
|
| Linkedit ===> YES (Yes,No)
|
| Linkedit Options ===> LIST,LET
|
| Load Library ===> 'ASJUSR1.SIR8920.LOADLIB'
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-3. Batch Compile Screen
The fields on the Compile screen are:
ISPF LIBRARY/OTHER Data Set Name
Specify the input source to the language translator. It can be
a single member of a PDS or a sequential dataset.
If you omit the member name, a member list is displayed from
which you can select a member. If this is a batch compile, you
must have specified YES in the SOURCE DATA ONLINE field on the
Compile Processor Menu in order to display the member list.
List ID/SYSOUT Class
Required in interactive mode. Specify the destination of the
compile listing and the SYSOUT class to be used for printing.
The compile listing can be directed to the terminal, a file, or
a printer.
If the following fields are specified:
List ID ===> (Blank for hardcopy listing)
SYSOUT Class ===> A (If hardcopy requested)
the list output is sent to SYSOUT=(A).
If the following fields are specified:
List ID ===> LIST1
SYSOUT Class ===>
the list output is written to a sequential dataset named
'prefix.LIST1.LIST' where prefix is your TSO dataset prefix.
Compiler Options
Specify the compiler options to be used. XPEDITER/TSO requires
certain compiler options. Refer to Appendix A, "Compiler and
Assembler Options" in topic A.0 for required compiler and
assembler options.
Object Library
Specify the name of the library in which object code is to be
placed. If you do not supply an object library name, the
object module of the compilation will not be retained.
SIR Library
Specify the name of the library in which the SIR is to be
placed. If you do not supply a SIR library, one is created for
you. If the input is from an ISPF library, SIR output from the
compile processor is placed in a PDS specified by the first
library, but with the dataset type of "SIR." The member name
of the output is the same as the input member.
Linkedit Linkage editing can be combined with the compile process by
specifying YES in the Linkedit field, and then supplying the
necessary linkage editor options.
Linkedit Options
The following is a list of valid linkage editor options:
ALIGN DCBS LET LIST
MAP NCAL NE OL
REFR RENT REUSE SIZE
TERM TEST XCAL XREF
The overlay (OVLY) link-edit option is not supported.
Load Library
Specify the name of the load library. If you do not supply a
load library, one is created for you.
4.2.4 Compile Libraries Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Compile Libraries screen (see Figure 4-4) is displayed when you type
SETUP on the Compile screen. SYSLIB datasets are used as input for the
COPY statements and macro expansions when compiling, and for the
resolution of external symbols when link editing. SYSLIB libraries are
defined using the SETUP command.
Note: If you selected the IBM Linkage Editor as the language translator,
the SYSLIB DSNAME(s) for COMPILATION fields do not appear on the screen.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------- OS/VS COBOL COMPILE LIBRARIES ------------------
------ |
| COMMAND ===>
|
|
|
| SYSLIB DSNAME(s) for COMPILATION
|
| (1) ===>
|
| (2) ===>
|
| (3) ===>
|
| (4) ===>
|
| (5) ===>
|
| (6) ===>
|
| (7) ===>
|
| (8) ===>
|
|
|
| SYSLIB DSNAME(s) for LINKEDIT
|
| (1) ===>
|
| (2) ===>
|
| (3) ===>
|
| (4) ===>
|
| (5) ===>
|
| (6) ===>
|
| (7) ===>
|
| (8) ===>
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-4. Compile Libraries Screen
The fields for the Compile Libraries screen are:
SYSLIB DSNAME(s) for COMPILATION
Enter up to eight dataset names for the copy and macro libraries
that need to be processed. These libraries appear in sequence
after the user input library and before any compile library and
'SYS1.MACLIB'.
SYSLIB DSNAME(s) for LINKEDIT
Enter up to eight dataset names for link-edit external symbol
resolution. These libraries are concatenated in the sequence
entered after the user load library and before 'SYS1.LINKLIB'.
4.2.5 Edit JCL Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The edit JCL screen (see Figure 4-5) is displayed when you type EDIT on
the Compile screen. You can edit your JCL before you submit it. Use the
<PF7> (UP) and <PF8> (DOWN) keys to scroll through the JCL.
When you exit from this panel, your JCL is automatically submitted for
execution unless you use the CANCEL command. If you CANCEL, you are
returned to the Compile screen and the JOB is not submitted for execution.
|---------------------------------------------------------------------------
-------|
|
|
| EDIT ---- ASJUSR1.SPFTEMP1.CNTL ------------------------------- COLUMNS 00
1 072 |
| COMMAND ===> SCROLL ===>
PAGE |
| ****** ***************************** TOP OF DATA *************************
* |
| 000001 //ASJUSR1X JOB (ASJUSR1),'USER1',CLASS=A,MSGCLASS=Z
|
| 000002 //*
|
| 000003 //*
|
| 000004 //*
|
| 000005 //*
|
| 000006 //*
|
| 000007 //COBOL EXEC PGM=ADSIR100,REGION=1024K,COND=(8,LT),
|
| 000008 // PARM=('BUF=256K,SIZE=512K')
|
| 000009 //*
|
| 000010 //STEPLIB DD DSN=AXPSIR.PROD8920.LOADLIB,DISP=SHR,
|
| 000011 // DCB=BLKSIZE=32760
|
| 000012 // DD DSN=SSPSYS.COB024.VSCOLIB,DISP=SHR
|
| 000013 //SYSPRINT DD SYSOUT=(SYSA)
|
| 000014 //SYSPUNCH DD DUMMY
|
| 000015 //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(2,2))
|
| 000016 //SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(2,2))
|
| 000017 //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(2,2))
|
| 000018 //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(2,2))
|
| 000019 //SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(2,2))
|
| 000020 //SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(2,2))
|
| 000021 //SYSLIN DD DSN=ASJUSR1.XPED.LINKLIB(TRIMAIN),DISP=OLD
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-5. Edit JCL Screen
4.3 Profile Handling
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The user profile contains some of the changes you make to the XPEDITER
defaults. This includes installation defaults established by your system
programming staff, and most importantly, environment parameters and SETUP
options for your debugging session.
Changes to the user profile can be made by entering 0.4 in the OPTION
field of the Primary Menu. You are also able to perform some profile
functions right on the Primary Menu.
The PROFILE field on the Primary Menu contains the current profile
identifier and description. This field lets you do the following:
Switch to a new profile: To do this, type over the profile identifier
with a new identifier. The identifier can be any 8-character name or
number. When you change the profile specified in this field, the
profile change becomes effective immediately.
If the profile does not exist, a new profile is created with default
values. You are then taken to the Profile screen shown in Figure 4-6
to enter a description for the new profile.
List the existing profiles: To do this, type a question mark (?) in
the PROFILE field. The Profile screen shown in Figure 4-6 is
displayed.
The Profile screen can also be reached by entering option 0.4 on the
Command line of the Primary Menu or with the PROFILE command from a test
panel. See "Specifying User Profiles" in topic D.4 and "The PROFILE
Command" in topic D.4.1 for additional information.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------ XPEDITER/TSO - PROFILE (0.4) --------------------
----- |
| COMMAND ===>
|
|
|
| LINE COMMANDS: S (Select) D (Delete) C (Copy) R (Rename) U (U
se) |
|
|
| PROFILE ID:
|
| Profile ===> 1 > Default Profile
< |
|
|
| CMD PROFILE NEW NAME DESCRIPTION
|
| --------------------------------------------------------------------------
---- |
| _ * 1 > Default Profile
< |
| _ 2 > SIR 8925 Test Cases
< |
| _ 3 > SIR 8920 Test Cases
< |
| _ 5 > Default Profile
< |
| _ 10 > IMS 2.2 Production
< |
| _ 11 > IMS 3.1 Test
< |
| _ 20 > VS COBOL II 3.2 RES DYNAM AMODE=31 RMODE=ANY
< |
| _ 21 > VS COBOL II 3.2 NORES MIXRES
< |
| _ 22 > VS COBOL II 2 RES DYNAM
< |
| _ 23 > VS COBOL II 2 NORES
< |
| _ 24 > VS COBOL II 2.4 NORES
< |
| ******************************* BOTTOM OF DATA ***************************
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-6. Profile Screen

The PROFILE ID field at the top of the screen can be used to switch to a
new profile or change the description of a profile.
The scrollable area of the screen has a line for each existing profile and
a line command area. Use the line commands displayed at the top of the
screen to make a particular profile current, delete a profile, copy a
profile, or rename a profile.
For additional information on the Profile screen and its features refer to
"Specifying User Profiles" in topic D.4.
4.4 Selecting Your Environment
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

When you initially invoke an XPEDITER test session, option 2 (XPEDITER)


on the Primary Menu displays a submenu (shown in Figure 4-7) that lets you
select the environment in which your program is to be executed. (For
subsequent invocations, you must enter SETUP from the command line of the
displayed test screen and select option 0 (ENVIRONMENT) from the Test
Setup Menu.) The range of environment options available on this menu
depends on the site defaults set by your installer. Each option on the
Environments Menu accesses the appropriate test screen that allows you to
specify the program name and other parameters associated with that
particular environment before initiating a debugging session.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ----- XPEDITER/TSO - ENVIRONMENTS MENU (2) --------------
------ |
| OPTION ===>
|
|
|
| Select Environment:
|
|
|
| XPEDITER/TSO
|
| 1 STANDARD - Test a program with no special environment service
s |
| 2 DIALOG - Test programs that make ISPF dialog manager calls
|
| 3 IMS - Test a program that makes IMS/DB calls
|
| 4 BTS - Test programs using BTS
|
| 5 BATCHPEM - Test a program in a HOGAN BATCHPEM environment
|
| 6 DLIPEM - Test a program in a HOGAN DLIPEM/BMPPEM environmen
t |
| 7 IMSPEM - Test a program in a HOGAN BTS IMSPEM environment
|
|
|
| XPEDITER/IMS
|
| 8 MPP - Test programs in an IMS message region
|
| 9 BMP/IFP - Test a program in a BMP or Fast Path region
|
| 10 IMSPEM - Test HOGAN IMSPEM in an IMS message region
|
| 11 BMPPEM - Test HOGAN BMPPEM in a BMP region
|
|
|
|
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-7. Environments Menu
The XPEDITER/TSO options (1 through 7) invoke a debugging session and
execute the application program in the TSO address space.
The XPEDITER/IMS options (8 through 11) invoke a debugging session and
execute the IMS/DC application program in the message region, the BMP
region, and the Fast Path region.
If you are developing IMS/DC applications, XPEDITER/IMS provides the
capability of debugging IMS/DC programs that are actually running in the
IMS dependent regions, whereas XPEDITER/TSO provides the capability of
debugging IMS/DC applications with the use of a simulator (BTS) under TSO.
Operations of XPEDITER/IMS, however, require at least one logical TSO
terminal and one logical IMS terminal (it can be an ATM terminal), both on
the same CPU.

4.4.1 Guidelines for Selecting an Environment


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The following table summarizes the environment options to choose,


depending on the type of application you wish to debug.
|-----------------|------------------------------------------------------|
| Environment | Type of Application Program |
| Option | |
|-----------------|------------------------------------------------------|
| STANDARD | * Batch programs that process QSAM and VSAM files. |
| | |
| | * Batch programs that issue EXEC SQL (DB2) |
| | statements. |
| | |
| | * Batch programs that issue third-party database |
| | calls (IDMS/DB, ADABAS, TOTAL, TIS, SUPRA, |
| | DATACOM/DB, System 2000). |
|-----------------|------------------------------------------------------|
| DIALOG | * Dialog applications that are composed of panels, |
| | CLISTs, load modules, messages, command tables, |
| | and file-tailoring skeletons. |
|-----------------|------------------------------------------------------|
| IMS | * Batch programs that issue CBLTDLI (IMS/DB) |
| | calls. |
| | |
| | * Batch programs that issue CBLTDLI (IMS/DB) calls |
| | and EXEC SQL (DB2) statements. |
| | |
| | * Batch BMP programs. Databases must be |
| | preallocated to TSO. See also environment |
| | BMP/IFP. |
|-----------------|------------------------------------------------------|
| BTS | * IMS/DC MPP programs with the use of BTS. See |
| | also environment option MPP. |
|-----------------|------------------------------------------------------|
| BATCHPEM | * HOGAN BATCHPEM applications or the BATCHPEM |
| | driver module itself. |
|-----------------|------------------------------------------------------|
| DLIPEM | * HOGAN DLIPEM applications or the DLIPEM driver |
| | module itself. |
| | |
|-----------------|------------------------------------------------------|
| IMSPEM | * HOGAN IMSPEM applications or the IMSPEM driver |
| | module itself with the use of BTS. |
|-----------------|------------------------------------------------------|
| MPP | * IMS/DC MPP programs in the IMS message region. |
| | See also environment option BTS. |
|-----------------|------------------------------------------------------|
| BMP/IFP | * Transaction-driven BMP programs in the IMS BMP |
| | region. See also environment option IMS. |
| | |
| | * Fast Path programs in the IMS Fast Path region. |
|-----------------|------------------------------------------------------|
| IMSPEM | * HOGAN IMSPEM applications or the IMSPEM driver |
| | module itself in the IMS MPP region. |
|-----------------|------------------------------------------------------|
| BMPPEM | * HOGAN BMPPEM applications or the BMPPEM driver |
| | module itself in the IMS BMP region. |
|-----------------|------------------------------------------------------|
Table 4-1. Guidelines for Choosing an Environment Option
4.5 Setting Up the Test Screens
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The structure diagram in Figure 4-8 shows the menu hierarchy of the
execution environments you can select.
|---------------------------------------------------------------------------
-------------|
|
|
| |------------------|
|
| | |
|
| | XPEDITER/TSO |
|
| | Environments |
|
| | |
|
| |--------|---------|
|
| |
|
| |--------|----------|-------------|--------|---------|---------|
|
| | | | | | | |
|
| | | |---|----------| | | | |--|---
--------| |
| | | |-|------------| | | | | |-|------
------| | |
||-------|------| | |-|------------| | | | |------|-------| | |-|--------
----| | | |
|| STANDARD | | | DIALOG | | | | | IMS | | | BTS
| | | |
|| (Option 1) | | | (Option 2) | | | | | (Option 3) | | | (Option
4) | | | |
||--------------| | |-|------------| | | | |--------------| | |-|--------
----| | | |
| | |-|------------| | | | |-|------
------| | |
| | |---|----------| | | |------
--------| |
| | | | |
|
| | |-------|------| | |
|
| | | DIALOG | | |
|
| | | Invoke | | |
|
| | |--------------| | |
|
| | | |
|
| |------|-------| |-------|------| |------|-------|
|
| | BATCHPEM | | DLIPEM | | IMSPEM |
|
| | (Option 5) | | (Option 6) | | (Option 7) |
|
| |--------------| |--------------| |--------------|
|
|
|
| |------------------|
|
| | |
|
| | XPEDITER/IMS |
|
| | Environments |
|
| | |
|
| |--------|---------|
|
| |
|
| |-------------------|-------------|---------|----------------------
| |
| | | |
| |
| |---|----------| | |---|----------|
| |
| |-|------------| | | |-|------------| |
| |
||-|------------| | | |---|----------| |-|------------| | | |------
|--------| |
|| MPP | | | | BMP/IFP | | IMSPEM | | | | BMP
PEM | |
|| (Option 8) | | | | (Option 9) | | (Option 10) | | | | (Opt
ion 11) | |
||-|------------| | | |--------------| |-|------------| | | |------
---------| |
| |-|------------| | |-|------------| |
|
| |--------------| |--------------|
|
|
|
||---------| |----------| |----------| |----------| |----------| |
---------| |
|| | | | | | | | | | |
| |
|| SETUP | | BTSIN | | SYSIN | | INTER | | LOG | |
SCRIPT | |
|| | | | | | | | | | |
| |
||---------| |----------| |----------| |----------| |----------| |
---------| |
|
|
|---------------------------------------------------------------------------
-------------|
Figure 4-8. Diagram of the Execution Environments
Each option in Figure 4-8 represents the test screen for the environment.
The test screens let you specify the environment parameters and initiate a
debugging session.
Every test screen has a set of submenus that can be accessed by entering
the following commands:
SE (SETUP) Displays the Setup screens where the commonly allocated
libraries can be specified. The setup options are initialized
by the default values defined by your site installer; however,
you can override them through these screens. Valid for all
test screens.
L, LO (LOG) Browse the session log. The log file contains a record of the
commands that were entered during the debugging session and
the responses to them.
The LOG command is valid on all the test screens but is not
displayed until after you execute a program.
SC (SCRIPT) Browse and edit the test script created during the debugging
session. A sequential test script file contains commands
recorded during the debugging session. The generated test
script must be moved to a member of an INCLUDE library for it
to be executed.
The SCRIPT command is valid on all the test screens but is not
displayed until after you execute a program.
BT (BTSIN) Displays a list of BTS transactions that you can select to
debug. Any transactions selected through the use of the BTSIN
command are automatically entered on the BTS or HOGAN IMSPEM
screen.
The BTSIN command is valid only on the BTS and HOGAN IMSPEM
screens.
SY (SYSIN) Displays the HOGAN SYSIN dataset, so you can edit the control
cards. The SYSIN command is valid only on the HOGAN screens.
IN (INTER) Displays a list of transactions that are intercepted by
XPEDITER/IMS. The commands let you monitor the XPEDITER/IMS
activities.
UP (UP) Scrolls toward the top of your screen. Scrolling up rolls the
screen downward, bringing the previous section of the data
into view.
DO (DOWN) Scrolls toward the end of your screen. Scrolling down rolls
the screen upward, bringing the following section of the data
into view.

4.5.1 STANDARD Test Screen - Environments Menu - Option 1


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Standard screen shown in Figure 4-9 lets you specify the standard
environment parameters and initiate a debugging session. Batch programs
that process QSAM or VSAM files, and batch programs that issue database
calls other than IMS/DB (DB2, IDMS/DB, ADABAS, TOTAL, TIS, SUPRA) can be
executed in this environment.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT -------- XPEDITER/TSO - STANDARD (2.1) ------------------
----- |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu)
|
|
|
| TEST SELECTION CRITERIA:
|
| Program ===> TRIMAIN
|
| Entry Point ===>
|
| Load Module ===>
|
|
|
| Initial Script ===>
|
| Post Script ===>
|
|
|
| PARM String ===>
|
|
|
|
|
|
|
| File Allocation List ===> XPEDITER.FLIST(TRIMAIN)
|
|
|
| Is This a DB2 Test? ===> NO Plan ===> System ===>
|
| Test Case Facility? ===> Test Case Name ===>
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-9. STANDARD Screen
The fields on this screen are described below:
Program Required. Enter the name of the load module.
Note: If executing other than the linked entry name, then the
program name is the CSECT name and the load module name must be
specified under Load Module.
Entry Point
Enter an alternate entry point if execution is to start at a
point other than the link-edited entry point.
Load Module
Enter only if executing a CSECT other than the link-edited
entry point of a load module, such as unit testing CSECTS
within a load module.
Initial Script
Enter the member name of a test script if you wish to execute a
predefined command stream at the beginning of the debugging
session.
Post Script
Enter the member name of a test script if you wish to execute a
predefined command stream at the end of the debugging session.
PARM String
Enter the parameter string if the program (and any called
programs) expects a run-time parameter. You can enter up to
100 characters in this field.
If the run-time parameter consists of several substrings
separated by commas, or if it contains special characters (/,
=, etc.), enclose the entire parameter in quotes (single or
double).
File Allocation List
Enter the dataset name that contains the file list, CLIST, or
JCL. The File Allocation Utility (FAU) preallocates files and
databases that will be processed by the program upon entry to
the debugging session.
If the member name of a PDS is omitted, a member list is
displayed.
If the dataset contains a CLIST, XPEDITER/TSO immediately
executes it and begins the debugging session.
If the dataset contains a file list or JCL, the FAU is invoked
to dynamically allocate the specified files before beginning
the debugging session. See Appendix B, "Allocating Your Test
Data Files" in topic B.0 for detailed information about the
FAU.
Is This a DB2 Test?
Enter YES if the program executes EXEC SQL statements.
XPEDITER/TSO executes the DSN RUN command and establishes the
DB2 environment upon entry to the debugging session. The
default value is NO.
Plan Enter the DB2 plan name generated during the bind process. If
omitted, the plan name defaults to the name specified in the
Program field.
System Enter the DB2 subsystem name. The subsystem name depends on
the release level of DB2 allocated to the DSNLOAD library
specified on the SETUP option.
Test Case Facility?
If you want to use File-AID/PC support to download file records
read by application programs executed under XPEDITER/TSO, enter
YES in this field. The default is NO.
Test Case Name
If you are going to use the Test Case Facility, enter the test
case name to be associated with the file records captured
during the XPEDITER session. If the Test Case Name field is
left blank, it defaults to the Program name.
Press <ENTER> to initiate the debugging session. Refer to Chapter 5,
"Debugging a Program" in topic 5.0 for information on how to debug your
program.
4.5.2 DIALOG Test Screen - Environments Menu - Option 2
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Dialog screen, shown in Figure 4-10, lets you specify the dialog
environment parameters and initiate a debugging session. The screen is
designed to allow programmers to debug ISPF dialog programs that are
running as a part of the larger application process. For instance,
programs that are invoked by entering data from an ISPF panel, issuing an
edit macro, or executing a CLIST can be debugged in this environment.
All the dialog components, such as screens, CLISTS, tables, messages, and
load modules, must be preallocated before initiating the debugging
session.
Note: The LOAD module libraries must be allocated to ISPLLIB.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ---------- XPEDITER/TSO - DIALOG (2.2) ------------------
------ |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu)
|
| DOwn (Scroll D
own) |
|
|
| INTERCEPTS Row 1 of 1
|
|
|
| PROGRAM INITSCR POSTSCR START MAX
|
| ===> TRIDLG ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===>
|
|
|
| ISPF Menu ===> ISR@PRIM OPT ===> APPLID ===> ISR
|
|
|
| File Allocation List ===>
|
|
|
| Is This a DB2 Test? ===> NO System ===>
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-10. Dialog Screen
The fields on this screen are described below.
PROGRAM Required. Enter a series of load module names that you wish to
debug when the dialog is invoked. You must specify either the
main program or subprograms. Do not specify both.
Six load modules can be specified on this screen. If you want
to continue the list, you can scroll down to a subsequent
screen.
INITSCR Enter the member name of a test script, containing a predefined
command stream, which will be executed at the beginning of the
debugging session.
POSTSCR Enter the member name of a test script if you wish to execute a
predefined command stream at the end of the debugging session.
START Enter up to four digits to specify on which occurrence of the
program invocation the intercept is to begin. By default,
program intercept begins on the first occurrence. When the
program is intercepted, the debugging session is initiated and
the source is displayed.
MAX Enter up to four digits to specify the maximum number of times
the program intercept is processed. If this field is left
blank, the value defaults to an infinite number. If you enter
an EXIT command and there are still intercepts remaining, those
intercepts are ignored.
ISPF Menu Required. Specify the driver panel to start your dialog
application. Typically, this will be the ISPF/PDF Primary
Option Menu, ISR@PRIM. You can initiate your dialog
application through the dialog test facilities (option 7.1 of
ISPF/PDF) and trace the ISPF variables while tracing the host
variables and setting breakpoints at the COBOL verbs under
XPEDITER/TSO.
Compuware supplies a separate panel, XPPISPFT, which is
functionally similar to the ISPF Dialog Test option 1. To use
this panel to identify the dialog function to be debugged,
enter XPPISPFT in the "ISPF Menu" field.
OPT If you use XPPISPFT, leave this field blank. Otherwise, enter
the starting point by ISPF option number (for example, 7.1).
APPLID Enter the application ID.
File Allocation List
Enter the dataset name that contains the file list, CLIST, or
JCL. The File Allocation Utility (FAU) preallocates files and
databases that will be processed by the program upon entry to
the debugging session.
If the member name of a PDS is omitted, a member list is
displayed.
If the dataset contains a CLIST, XPEDITER/TSO immediately
executes it and begins the debugging session.
If the dataset contains a file list or JCL, the FAU is invoked
to dynamically allocate the specified files before beginning
the debugging session. See Appendix B, "Allocating Your Test
Data Files" in topic B.0 for detailed information about the
FAU.
Is This a DB2 Test?
Enter YES if the program executes EXEC SQL statements.
XPEDITER/TSO selects the proper DB2 libraries for inclusion in
the setup library (XTASKLIB) concatenation.
The DB2 connection must be established, such as executing the
TSO DSN RUN command, before initiating the debugging session.
System Enter the DB2 subsystem name. Use the subsystem name assigned
to the DB2 DSNLOAD library to be included in XTASKLIB.
When you press <ENTER> from the Dialog screen, the specified ISPF screen
is displayed, but you must invoke the program or edit macro as you would
if you were debugging without XPEDITER/TSO.
To invoke a function on the XPPISPFT screen, shown in Figure 4-11 in
topic 4.5.2.1, only one entry is required in one of the following fields:
PANEL, CMD, or PGM.
Note: When control has been passed from XPEDITER/TSO to any user panel,
all XPEDITER commands become inactive.

4.5.2.1 Effect of DIALOG Program Intercepts


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Each of the programs named on the Dialog screen must be an MVS load module
name. Programs named in the intercept list must not be referenced within
the XPEDITER session with the SOURCE or INTERCEPT command. These programs
will be intercepted under XPEDITER DIALOG control when activated by
sequences of LOAD/CALL, LINK, or ATTACH. Typical external events which
can result in one of these sequences are: running the programs as TSO
command processors, naming the programs as the target of a TSO CALL
command, or executing the programs via ISPF SELECT services. Each of the
programs should be independent of any other program named in the intercept
list.
When the programs are not independent, special processing is performed by
XPEDITER and user interaction is necessary to test multiple programs
simultaneously. For example, assume that program PGMA "calls" program
PGMB which then "calls" program PGMC. Also, assume that all three
programs have been named as dialog intercepts. When PGMA is activated by
the user dialog, an XPEDITER session is initiated and the source of PGMA
is displayed. During the execution of PGMA, PGMB is eventually activated.
However, since XPEDITER is already active for the PGMA intercept, PGMB is
not intercepted and executes as if no intercept had been set. The same is
true for PGMC.
There are two ways in which such a nested sequence of programs can be
tested. The first method is to name only PGMA on the DIALOG screen. When
PGMA is intercepted, then SOURCE or INTERCEPT commands can be used to
reference PGMB and PGMC. A second method can be used when programs are
executed multiple times within the dialog. The START and MAX values
determine when the intercepts are to be active for each program in the
list. For example, let PGMA and PGMB both be named in the intercept list
with the MAX value for PGMA set to 3. Now when the user dialog invokes
PGMA repetitively, PGMA is intercepted each of the first three times it
executes, but on the fourth and subsequent executions, when PGMA calls
PGMB, XPEDITER intercepts PGMB.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------- INVOKE DIALOG FUNCTION MENU ------------------
------ |
| COMMAND ===>
|
|
|
| Invoke Selection Menu:
|
| PANEL ===> OPT ===>
|
|
|
| Invoke Command:
|
| CMD ===>
|
|
|
| Invoke Program:
|
| PGM ===> PARM ===>
|
|
|
| For Any Of The Above:
|
| NEWAPPL ===> (Optional Application ID)
|
| NEWPOOL ===> NO (YES or NO)
|
| PASSLIB ===> NO (YES or NO)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-11. XPPISPFT - Invoke Dialog Function Menu
The fields on the Invoke Dialog Function Menu are described below:
PANEL Name of the ISPF panel to be invoked. Required if CMD or PGM is
not specified.
OPT Optional; the initial option which must be valid on the panel
named above.
CMD The name of a command procedure (CLIST or EXEC), or any TSO
command, to be invoked as a dialog function. Command parameters
can be included. Required if PANEL or PGM is not specified.
PGM The name of a program to be invoked as a dialog function. The
program name must be one of the program names specified in the
previous Dialog screen. Otherwise, it causes an abend.
Required if PANEL or CMD is not specified.
PARM Optional; parameters to be passed to the program.
NEWAPPL Specifies the new application ID name, if one is being invoked.
If a new application is specified, the next selection menu
displayed is the application's primary option menu.
NEWPOOL Enter YES if a new shared variable pool is to be created. This
value is ignored if NEWAPPL is specified.
PASSLIB Enter YES if the current set of application level ISPF libraries
(if any exist) are to be passed to the application being
selected. This field is valid only if NEWAPPL is specified.
To invoke a function through the ISPF Menu ISR@PRIM, select option 1
(FUNCTIONS) on the Dialog Test Primary Option Menu shown in Figure 4-12.
|---------------------------------------------------------------------------
-------|
|
|
| --------------------- DIALOG TEST PRIMARY OPTION MENU ------------------
------ |
| OPTION ===>
|
|
|
| 1 FUNCTIONS - Invoke dialog functions/selection menus
|
| 2 PANELS - Display panels
|
| 3 VARIABLES - Display/set variable information
|
| 4 TABLES - Display/modify table information
|
| 5 LOG - Browse ISPF log
|
| 6 DIALOG SERVICES - Invoke dialog services
|
| 7 TRACES - Specify trace definitions
|
| 8 BREAKPOINTS - Specify breakpoint definitions
|
| T TUTORIAL - Display information about Dialog Test
|
| X EXIT - Terminate dialog testing
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Enter END command to terminate dialog testing.
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-12. Dialog Test Primary Option Menu
Then specify the function to be invoked in one of the following fields on
the Invoke Dialog Function/Selection Menu shown in Figure 4-13: PANEL,
CMD, or PGM.
|---------------------------------------------------------------------------
-------|
|
|
| -------------------- INVOKE DIALOG FUNCTION/SELECTION MENU -------------
------ |
| COMMAND ===>
|
|
|
| INVOKE SELECTION MENU:
|
| PANEL ===> OPT ===>
|
|
|
| INVOKE COMMAND:
|
| CMD ===>
|
|
|
| LANG ===> (APL OR BLANK)
|
|
|
| MODE ===> (LINE, FSCR, OR BLANK)
|
|
|
| INVOKE PROGRAM:
|
| PGM ===> PARM ===>
|
|
|
| MODE ===> (LINE, FSCR, OR BLANK)
|
|
|
| NEWAPPL ===> NO ID ===>
|
|
|
| NEWPOOL ===> NO PASSLIB ===> NO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-13. ISR@PRIM - Invoke Dialog Function/Selection Menu
Press <ENTER> to initiate the debugging session. Refer to Chapter 5,
"Debugging a Program" in topic 5.0 for information on how to debug your
program.
4.5.3 IMS Test Screen - Environments Menu - Option 3
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The IMS screen, shown in Figure 4-14, lets you specify the IMS/DB
environment parameters and initiate a debugging session. Batch programs
that issue IMS/DB database calls, and batch programs that issue both
IMS/DB and DB2 database calls, can be executed in this environment.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------------ XPEDITER/TSO - IMS (2.3) -------------------
------ |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu)
|
|
|
| TEST SELECTION CRITERIA:
|
|
|
| Program ===> TRIIMSM
|
| Entry Point ===>
|
| Load Module ===>
|
|
|
| Initial Script ===>
|
| Post Script ===>
|
|
|
| PSB ===> TRIIMSM
|
| Program Type ===> DLI (DLI, BMP, DBB)
|
| PARM Passing Option ===> STD (STD, SUB, NOQ)
|
|
|
| File Allocation List ===> XPEDITER.FLIST(TRIIMSM)
|
|
|
| Is This a DB2 Test? ===> NO Plan ===> System ===>
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-14. IMS Screen
The fields on this screen are described below:
Program Required. Enter the name of the load module.
Note: If executing other than the linked entry name, then the
program name is the CSECT name and the load module name must be
specified under Load Module.
Entry Point
Enter an alternate entry point if execution is to start at a
point other than the link-edited entry point.
Load Module
Enter only if executing a CSECT other than the link-edited
entry point of a load module, such as unit testing CSECTS
within a load module.
Initial Script
Enter the member name of a test script if you wish to execute a
predefined command stream at the beginning of the debugging
session.
Post Script
Enter the member name of a test script if you wish to execute a
predefined command stream at the end of the debugging session.
PSB Required. Enter the name of the Program Specification Block
(PSB) associated with the program. The PSB defines the
database accessed by the program, and the type of I/O
operations performed. The PSB name for MPP programs should be
the same as the load module name.
If you are debugging a subordinate module that does not have a
PSB but does make DLI calls, you must supply the PSB of the
main program. The USE command is used to specify which PCB in
the PSB of the calling module should be associated with the PCB
defined in the Linkage Section of the subroutine.
Program Type
Required. Enter the type of IMS program. It is generally the
first parameter value passed to IMS in the JCL. This field can
have one of the following values:
BMP A BMP program is attached to a control region. The
particular control region is determined by the IMS
RESLIBS allocated and by the IMSID within the BMP
parameter.
DBB A DBB program is processed in an offline DL/I batch
processing region using ACB libraries instead of PSB and
DBD libraries.
DL/I A DL/I program is processed in an offline DL/I batch
processing region using PSB and DBD libraries.

Note: These program types are retrieved from the PARM lists
in the SETUP option. Your specific site options determine
which program types are available on the screen.
PARM Passing Option
Required. Default values are prefilled for this field. The
valid PARM passing options are:
STD Specify STD when debugging an IMS program, XPEDITER/TSO
passes the PARM string to the program unaltered. STD is
the default.
SUB Specify SUB when an IMS subroutine is to be debugged as a
standalone program. No PARM string is needed because you
are debugging an IMS subroutine without the IMS driver
module present. Issue a USE command to assign
addressability to the PSB at the beginning of the
debugging session.
NOQ Specify NOQ (no queue) when you are debugging an IMS/DC
program with XPEDITER/TSO.
XPEDITER/TSO matches the PARM string that IMS passes to
the program with the PARM string that the program is
expecting in reverse order. This lets you debug the
logic and database calls of an IMS/DC program under TSO
when a message queue is not available.

File Allocation List


Enter the dataset name that contains the file list, CLIST, or
JCL. The File Allocation Utility (FAU) preallocates files and
databases that will be processed by the program upon entry to
the debugging session.
If the member name of a PDS is omitted, a member list is
displayed.
If the dataset contains a CLIST, XPEDITER/TSO immediately
executes it and begins the debugging session.
If the dataset contains a file list or JCL, the FAU is invoked
to dynamically allocate the specified files before beginning
the debugging session. See Appendix B, "Allocating Your Test
Data Files" in topic B.0 for detailed information about the
FAU.
Is This a DB2 Test?
Enter YES if the program executes EXEC SQL statements. The
default value is NO.
Plan Enter the DB2 plan name generated during the bind process if
the program executes EXEC SQL statements. If omitted, the plan
name defaults to the name specified in the Program field.
System Enter the DB2 subsystem name. The subsystem name depends on
the release level of DB2 allocated to the DSNLOAD library
specified in the SETUP option.
Press <ENTER> to initiate the debugging session. Refer to Chapter 5,
"Debugging a Program" in topic 5.0 for information on how to debug your
program.
4.5.4 BTS Test Screen - Environments Menu - Option 4
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The BTS screen, shown in Figure 4-15, lets you specify the BTS
environment parameters and initiate a debugging session. IMS/DC, MPP, and
BMP programs can be debugged with the use of BTS in this environment.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------------ XPEDITER/TSO - BTS (2.4) -------------------
------ |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu)
|
| BTsin (Display BTSIN Menu) DOwn (Scroll Do
wn) |
|
|
| INTERCEPTS
|
|
|
| PROGRAM TRANCODE INITSCR POSTSCR START M
AX |
| ===> PQ4CODEL ===> TQ4COCNG ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
|
|
| BTSIN ===> XPEDITER.BTSIN
|
| Program Type ===> DLI (DLI, BMP, DBB)
|
|
|
| PARM Passing Option ===> STD (STD)
|
|
|
| File Allocation List ===> XPEDITER.FLIST(TRIMPP)
|
|
|
| Is This a DB2 Test? ===> NO System ===>
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-15. BTS Screen
The fields on this screen are described below.
PROGRAM Required if TRANCODE is not specified. Used to identify which
programs are to be debugged by XPEDITER/TSO. You can enter the
load module name in this field or enter the transaction code in
the TRANCODE field, or supply values for both fields. If you
enter only the program name, all the transactions associated
with that program will be intercepted by XPEDITER/TSO. If you
enter only a transaction code, its associated program is
intercepted.
Three programs or transaction codes can be specified on the BTS
screen. If you want to continue the list, you can scroll down
to a second screen, shown in Figure 4-16. The last entry on
the previous page is displayed in the top row. Once the second
screen is full, you can scroll down to a third screen. Notice
that on the second (and subsequent screens), the UP command is
available in addition to the DOWN command.

|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------------ XPEDITER/TSO - BTS (2.4) -------------------
------ |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu)
|
| BTsin (Display BTSIN Menu) UP (Scroll Up) DOwn (Scroll Down
) |
|
|
| INTERCEPTS
|
|
|
| PROGRAM TRANCODE INITSCR POSTSCR START M
AX |
| ===> PQ4CODEL ===> TQ4COCNG ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|

Figure 4-16. BTS Screen 2


TRANCODE Required if PROGRAM is not specified. Used to identify which
transactions are to be debugged by XPEDITER/TSO. You can enter
the transaction code in this field or enter the load module
name in the PROGRAM field, or enter values for both fields.
Each transaction code must be unique. If you enter only a
transaction code, its associated program is intercepted.
However, multiple transactions can invoke the same program.
Therefore, if you enter only the program name, all the
transactions associated with that program are intercepted for
debugging under XPEDITER/TSO.
INITSCR Enter the member name of a test script if you wish to execute a
predefined command stream at the beginning of the debugging
session.
POSTSCR Enter the member name of a test script if you wish to execute a
predefined command stream at the end of the debugging session.
START Enter up to four digits to specify on which occurrence of the
program invocation the intercept is to begin. By default,
program intercept begins on the first occurrence. When the
program is intercepted, the debugging session is initiated and
the source is displayed.
MAX Enter up to four digits to specify the maximum number of times
the program intercept is processed. If this field is left
blank, the value defaults to an infinite number. If you enter
an EXIT command and there are still intercepts remaining, those
intercepts are ignored.
BTSIN Required. XPEDITER/TSO scans the BTSIN dataset and searches
for the program and transaction code to be debugged. An
intercept is established for each one found. The BTSIN dataset
must be either a sequential dataset or a member of a
partitioned dataset. The BTSIN cards should not be modified.
Entering BTSIN on the command line of the BTS screen displays
a list of transactions (./T cards) in the BTSIN file (shown in
Figure 4-17). You can enter the S(elect) line command next to
the transaction you wish to debug and return to the BTS screen.
The selected transactions are automatically filled in for the
appropriate fields.
Note: When testing DB2 under the BTS/DLI environment, you
must define the DB2 subsystem name to BTS by using the ./P
statement as part of the BTSIN control cards.
Program Type
Required. Enter the type of IMS program. It is generally the
first parameter value passed to IMS in the JCL. This field can
have one of the following values:
BMP A BMP program is manually scheduled by the system
operator, and typically processes some data that was held
by IMS in a message queue.
DBB A DBB program is processed in an offline DL/I batch
processing region using ACB libraries instead of PSB and
DBD libraries.
DLI A DL/I program is processed in an offline DL/I batch
processing region using PSB and DBD libraries.
These program types are retrieved from PARM lists in the SETUP
option. Your specific site options determine which program
types are available on the screen.
PARM Passing Option
Required. Default values are prefilled for this field. The
valid PARM passing option is STD. If you specify STD when
debugging an IMS program, XPEDITER/TSO passes the PARM string
to the program unaltered.
File Allocation List
Enter the dataset name that contains the file list, CLIST, or
JCL. The File Allocation Utility (FAU) preallocates files and
databases that will be processed by the program upon entry to
the debugging session.
If the member name of a PDS is omitted, a member list is
displayed.
If the dataset contains a CLIST, XPEDITER/TSO immediately
executes it and begins the debugging session.
If the dataset contains a file list or JCL, the FAU is invoked
to dynamically allocate the specified files before beginning
the debugging session. See Appendix B, "Allocating Your Test
Data Files" in topic B.0 for detailed information about the
FAU.
Is This a DB2 Test?
Enter YES if the program executes EXEC SQL statements. The
default value is NO.
System Enter the DB2 subsystem name. The subsystem name depends on
the release level of DB2 allocated to the DSNLOAD library
specified in the SETUP option.
Note: When testing DB2 under the BTS/DLI environment, you
must define the DB2 subsystem name to BTS by using the ./P
statement as part of the BTSIN control cards.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ----- BTS TRANSACTION/PROGRAM MENU ------------ ROW 9
OF 19 |
| COMMAND ===>
|
|
|
| Select Any Transactions/Programs To Be Tested With XPEDITER
|
|
|
| Enter END Command To Return To The Previous Menu
|
|
|
| SELECT -------------- ./T CARDS FROM BTSIN DATA SET -------------------
- |
| TC=TQ4CNINQ MBR=PQ4CNINQ PSB=PQ4CNINQ LANG=CBL TYPE=MSG
|
| TC=TQ4COINQ MBR=PQ4COINQ
|
| TC=TQ4COINQ MBR=PQ4COINQ PSB=PE4COINQ LANG=CBL TYPE=MSG
|
| TC=TQ4CONEW MBR=PQ4CORDR PSB=PE4CORDR LANG=CBL TYPE=MSG SPA=1300
|
| TC=TQ4CODEL MBR=PQ4CODEL PSB=PE4CODEL LANG=CBL TYPE=MSG SPA=1300
|
| TC=TQ4COCNG MBR=PQ4CODEL PSB=PE4CODEL LANG=CBL TYPE=MSG SPA=1300
|
| ****************************** BOTTOM OF DATA ***************************
* |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-17. BTS Transaction/Program Menu
Press <ENTER> to initiate the debugging session. BTS will be invoked
first and prompt you for a transaction code to start a transaction. Refer
to Chapter 5, "Debugging a Program" in topic 5.0 for information on how to
debug your program.
4.5.5 HOGAN BATCHPEM Test Screen - Environments Menu - Option 5
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The HOGAN BATCHPEM screen shown in Figure 4-18 lets you specify the HOGAN
BATCHPEM environment parameters and initiate a debugging session. Batch
programs that run under the HOGAN umbrella and process QSAM and VSAM files
can be executed in this environment.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------ XPEDITER/TSO - HOGAN BATCHPEM (2.5) --------------
------ |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu)
|
| SYsin (Edit SYSIN Data Set)
|
|
|
| TEST SELECTION CRITERIA:
|
|
|
| Initial Script ===>
|
| Post Script ===>
|
|
|
|
|
| PARM String ===>
|
|
|
|
|
| HOGAN SYSIN Data Set ===>
|
| HOGAN PEM Driver ===> BATCHPEM ("BATCHPEM" is Default for This Tes
t) |
| Test HOGAN PEM Driver ===> NO
|
|
|
| File Allocation List ===>
|
|
|
| Is This a DB2 Test? ===> NO Plan ===> System ===>
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-18. HOGAN BATCHPEM Screen
The fields on this screen are defined below:
Initial Script
Enter the member name of a test script if you wish to execute a
predefined command stream at the beginning of the debugging
session.
Post Script
Enter the member name of a test script if you wish to execute a
predefined command stream at the end of the debugging session.
PARM String
Optional field. Enter the parameter string to be passed to the
HOGAN PEM driver program. You can enter up to 100 characters
in this field.
If the run-time parameter consists of several substrings
separated by commas, or if it contains special characters (/,
=, etc.), enclose the entire parameter in quotes (single or
double).
HOGAN SYSIN Data Set
A control file used by HOGAN programs. Enter SYSIN on the
command line to edit or create the SYSIN dataset, shown in
Figure 4-19.

|---------------------------------------------------------------------------
-------|
|
|
| EDIT ----- AXPTSO.XPEDITER.SYSINDS(HOGSYS01) - 01.00 ---------- COLUMNS 00
1 072 |
| COMMAND ===> SCROLL ===>
PAGE |
| ****** *************************** TOP OF DATA ***************************
**** |
| 000001 1 49 904
|
| 000002 #905¬704¬1%
|
| ****** ************************** BOTTOM OF DATA *************************
**** |
|
|

Figure 4-19. Displaying the SYSIN Data Set


HOGAN PEM Driver
The name of the HOGAN driver. BATCHPEM is the default.
Test HOGAN PEM Driver
Enter YES to debug in PEM driver mode. The default (NO)
specifies application mode.
File Allocation List
Enter the dataset name that contains the file list, CLIST, or
JCL. The File Allocation Utility (FAU) preallocates files and
databases that will be processed by the program upon entry to
the debugging session. Any files or databases that are not
dynamically allocated by HOGAN must be allocated through this
file.
If the member name of a PDS is omitted, a member list is
displayed.
If the dataset contains a CLIST, XPEDITER/TSO immediately
executes it and begins the debugging session.
If the dataset contains a file list or JCL, the FAU is invoked
to dynamically allocate the specified files before beginning
the debugging session. See Appendix B, "Allocating Your Test
Data Files" in topic B.0 for detailed information about the
FAU.
Note: All CDMF files and databases should be allocated.
Is This a DB2 Test?
Enter YES if the program executes EXEC SQL statements. The
default value is NO.
Plan Enter the DB2 plan name generated during the bind process if
the program executes EXEC SQL statements,
System Enter the DB2 subsystem name. The subsystem name depends on
the release level of DB2 and is assigned at the time of
installation.
Press <ENTER> to initiate the debugging session. Refer to Chapter 5,
"Debugging a Program" in topic 5.0 for information on how to debug your
program.
4.5.6 HOGAN DLIPEM Test Screen - Environments Menu - Option 6
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The HOGAN DLIPEM screen shown in Figure 4-20 lets you specify the HOGAN
DLIPEM environment parameters and initiate a debugging session. Batch
programs that run under the HOGAN umbrella and issue IMS/DB calls can be
executed in this environment.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------ XPEDITER/TSO - HOGAN DLIPEM (2.6) ----------------
------ |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu)
|
| SYsin (Edit SYSIN Data Set)
|
|
|
| TEST SELECTION CRITERIA:
|
|
|
| Initial Script ===>
|
| Post Script ===>
|
| PSB ===>
|
|
|
| Program Type ===> DLI (DLI, BMP, DBB)
|
|
|
|
|
| HOGAN SYSIN Data Set ===>
|
| HOGAN PEM Driver ===> DLIPEM ("DLIPEM" is Default for DLI Progra
m) |
| Test HOGAN PEM Driver ===> NO
|
|
|
| File Allocation List ===>
|
|
|
| Is This a DB2 Test? ===> NO Plan ===> System ===>
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-20. HOGAN DLIPEM Screen
The fields on the HOGAN DLIPEM screen are:
Initial Script
Enter the member name of a test script if you wish to execute a
predefined command stream at the beginning of the debugging
session.
Post Script
Enter the member name of a test script if you wish to execute a
predefined command stream at the end of the debugging session.
PSB The PSB associated with the program you are debugging.
Program Type
Required. Default values are prefilled for this field.
Indicates the kind of IMS program you are debugging with IMS
under XPEDITER/TSO. This field can have one of the following
values:
DLI If your program is not connected to the IMS control
region and does not use an ACB library. A DL/I program
is processed in an offline DL/I batch processing region
using PSB and DBD libraries.
BMP If your program is connected to the IMS control region.
A BMP program is manually scheduled by the system
operator, and typically processes some data that was held
by IMS in a message queue.
DBB If your program is not connected to the IMS control
region and uses an ACB library. A DBB program is
processed in an offline DL/I batch processing region
using ACB libraries instead of PSB and DBD libraries.
HOGAN SYSIN Data Set
A control file used by HOGAN programs. Enter SYSIN on the
command line to edit or create the SYSIN dataset, shown in
Figure 4-21.

|---------------------------------------------------------------------------
-------|
|
|
| EDIT ----- AXPTSO.XPEDITER.SYSINDS(HOGSYS01) - 01.00 ---------- COLUMNS 00
1 072 |
| COMMAND ===> SCROLL ===>
PAGE |
| ****** *************************** TOP OF DATA ***************************
**** |
| 000001 1 49 904
|
| 000002 #905¬704¬1%
|
| ****** ************************** BOTTOM OF DATA *************************
**** |
|
|

Figure 4-21. Displaying the SYSIN Data Set


HOGAN PEM Driver
The name of the HOGAN driver. DLIPEM is the default HOGAN
driver for DL/I or DBB programs. BMPPEM is the default for BMP
programs.
Test HOGAN PEM Driver
Enter YES to debug in PEM driver mode. The default (NO)
specifies application mode.
File Allocation List
Enter the dataset name that contains the file list, CLIST, or
JCL. The File Allocation Utility (FAU) preallocates files and
databases that will be processed by the program upon entry to
the debugging session. Any files or databases that are not
dynamically allocated by HOGAN must be allocated through this
file.
If the member name of a PDS is omitted, a member list is
displayed.
If the dataset contains a CLIST, XPEDITER/TSO immediately
executes it and begins the debugging session.
If the dataset contains a file list or JCL, the FAU is invoked
to dynamically allocate the specified files before beginning
the debugging session. See Appendix B, "Allocating Your Test
Data Files" in topic B.0 for detailed information about the
FAU.
Is This a DB2 Test?
Enter YES if the program executes EXEC SQL statements. The
default value is NO.
Plan Enter the DB2 plan name generated during the bind process if
the program executes EXEC SQL statements. If omitted, the plan
name defaults to the name specified in the Program field.
System Enter the DB2 subsystem name. The subsystem name depends on
the release level of DB2 and is assigned at the time of
installation.
Press <ENTER> to initiate the debugging session. Refer to Chapter 5,
"Debugging a Program" in topic 5.0 for information on how to debug your
program.
4.5.7 HOGAN IMSPEM Test Screen - Environments Menu - Option 7
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The HOGAN IMSPEM screen displayed in Figure 4-22 lets you set up debug
parameters before beginning execution of a program in a HOGAN IMSPEM
environment.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------ XPEDITER/TSO - HOGAN IMSPEM (2.7) ----------------
------ |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu)
|
| BTsin (Display BTSIN Menu) DOwn (Scroll Down
) |
|
|
| INTERCEPTS
|
|
|
| PROGRAM TRANCODE INITSCR POSTSCR START M
AX |
| ===> PQ4CODEL ===> TQ4COCNG ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
|
|
| BTSIN ===> 'ASJUSR1.INCLUDE(BTSIN)'
|
| Program Type ===> DLI (DLI, BMP, DBB)
|
| HOGAN PEM Driver ===> IMSPEM ("IMSPEM" is Default for DLI Progra
m) |
| Test HOGAN PEM Driver ===> NO
|
|
|
| File Allocation List ===>
|
|
|
| Is This a DB2 Test? ===> NO System ===>
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-22. HOGAN IMSPEM Screen
The fields on the HOGAN IMSPEM screen are:
PROGRAM Required if TRANCODE is not specified. Used to identify which
programs are to be debugged by XPEDITER/TSO. You can enter the
load module name in this field or enter the transaction code in
the TRANCODE field, or supply values for both fields. If you
enter only the program name, all the transactions associated
with that program will be intercepted by XPEDITER/TSO. If you
enter only a transaction code, its associated program is
invoked.
Three programs or transaction codes can be specified on the
HOGAN IMSPEM screen. If you want to continue the list, you can
scroll down to a second screen, shown in Figure 4-23. The last
entry on the previous page is displayed in the top row. Once
the second screen is full, you can scroll down to a third
screen. Notice that on the second (and subsequent screens),
the UP command is available in addition to the DOWN command.
Note: XPEDITER/TSO processes every intercept specified on the
panel and there is a memory overhead associated with each
program specified.

|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------ XPEDITER/TSO - HOGAN IMSPEM (2.7) -------------- -
------ |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu)
|
| BTsin (Display BTSIN Menu) UP (Scroll Up) DOwn (Scroll Down
) |
|
|
| INTERCEPTS
|
|
|
| PROGRAM TRANCODE INITSCR POSTSCR START M
AX |
| ===> PQ4CODEL ===> TQ4COCNG ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|

Figure 4-23. HOGAN IMSPEM Screen 2


TRANCODE Required if PROGRAM is not specified. Used to identify which
transactions are to be debugged by XPEDITER/TSO. You can enter
the transaction code in this field or enter the load module
name in the PROGRAM field, or enter values for both fields.
Each transaction code must be unique. If you enter only a
transaction code, its associated program is invoked. However,
multiple transactions can invoke the same program. Therefore,
if you enter only the program name, all the transactions
associated with that program will be intercepted and debugged
by XPEDITER/TSO.
INITSCR Enter the member name of a test script if you wish to execute a
predefined command stream at the beginning of the debugging
session.
POSTSCR Enter the member name of a test script if you wish to execute a
predefined command stream at the end of the debugging session.
START Enter up to four digits to specify on which occurrence of the
program invocation the intercept is to begin. By default,
program intercept begins on the first occurrence. When the
program is intercepted, the debugging session is initiated and
the source is displayed.
MAX Enter up to four digits to specify the maximum number of times
the program intercept is processed. If this field is left
blank, the value defaults to an infinite number. If you enter
an EXIT command and there are still intercepts remaining, those
intercepts are ignored.
BTSIN Required. XPEDITER/TSO scans the BTSIN dataset and searches
for the program and transaction code to be debugged. An
intercept is established for each one found. The BTSIN dataset
must be either a sequential dataset or a member of a
partitioned dataset. The BTSIN cards should not be modified.
Entering BTSIN on the command line of the HOGAN IMSPEM screen
displays a list of transactions (./T cards) in the BTSIN file
shown in Figure 4-24. You can enter the S(elect) line command
next to the transaction you wish to debug and return to the
HOGAN IMSPEM screen. The selected transactions are
automatically filled in for the appropriate fields.

|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ----- BTS TRANSACTION/PROGRAM MENU ------------ ROW 9
OF 19 |
| COMMAND ===>
|
|
|
| Select Any Transactions/Programs To Be Tested With XPEDITER
|
|
|
| Enter END Command To Return To The Previous Menu
|
|
|
| SELECT -------------- ./T CARDS FROM BTSIN DATA SET -------------------
- |
| TC=TQ4CNINQ MBR=PQ4CNINQ PSB=PQ4CNINQ LANG=CBL TYPE=MSG
|
| TC=TQ4COINQ MBR=PQ4COINQ
|
| TC=TQ4COINQ MBR=PQ4COINQ PSB=PE4COINQ LANG=CBL TYPE=MSG
|
| TC=TQ4CONEW MBR=PQ4CORDR PSB=PE4CORDR LANG=CBL TYPE=MSG SPA=1300
|
| TC=TQ4CODEL MBR=PQ4CODEL PSB=PE4CODEL LANG=CBL TYPE=MSG SPA=1300
|
| TC=TQ4COCNG MBR=PQ4CODEL PSB=PE4CODEL LANG=CBL TYPE=MSG SPA=1300
|
| ****************************** BOTTOM OF DATA ***************************
* |
|
|

Figure 4-24. BTS Transaction/Program Menu

Program Type
Required. Enter the type of IMS program. It is generally the
first parameter value passed to IMS in the JCL. This field can
have one of the following values:
MPP The scheduling of MPP programs is entirely under the
control of IMS. An MPP program is automatically loaded
by IMS when a message to be processed by that program is
received.
BMP A BMP program is manually scheduled by the system
operator and typically processes some data that was held
by IMS in a message queue.
DBB A DBB program is processed in an offline DL/I batch
processing region using ACB libraries instead of PDB and
DBD libraries.
DLI A DL/I program is processed in an offline DL/I batch
processing region using PSB and DBD libraries.
These program types are retrieved from PARM lists in the SETUP
option. Your specific site options determine which program
types are available on the screen.
HOGAN PEM Driver
Enter the name of the HOGAN PEM driver. IMSPEM is the default
HOGAN PEM driver for BTS testing.
Test HOGAN PEM Driver
Enter YES to debug in PEM driver mode. The default value (NO)
specifies application mode.
File Allocation List
Enter the dataset name that contains the file list, CLIST, or
JCL. The File Allocation Utility (FAU) preallocates files and
databases that will be processed by the program upon entry to
the debugging session.
If the member name of a PDS is omitted, a member list is
displayed.
If the dataset contains a CLIST, XPEDITER/IMS immediately
executes it and begins the debugging session.
If the dataset contains a file list or JCL, the FAU is invoked
to dynamically allocate the specified files before beginning
the debugging session. See Appendix B, "Allocating Your Test
Data Files" in topic B.0 for detailed information about the
FAU.
Note: To allocate a dataset to a BTS DDNAME, enter SETUP on
the command line of the HOGAN IMSPEM screen and then select
option B on the setup menu. The BTS Test Setup Options screen
is displayed. You can enter/verify the installed defaults for
any BTS DDNAMEs listed on the setup menu. Refer to "BTS Setup
Menu" in topic C.6 for more information.
Is This a DB2 Test?
Enter YES if the program executes EXEC SQL statements. The
default value is NO.
System Enter the DB2 subsystem name if the program executes EXEC SQL
statements. The subsystem name depends on the release level of
DB2 assigned to the DSNLOAD library specified at installation
time.
Press <ENTER> to initiate the debugging session. Refer to Chapter 5,
"Debugging a Program" in topic 5.0 for information on how to debug your
program.
4.5.8 MPP Test Screen - Environments Menu - Option 8
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The MPP screen displayed in Figure 4-25 lets you set up environment
parameters before beginning program execution of a program in an IMS
Message Region. When you identify the transactions to be debugged and
initiate a session, XPEDITER/IMS attaches the IMS message region within
the TSO address space. You can enter the transaction code from an IMS
terminal to start the transaction, and the source will be displayed on the
TSO terminal where the debugging session was initiated. The operation of
the product requires one logical TSO terminal and one logical IMS terminal
(can be an ATM terminal), both on the same CPU.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ----------- XPEDITER/TSO - MPP (2.8) --------------------
------ |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu)
|
| INter (Display Intercepts) DOwn (Scroll Do
wn) |
|
|
| INTERCEPTS
|
|
|
| PROGRAM TRAN CODE INITSCR POSTSCR START MA
X |
| ===> XPEDTRAN ===> XPEDTRAN ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
|
|
|
|
| NBA ===> 10 (Normal Buffer Allocation)
|
| OBA ===> 10 (Overflow Buffer Allocation)
|
|
|
| File Allocation List ===>
|
|
|
| Is This a DB2 Test? ===> NO System ===>
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-25. MPP Screen
The fields on the MPP screen are:
PROGRAM Required if TRAN CODE is not specified. Used to identify which
programs are to be debugged by XPEDITER/IMS. You can enter the
load module name in this field or enter the transaction code in
the TRANCODE field, or supply values for both fields. If you
enter only the program name, all the transactions associated
with that program will be intercepted by XPEDITER/IMS. If you
enter only a transaction code, its associated program is
intercepted.
Three programs or transaction codes can be specified on the MPP
screen. If you want to continue the list, you can scroll down
to a second screen, shown in Figure 4-26. The last entry on
the previous page is displayed in the top row. Once the second
screen is full, you can scroll down to a third screen. Notice
that on the second (and subsequent screens), the UP command is
available in addition to the DOWN command.

|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ----------- XPEDITER/TSO - MPP (2.8) --------------------
------ |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu)
|
| INter (Display Intercepts) UP (Scroll Up) DOwn (Scroll Down
) |
|
|
| INTERCEPTS
|
|
|
| PROGRAM TRAN CODE INITSCR POSTSCR START MA
X |
| ===> XPEDTRAN ===> XPEDTRAN ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|

Figure 4-26. MPP Screen 2


TRAN CODE Used to identify which transactions are to be debugged by
XPEDITER/IMS. You can enter the transaction code in this field
or enter the load module name in the PROGRAM field, or enter
values for both fields.
This field is required if PROGRAM is not specified or if
multiple transactions are associated with the program.
INITSCR Enter the member name of a test script if you wish to execute a
predefined command stream at the beginning of the debugging
session.
POSTSCR Enter the member name of a test script if you wish to execute a
predefined command stream at the end of the debugging session.
START Enter up to four digits to specify on which occurrence of the
program invocation the intercept is to begin. By default,
program intercept begins on the first occurrence. When the
program is intercepted, the debugging session is initiated and
the source is displayed.
MAX Enter up to four digits to specify the maximum number of times
the program intercept is processed. If this field is left
blank, the value defaults to an infinite number. If you enter
an EXIT command and there are still intercepts remaining, those
intercepts are ignored.
NBA Enter the Normal Buffer Allocation, up to two digits. The
default value is 10.
OBA Enter the Overflow Buffer Allocation, containing up to two
digits. The default value is 10.
Note: The NBA and OBA fields appear on the screen only if
your site installer indicated that your site uses Fast Path
databases. The values are inserted in the PARM string when the
IMS region is attached.
File Allocation List
Enter the dataset name that contains the file list, CLIST, or
JCL. The File Allocation Utility (FAU) preallocates files and
databases that will be processed by the program upon entry to
the debugging session.
If the member name of a PDS is omitted, a member list is
displayed.
If the dataset contains a CLIST, XPEDITER/IMS immediately
executes it and begins the debugging session.
If the dataset contains a file list or JCL, the FAU is invoked
to dynamically allocate the specified files before beginning
the debugging session. See Appendix B, "Allocating Your Test
Data Files" in topic B.0 for detailed information about the
FAU.
Is This a DB2 Test?
Enter YES if the program executes EXEC SQL statements. The
default value is NO.
System Enter the DB2 subsystem name if the program executes EXEC SQL
statements. The subsystem name depends on the release level of
DB2 and is assigned at the time of installation.
Press <ENTER> to initiate the debugging session. Refer to Chapter 5,
"Debugging a Program" in topic 5.0 for information on how to debug your
program.
When intercepts cannot be set and the message "MAX USERS" is displayed on
the test screen, enter INTER on the command line to look at the Intercepts
screen, shown in Figure 4-27. The "Number of Available Class Codes" field
will be zero (0), indicating that the maximum number of users are testing
with XPEDITER/IMS.
The Intercepts screen provides valuable information regarding the use of
XPEDITER/IMS--how many users can still test using XPEDITER/IMS, what
programs/transactions are being tested, and other information connected
with the program and the transaction code.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ----------- INTERCEPTS -------------------- ROW 1 TO 14
OF 14 |
| COMMAND ===> SCROLL ===>
PAGE |
|
|
| Number Of Available Class Codes: 0 IMSID: IMSA
|
| CLASS
|
| USERID TRAN CODE PROGRAM TYPE PSB OLD NEW
|
| ======== ========= ======== ==== ========= === ===
|
| ASJUSR1 XPEDTRAN XPEDTRAN TP XPEDTRAN 002 045
|
| ASJUSR1 XPE1 XPEDTRA1 TP XPEDTRA1 004 045
|
| ASJUSR1 XPE2 XPEDTRA2 TP XPEDTRA2 005 045
|
| ASJUSR2 XPEDBMP1 BMP XPEDPSB1
|
| ASJUSR3 XPE3 XPEDBMP2 BMP XPEDPSB2
|
| ASJUSR4 XPE4 XPEDTRA4 TP XPEDTRA4 004 016
|
| ASJUSR5 XPE5 XPEDTRA5 TP XPEDTRA5 004 018
|
| ASJUSR6 XFP1 XPEDFP1 IFP FASTPAT1 001
|
| ASJUSR7 XFP2 XPEDFP2 IFP FASTPAT2 001
|
| ASJUSR8 XPEDBMP3 BMP XPEDBMP
|
| ASJUSR9 XPE6 XPEDTRA6 TP XPEDTRA6 004 019
|
| ASJUSR9 XPE7 XPEDTRA7 TP XPEDTRA7 005 019
|
| ASJUSR9 XPE8 XPEDTRA8 TP XPEDTRA8 005 019
|
| ASJUSR10 XPEDBMP4 BMP XPEDPSB2
|
|
|
| F1=HELP F2=SPLIT F3=END F4=RETURN F5=RFIND F6=RCHANGE
|
| F7=UP F8=DOWN F9=SWAP F10=LEFT F11=RIGHT F12=RETRIEVE
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-27. Intercepts Screen
The Intercepts screen does not contain any input fields; all of the
information is displayed for you. The fields on the screen are described
below:
Number Of Available Class Codes
The number of class codes available. It tells you how many
more people can run an MPP test. Notice that Figure 4-27
indicates that the maximum number of users are testing with
XPEDITER/IMS by displaying the number of class codes available
for use as zero (0).
IMSID The name of the IMS control region with which the IMS user
programs communicate.
USERID The user ID of the person running the test.
TRAN CODE The transaction code associated with the program, if one was
used.
PROGRAM The name of the program being tested.
TYPE The type of program being tested.
PSB The PSB name associated with the program. Often this name is
the same as the program name.
OLD CLASS The original class code of the user's transaction.
NEW CLASS The XPEDITER/IMS reserved class code for the transaction.
XPEDITER/IMS reassigns the class codes for Message Processing
transactions.
4.5.9 BMP/IFP Test Screen - Environments Menu - Option 9
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The BMP/IFP screen displayed in Figure 4-28 lets you set up debug
parameters before beginning program execution of a program in an IMS, BMP,
or Fast Path Region. When you identify the transactions to be debugged
and initiate a session, XPEDITER/IMS attaches the IMS message region
within the TSO address space. You can enter the transaction code from an
IMS terminal to start the transaction, and the source will be displayed on
the TSO terminal where the debugging session was initiated. The operation
of the product requires one logical TSO terminal and one logical IMS
terminal (can be an ATM terminal), both on the same CPU.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ---------- XPEDITER/TSO - BMP/IFP (2.9) -----------------
------ |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu)
|
| INter (Display Intercepts)
|
|
|
| TEST SELECTION CRITERIA:
|
|
|
| Program ===> TRIIFP
|
| PSB ===> TRIIFP
|
| TRAN CODE ===>
|
|
|
| Initial Script ===>
|
| Post Script ===>
|
|
|
|
|
| NBA ===> 10 (Normal Buffer Allocation)
|
| OBA ===> 10 (Overflow Buffer Allocation)
|
|
|
| File Allocation List ===>
|
|
|
| Is This a DB2 Test? ===> NO System ===>
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-28. BMP/IFP Screen
The fields on the BMP/IFP screen are:
Program Required. Used to identify which program is to be intercepted
and debugged by XPEDITER/IMS. You must enter the load module
name in this field or supply values for both this field and
the TRAN CODE field. XPEDITER inserts this value into the
program subparameter for the parameter it passes to IMS.
PSB Required. Enter the PSB associated with the program you are
debugging. XPEDITER inserts the specified value into the BMP
parameter passed to the IMS driver program.
TRAN CODE Used to identify which transactions are to be intercepted and
debugged by XPEDITER/IMS. The value specified is inserted
into the INPUT TRAN subparameter of the BMP parameter passed
to the IMS driver program.
Each transaction code must be unique. If you enter only a
transaction code, its associated program is intercepted.
However, multiple transactions can invoke the same program.
Therefore, if you enter only the program name, all the
transactions associated with that program will be intercepted
and debugged by XPEDITER/IMS.
Initial Script
Enter the member name of a test script if you wish to execute
a predefined command stream at the beginning of the debugging
session.
Post Script Enter the member name of a test script if you wish to execute
a predefined command stream at the end of the debugging
session.
NBA Enter the Normal Buffer Allocation, up to two digits. The
default value is 10.
OBA Enter the Overflow Buffer Allocation, containing up to two
digits. The default value is 10.
Note: The NBA and OBA fields appear on the screen only if
your site installer indicated that your site uses Fast Path
databases. The values are inserted in the PARM string when
the IMS region is attached.
File Allocation List
Enter the dataset name that contains the file list, CLIST, or
JCL. The File Allocation Utility (FAU) preallocates files and
databases that will be processed by the program upon entry to
the debugging session.
If the member name of a PDS is omitted, a member list is
displayed.
If the dataset contains a CLIST, XPEDITER/IMS immediately
executes it and begins the debugging session.
If the dataset contains a file list or JCL, the FAU is invoked
to dynamically allocate the specified files before beginning
the debugging session. See Appendix B, "Allocating Your Test
Data Files" in topic B.0 for detailed information about the
FAU.
Is This a DB2 Test?
Enter YES if the program executes EXEC SQL statements. The
default value is NO.
System Enter the DB2 subsystem name if the program executes EXEC SQL
statements. The subsystem name depends on the release level
of DB2 and is assigned at the time of installation.
Press <ENTER> to initiate the debugging session. Refer to Chapter 5,
"Debugging a Program" in topic 5.0 for information on how to debug your
program.
When intercepts cannot be set and the message "MAX USERS" is displayed on
the test screen, enter INTER on the command line to look at the Intercepts
screen, shown in Figure 4-29. The "Number of Available Class Codes" field
will be zero (0), indicating that the maximum number of users are testing
with XPEDITER/IMS.
The Intercepts screen provides valuable information regarding the use of
XPEDITER/IMS--how many users can still test using XPEDITER/IMS, what
programs/transactions are being tested, and other information connected
with the program and the transaction code.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------------ INTERCEPTS ------------------- ROW 1 TO 14
OF 14 |
| COMMAND ===> SCROLL ===>
PAGE |
|
|
| Number Of Available Class Codes: 0 IMSID: IMSA
|
| CLASS
|
| USERID TRAN CODE PROGRAM TYPE PSB OLD NEW
|
| ======== ========= ======== ==== ========= === ===
|
| ASJUSR1 XPEDTRAN XPEDTRAN TP XPEDTRAN 002 045
|
| ASJUSR1 XPE1 XPEDTRA1 TP XPEDTRA1 004 045
|
| ASJUSR1 XPE2 XPEDTRA2 TP XPEDTRA2 005 045
|
| ASJUSR2 XPEDBMP1 BMP XPEDPSB1
|
| ASJUSR3 XPE3 XPEDBMP2 BMP XPEDPSB2
|
| ASJUSR4 XPE4 XPEDTRA4 TP XPEDTRA4 004 016
|
| ASJUSR5 XPE5 XPEDTRA5 TP XPEDTRA5 004 018
|
| ASJUSR6 XFP1 XPEDFP1 IFP FASTPAT1 001
|
| ASJUSR7 XFP2 XPEDFP2 IFP FASTPAT2 001
|
| ASJUSR8 XPEDBMP3 BMP XPEDBMP
|
| ASJUSR9 XPE6 XPEDTRA6 TP XPEDTRA6 004 019
|
| ASJUSR9 XPE7 XPEDTRA7 TP XPEDTRA7 005 019
|
| ASJUSR9 XPE8 XPEDTRA8 TP XPEDTRA8 005 019
|
| ASJUSR10 XPEDBMP4 BMP XPEDPSB2
|
|
|
| F1=HELP F2=SPLIT F3=END F4=RETURN F5=RFIND F6=RCHANGE
|
| F7=UP F8=DOWN F9=SWAP F10=LEFT F11=RIGHT F12=RETRIEVE
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-29. Intercepts Screen
The Intercepts screen does not contain any input fields; all of the
information is displayed for you. The fields on the screen are described
below:
Number Of Available Class Codes
The number of class codes available. It tells you how many
more people can run a BMP test. Notice that Figure 4-29
displays the number of class codes available for use as zero
(0), indicating that the maximum number of users are testing
with XPEDITER/IMS.
IMSID The name of the IMS control region with which the IMS user
programs communicate.
USERID The user ID of the person running the test.
TRAN CODE The transaction code associated with the program, if one was
used.
PROGRAM The name of the program being tested.
TYPE The type of program being tested.
PSB The PSB name associated with the program. Often this name is
the same as the program name.
OLD CLASS The original class code of the user's transaction.
NEW CLASS The XPEDITER/IMS reserved class code for the transaction.
XPEDITER/IMS reassigns the class codes for Message Processing
transactions.
4.5.10 HOGAN IMSPEM Test Screen - Environments Menu - Option 10
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The HOGAN IMSPEM screen displayed in Figure 4-30 lets you set up debug
parameters before beginning program execution of HOGAN IMSPEM in an IMS
Message Region. When you identify the transactions to be debugged and
initiate a session, XPEDITER/IMS attaches the IMS message region within
the TSO address space. You can enter the transaction code from an IMS
terminal to start the transaction, and the source will be displayed on the
TSO terminal where the debugging session was initiated. The operation of
the product requires one logical TSO terminal and one logical IMS terminal
(can be an ATM terminal), both on the same CPU.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------- XPEDITER/TSO - HOGAN IMSPEM (2.10) --------------
------ |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu)
|
| INter (Display Intercepts) DOwn (Scroll Dow
n) |
|
|
| INTERCEPTS
|
|
|
| PROGRAM TRANCODE INITSCR POSTSCR START M
AX |
| ===> TRIHOGAN ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
|
|
| NBA ===> 10 (Normal Buffer Allocation)
|
| OBA ===> 10 (Overflow Buffer Allocation)
|
| HOGAN PEM Driver ===> IMSPEM ("IMSPEM" is Default for This Test
) |
| Test HOGAN PEM Driver ===> NO
|
|
|
| File Allocation List ===>
|
|
|
| Is This a DB2 Test? ===> NO System ===>
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-30. HOGAN IMSPEM Screen
The fields on the HOGAN IMSPEM screen are:
PROGRAM Required if TRANCODE is not specified. This field is used to
identify which programs are to be intercepted and debugged by
XPEDITER/IMS. You can enter the load module name in this field
or enter the transaction code in the TRANCODE field, or supply
values for both fields. If you enter only the program name (as
shown in Figure 4-30), all the transactions associated with
that program are intercepted and debugged by XPEDITER/IMS. If
you enter only a transaction code, its associated program is
intercepted.
Three lines of intercept-related data can be specified on this
screen. If you want to continue the list, you can scroll down
to a second screen, which contains only intercept information.
The second screen, shown in Figure 4-31, must be filled up
before the third screen can be called. Note that on the second
and subsequent screens, the UP command is available in addition
to the DOWN command. Only eleven intercepts are scrolled at a
time, and the last entry on the previous page shows at the top.
Note: XPEDITER/IMS processes every intercept specified on the
panel and there is a memory overhead associated with each
program specified.

|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------- XPEDITER/TSO - HOGAN IMSPEM (2.10) --------------
------ |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu)
|
| BTsin (Display BTSIN Menu) UP (Scroll Up) DOwn (Scroll Down
) |
|
|
| INTERCEPTS
|
|
|
| PROGRAM TRANCODE INITSCR POSTSCR START M
AX |
| ===> TRIHOGAN ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|

Figure 4-31. HOGAN IMSPEM Screen 2


TRANCODE Required if PROGRAM is not specified. This field is used to
identify which transactions are to be intercepted and debugged
by XPEDITER/IMS. You can enter the transaction code in this
field or enter the load module name in the PROGRAM field, or
enter values for both fields.
Each transaction code must be unique. If you enter only a
transaction code, its associated program is intercepted.
However, multiple transactions can invoke the same program.
Therefore, if you enter only the program name, all the
transactions associated with that program are intercepted and
debugged by XPEDITER/IMS.
INITSCR Enter the member name of a test script if you wish to execute a
predefined command stream at the beginning of the debugging
session. You can optionally enter a member name from a SETUP
INCLUDE library.
POSTSCR Enter the member name of a test script if you wish to execute a
predefined command stream at the end of the debugging session.
You can optionally enter a member name from a SETUP INCLUDE
library.
START Enter up to four digits; the default value is 1. The start
value specifies the intercept that processing begins on. The
program's source code is displayed when the start intercept is
processed.
MAX Enter the number of times the intercept is to remain active.
If you do not supply a MAX value, XPEDITER/IMS intercepts the
transaction (or program) each time it is invoked. If you enter
an EXIT command and there are still intercepts remaining, those
intercepts are ignored.
NBA Enter the Normal Buffer Allocation, up to two digits. The
default value is 10.
OBA Enter the Overflow Buffer Allocation, containing up to two
digits. The default value is 10.
Note: The NBA and OBA fields appear on the screen only if
your site installer indicated that your site uses Fast Path
databases. The values are inserted in the PARM string when the
IMS region is attached.
HOGAN PEM Driver
Enter the name of the HOGAN driver. IMSPEM is the default.
Test HOGAN PEM Driver
Enter YES to debug in PEM driver mode. The default value (NO)
specifies application mode.
File Allocation List
Enter the dataset name that contains the file list, CLIST, or
JCL. The File Allocation Utility (FAU) preallocates files and
databases that will be processed by the program upon entry to
the debugging session.
If the member name of a PDS is omitted, a member list is
displayed.
If the dataset contains a CLIST, XPEDITER/IMS immediately
executes it and begins the debugging session.
If the dataset contains a file list or JCL, the FAU is invoked
to dynamically allocate the specified files before beginning
the debugging session. See Appendix B, "Allocating Your Test
Data Files" in topic B.0 for detailed information about the
FAU.
Is This a DB2 Test?
Enter YES if the program executes EXEC SQL statements. The
default value is NO.
System Enter the DB2 subsystem name if the program executes EXEC SQL
statements. The subsystem name depends on the release level of
DB2 and is assigned at the time of installation.
Press <ENTER> to initiate the debugging session. Refer to Chapter 5,
"Debugging a Program" in topic 5.0 for information on how to debug your
program.
When intercepts cannot be set and the message "MAX USERS" is displayed on
the test screen, enter INTER on the command line to look at the Intercepts
screen, shown in Figure 4-32. The "Number of Available Class Codes" field
will be zero (0), indicating that the maximum number of users are testing
with XPEDITER/IMS.
The Intercepts screen provides valuable information regarding the use of
XPEDITER/IMS--how many users can still test using XPEDITER/IMS, what
programs/transactions are being tested, and other information connected
with the program and the transaction code.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------------ INTERCEPTS ------------------- ROW 1 TO 14
OF 14 |
| COMMAND ===> SCROLL ===>
PAGE |
|
|
| Number Of Available Class Codes: 0 IMSID: IMSA
|
| CLASS
|
| USERID TRAN CODE PROGRAM TYPE PSB OLD NEW
|
| ======== ========= ======== ==== ========= === ===
|
| ASJUSR1 XPEDTRAN XPEDTRAN TP XPEDTRAN 002 045
|
| ASJUSR1 XPE1 XPEDTRA1 TP XPEDTRA1 004 045
|
| ASJUSR1 XPE2 XPEDTRA2 TP XPEDTRA2 005 045
|
| ASJUSR2 XPEDBMP1 BMP XPEDPSB1
|
| ASJUSR3 XPE3 XPEDBMP2 BMP XPEDPSB2
|
| ASJUSR4 XPE4 XPEDTRA4 TP XPEDTRA4 004 016
|
| ASJUSR5 XPE5 XPEDTRA5 TP XPEDTRA5 004 018
|
| ASJUSR6 XFP1 XPEDFP1 IFP FASTPAT1 001
|
| ASJUSR7 XFP2 XPEDFP2 IFP FASTPAT2 001
|
| ASJUSR8 XPEDBMP3 BMP XPEDBMP
|
| ASJUSR9 XPE6 XPEDTRA6 TP XPEDTRA6 004 019
|
| ASJUSR9 XPE7 XPEDTRA7 TP XPEDTRA7 005 019
|
| ASJUSR9 XPE8 XPEDTRA8 TP XPEDTRA8 005 019
|
| ASJUSR10 XPEDBMP4 BMP XPEDPSB2
|
|
|
| F1=HELP F2=SPLIT F3=END F4=RETURN F5=RFIND F6=RCHANGE
|
| F7=UP F8=DOWN F9=SWAP F10=LEFT F11=RIGHT F12=RETRIEVE
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-32. Intercepts Screen
The Intercepts screen does not contain any input fields; all of the
information is displayed for you. The fields on the screen are described
below:
Number Of Available Class Codes
The number of class codes available. It tells you how many
more people can run an MPP test. Notice that Figure 4-32
displays the number of class codes available for use as zero
(0), indicating that the maximum number of users are testing
with XPEDITER/IMS.
IMSID The name of the IMS control region with which the IMS user
programs communicate.
USERID The user ID of the person running the test.
TRAN CODE The transaction code associated with the program, if one was
used.
PROGRAM The name of the program being tested.
TYPE The type of program being tested.
PSB The PSB name associated with the program. Often this name is
the same as the program name.
OLD CLASS The original class code of the user's transaction.
NEW CLASS The XPEDITER/IMS reserved class code for the transaction.
XPEDITER/IMS reassigns the class codes for Message Processing
transactions.
4.5.11 HOGAN BMPPEM Test Screen - Environments Menu - Option 11
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The HOGAN BMPPEM screen displayed in Figure 4-33 lets you set up debug
parameters before beginning program execution of HOGAN BMPPEM in a BMP
Region.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------- XPEDITER/TSO - HOGAN BMPPEM (2.11) --------------
------ |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu)
|
| INter (Display Intercepts) SYsin (Edit SYSIN Data Set)
|
|
|
| TEST SELECTION CRITERIA:
|
|
|
| Initial Script ===>
|
| Post Script ===>
|
| PSB ===>
|
| TRAN CODE ===>
|
| NBA ===> 10 (Normal Buffer Allocation)
|
| OBA ===> 10 (Overflow Buffer Allocation)
|
|
|
| HOGAN SYSIN Data set ===>
|
| HOGAN PEM Driver ===> BMPPEM ("BMPPEM" is Default for This Test
) |
| Test HOGAN PEM Driver ===> NO
|
|
|
| File Allocation List ===>
|
|
|
| Is This a DB2 Test? ===> NO System ===>
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-33. HOGAN BMPPEM Screen
The fields on the HOGAN BMPPEM screen are:
Initial Script
Enter the member name of a test script if you wish to execute a
predefined command stream at the beginning of the debugging
session. You can optionally enter a member name from a SETUP
INCLUDE library.
Post Script
Enter the member name of a test script if you wish to execute a
predefined command stream at the end of the debugging session.
You can optionally enter a member name from a SETUP INCLUDE
library.
PSB Enter the PSB associated with the program you are debugging.
TRAN CODE Enter the optional IMS input transaction code. This value is
inserted into the IMS parm specified under SETUP.
NBA Enter the Normal Buffer Allocation, up to two digits. The
default value is 10.
OBA Enter the Overflow Buffer Allocation, containing up to two
digits. The default value is 10.
Note: The NBA and OBA fields appear on the screen only if
your site installer indicated that your site uses Fast Path
databases. The values are inserted in the PARM string when the
IMS region is attached.
HOGAN SYSIN Data Set
A control file used by HOGAN programs. Enter SYSIN on the
command line to edit or create the SYSIN dataset, shown in
Figure 4-34.

|---------------------------------------------------------------------------
-------|
|
|
| EDIT --- AXPTSO.XPEDITER.SYSINDS(HOGSYS01) - 01.00 -------- COLUMNS 001 07
2 |
| COMMAND ===> SCROLL ===> PAG
E |
| ****** *************************** TOP OF DATA ***************************
* |
| 000001 1 49 904
|
| 000002 #905¬704¬1%
|
| ****** ************************** BOTTOM OF DATA *************************
* |
|
|

Figure 4-34. Displaying the SYSIN Dataset


HOGAN PEM Driver
Enter the name of the HOGAN driver. BMPPEM is the default.
Test HOGAN PEM Driver
Enter YES to debug in PEM driver mode. The default value (NO)
specifies application mode.
File Allocation List
Enter the dataset name that contains the file list, CLIST, or
JCL. The File Allocation Utility (FAU) preallocates files and
databases that will be processed by the program upon entry to
the debugging session. Any files or databases that are not
dynamically allocated by HOGAN must be allocated through this
file.
If the member name of a PDS is omitted, a member list is
displayed.
If the dataset contains a CLIST, XPEDITER/TSO immediately
executes it and begins the debugging session.
If the dataset contains a file list or JCL, the FAU is invoked
to dynamically allocate the specified files before beginning
the debugging session. See Appendix B, "Allocating Your Test
Data Files" in topic B.0 for detailed information about the
FAU.
Note: All CDMF files and databases should be allocated.
Is This a DB2 Test?
Enter YES if the program executes EXEC SQL statements. The
default value is NO.
System Enter the DB2 subsystem name if the program executes EXEC SQL
statements. The subsystem name depends on the release level of
DB2 and is assigned at the time of installation.
Press <ENTER> to initiate the debugging session. Refer to Chapter 5,
"Debugging a Program" in topic 5.0 for information on how to debug your
program.
When intercepts cannot be set and the message "MAX USERS" is displayed on
the test screen, enter INTER on the command line to look at the Intercepts
screen, shown in Figure 4-35. The "Number of Available Class Codes" field
will be zero (0), indicating that the maximum number of users are testing
with XPEDITER/IMS.
The Intercepts screen provides valuable information regarding the use of
XPEDITER/IMS--how many users can still test using XPEDITER/IMS, what
programs/transactions are being tested, and other information connected
with the program and the transaction code.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------------ INTERCEPTS ------------------- ROW 1 TO 14
OF 14 |
| COMMAND ===> SCROLL ===>
PAGE |
|
|
| Number Of Available Class Codes: 0 IMSID: IMSA
|
| CLASS
|
| USERID TRAN CODE PROGRAM TYPE PSB OLD NEW
|
| ======== ========= ======== ==== ========= === ===
|
| ASJUSR1 XPEDTRAN XPEDTRAN TP XPEDTRAN 002 045
|
| ASJUSR1 XPE1 XPEDTRA1 TP XPEDTRA1 004 045
|
| ASJUSR1 XPE2 XPEDTRA2 TP XPEDTRA2 005 045
|
| ASJUSR2 XPEDBMP1 BMP XPEDPSB1
|
| ASJUSR3 XPE3 XPEDBMP2 BMP XPEDPSB2
|
| ASJUSR4 XPE4 XPEDTRA4 TP XPEDTRA4 004 016
|
| ASJUSR5 XPE5 XPEDTRA5 TP XPEDTRA5 004 018
|
| ASJUSR6 XFP1 XPEDFP1 IFP FASTPAT1 001
|
| ASJUSR7 XFP2 XPEDFP2 IFP FASTPAT2 001
|
| ASJUSR8 XPEDBMP3 BMP XPEDBMP
|
| ASJUSR9 XPE6 XPEDTRA6 TP XPEDTRA6 004 019
|
| ASJUSR9 XPE7 XPEDTRA7 TP XPEDTRA7 005 019
|
| ASJUSR9 XPE8 XPEDTRA8 TP XPEDTRA8 005 019
|
| ASJUSR10 XPEDBMP4 BMP XPEDPSB2
|
|
|
| F1=HELP F2=SPLIT F3=END F4=RETURN F5=RFIND F6=RCHANGE
|
| F7=UP F8=DOWN F9=SWAP F10=LEFT F11=RIGHT F12=RETRIEVE
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-35. Intercepts Screen
The Intercepts screen does not contain any input fields; all of the
information is displayed for you. The fields on the screen are described
below:
Number Of Available Class Codes
The number of class codes available. It tells you how many
more people can run an MPP test. Notice that Figure 4-35
displays the number of class codes available for use as zero
(0), indicating that the maximum number of users are testing
with XPEDITER/IMS.
IMSID The name of the IMS control region with which the IMS user
programs communicate.
USERID The user ID of the person running the test.
TRAN CODE The transaction code associated with the program, if one was
used.
PROGRAM The name of the program being tested.
TYPE The type of program being tested.
PSB The PSB name associated with the program. Often this name is
the same as the program name.
OLD CLASS The original class code of the user's transaction.
NEW CLASS The XPEDITER/IMS reserved class code for the transaction.
XPEDITER/IMS reassigns the class codes for Message Processing
transactions.
4.6 Connecting to CICS
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Option 5 (CICS) on the Primary Menu displays the TSO to CICS Connect
Support screen shown in Figure 4-36. This screen lets you select a CICS
system and subsequently connect to a CICS session. It also lets you
specify a PF key that enables you to easily return to TSO.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ----- XPEDITER/TSO - CICS CONNECT --------- ROW 1 TO 6 O
F 6 |
| COMMAND ===> SCROLL ===> P
AGE |
|
|
| TOGGLE pf key: ===> PF 13 LogMode ===> NSX32702 (Optional)
|
|
|
| Please enter an S by the desired system
|
|
|
| SEL CICS SYSTEM
|
| --- -------------
|
| _ CICX170D
|
|
|
| _ CICX170I
|
|
|
| _ CICX170Q
|
|
|
| _ CICX170R
|
|
|
| _ CICX210D
|
|
|
| _ CICX210R
|
|
|
| ******************************* BOTTOM OF DATA ***************************
**** |
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 4-36. TSO to CICS Connect Screen
Specify a PF key that you can use to toggle from CICS to TSO. Then, enter
an s in the SEL area of the CICS system you want to access. Press <ENTER>
and the CICS-VS screen of the selected region is displayed.
Optionally, a logmode can be entered in the LogMode field and XPEDITER/TSO
will attempt to connect to CICS using the indicated mode. To use the
default VTAM defined logmode, clear the LogMode field.
To return to TSO, press your selected PF key from any screen in your CICS
session. When a currently connected CICS session is ended, the message
"SESSION TERMINATED" appears in the right corner of the CICS Connect
screen.
5.0 Chapter 5. Debugging a Program
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
This chapter describes how to use XPEDITER/TSO to interactively debug your
COBOL programs. You can:
* Translate and expand EXEC statements using the GEN command.
* Control program execution and set breakpoints using the BEFORE, AFTER,
GO, INTERCEPT, PAUSE, TRACE, AT, WHEN, COUNT MAX, SOURCE, and LOCATE
commands.
* Inspect and manipulate program data (variables, registers, and memory)
with the PEEK, KEEP, MOVE, MEMORY, and GPREGS commands.
* Analyze program logic (data flow, execution path, and execution
coverage) using the FIND, EXCLUDE, MONITOR, REVERSE, RESUME, TRACE,
SHOW PREV, and COUNT commands.
* Modify program logic with the SKIP, INSERT, GOTO, and MOVE commands.
* Debug and test programs that do not have the source (no SIR records)
available with the SOURCE, INTERCEPT, and AT commands.
* Display subsystem related debugging information for VSAM, IDMS, IMS,
and DB2 and environment specific run-time characteristics during a
test session. Available only if you have Abend-AID release 6.1.4
installed at your site.
* Use test scripts (a predefined stream of XPEDITER/TSO commands) to
automate the test session (INCLUDE command).
In addition, when you have XPEDITER for DB2 Extension and File-AID for DB2
installed at your site, you can interactively experiment with SQL
statements in your program, retrieve Explain information about SQL
statements, and browse and edit DB2 table data. XPEDITER/TSO supports
debugging of any DB2 program within any execution environment selectable
under the Full Screen Environments Menu. Please refer to Chapter 12,
"Using XPEDITER for DB2 Extension" in topic 12.0 for more information.
When you start a debugging session, XPEDITER/TSO displays the program
source and automatically sets a BEFORE breakpoint on the PROCEDURE
DIVISION statement, and an AFTER breakpoint on the GOBACK or STOP RUN
statement, as shown in Figure 5-1.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| Before Breakpoint Encountered
|
| ------ ------------------------------------------------------ Before TRI
MAIN --|
| =====> B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR(TX)
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-1. XPEDITER/TSO Source Display Screen
The execution status field on the fourth line indicates the current
execution position, and an arrow points to the statement where execution
is paused. A message is also issued when execution is paused. The
breakpoint indicator areas in column 9 and columns 74 through 80 show the
breakpoints that have been set.

5.1 Translating EXEC Program Statements


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

XPEDITER/TSO has a set of utility commands (based on the keyword GEN)


that enable the debugging of EXEC SQL, EXEC DLI, and EXEC CICS statements.
The GEN command lets you optionally expand EXEC statements and display
translator-related COBOL statements. You can see and place breakpoints on
the translated code and debug your EXECs while the program is being
executed. GEN commands are not supported for macro-level programs.
To use this feature, your program must be compiled (or recompiled) with
the XPEDITER/TSO SIR compile processor.
If SET GEN is OFF (the system default), the unexpanded code is displayed.
The GEN command can be used to selectively expand and display translated
code. The SET GEN ON command globally expands and displays all
statements. If SET GEN is ON, there is no requirement to use the GEN
command since all EXECs have already been translated. SET GEN ON remains
operational across debugging sessions.
If GEN is entered as a primary command, the statement number must point to
the start of an EXEC statement. You can specify a list or a range of
statement numbers.
When a GEN is issued for a statement, the statement appears on the source
display as code that is commented out. The expanded code generated by the
translator is then displayed on the screen. Any breakpoints on the EXEC
statement appear in the expanded code. After expansion, breakpoints on
the commented code are not allowed; but breakpoints on the expanded code
are allowed.
On a TRACE or WHEN breakpoint, each statement within the expanded code
receives the appropriate breakpoint.
On a COUNT, the expansion gives counts for all statements. When
collapsed, the count on the first statement is moved to the EXEC
statement.
An INSERT on an EXEC is moved after the last statement on an expansion.
If you insert on expanded or genned code, the inserted data is lost when
the the genned code is collapsed.
The G line command must be entered on the line at the start of the EXEC
statement. The block command, GG, must begin and end on the first lines
of EXEC statements. The line command, DG, removes the effects of the G or
GG line commands, as does the DELETE GEN primary command.
Example 1--Expanding an EXEC SQL statement using a G line command:
As seen in Figure 5-2, the G line command is entered on statement number
00396, which results in the expanded text shown in Figure 5-3.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: SQLSAMP MODULE: SQLSAMP COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------ Before SQL
SAMP --|
| 000390 EXEC SQL DECLARE DIRECTORY CURSOR FOR
|
| 000391 SELECT *
|
| 000392 FROM VSQLSAMP
|
| 000393 WHERE LASTNAME LIKE :LNAME-WORK
|
| 000394 OR FIRSTNAME LIKE :FNAME-WORK
|
| 000395 END-EXEC.
|
| G 396 EXEC SQL OPEN DIRECTORY END-EXEC.
|
| 000403 EXEC SQL FETCH DIRECTORY INTO :PDIRECTORY END-EXEC.
|
| 000410 IF SQLCODE = SQL-NOT-FOUND
|
| 000411 MOVE 'NO ENTRY FOUND IN DIRECTORY ' TO RPT-ERROR-TEXT
|
| 000412 WRITE RPT-REC FROM RPT-ERROR-LINE
|
| 000413 ELSE
|
| 000414 PERFORM PRINT-AND-GET-NEXT
|
| 000415 UNTIL SQLCODE IS NOT EQUAL TO ZERO.
|
| 000416 EXEC SQL CLOSE DIRECTORY END-EXEC.
|
| 000423 READ CARDIN RECORD INTO INPUT-AREA
|
| 000424 AT END MOVE 'N' TO INPUT-SWITCH.
|
| 000426 *------------------------------------------------------------------
-* |
| 000427 * PRINT REPORT DATA AND GET MORE
* |
| 000428 *------------------------------------------------------------------
-* |
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-2. Expanding an EXEC SQL Statement Using the G(en) Line Command
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: SQLSAMP MODULE: SQLSAMP COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------ Before SQL
SAMP --|
| 000390 EXEC SQL DECLARE DIRECTORY CURSOR FOR
|
| 000391 SELECT *
|
| 000392 FROM VSQLSAMP
|
| 000393 WHERE LASTNAME LIKE :LNAME-WORK
|
| 000394 OR FIRSTNAME LIKE :FNAME-WORK
|
| 000395 END-EXEC.
|
| 000396 * EXEC SQL OPEN DIRECTORY END-EXEC.
|
| 000397 PERFORM SQL-INITIAL UNTIL SQL-INIT-DONE
|
| 000398 CALL 'DSNHLI' USING SQL-PLIST6
|
| 000399 IF SQLCODE < 0 GO TO DBERROR ELSE
|
| 000400 IF SQLCODE > 0 AND SQLCODE NOT = 100
|
| 000401 OR SQLWARN0 = 'W' GO TO DBERROR ELSE
|
| 000402 MOVE 1 TO SQL-INIT-FLAG.
|
| 000403 EXEC SQL FETCH DIRECTORY INTO :PDIRECTORY END-EXEC.
|
| 000410 IF SQLCODE = SQL-NOT-FOUND
|
| 000411 MOVE 'NO ENTRY FOUND IN DIRECTORY ' TO RPT-ERROR-TEXT
|
| 000412 WRITE RPT-REC FROM RPT-ERROR-LINE
|
| 000413 ELSE
|
| 000414 PERFORM PRINT-AND-GET-NEXT
|
| 000415 UNTIL SQLCODE IS NOT EQUAL TO ZERO.
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-3. Expanded EXEC SQL Statement
Example 2--Seeing the effect of breakpoints set against an EXEC:
In Figure 5-4, note that BEFORE and AFTER breakpoints have been entered on
the EXEC SQL statement number 396, as denoted by the '@' sign. If you GEN
this EXEC statement, you can see where the breakpoints are applied in the
translated code, as seen in Figure 5-5.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: SQLSAMP MODULE: SQLSAMP COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------ Before SQL
SAMP --|
| 000390 EXEC SQL DECLARE DIRECTORY CURSOR FOR
|
| 000391 SELECT *
|
| 000392 FROM VSQLSAMP
|
| 000393 WHERE LASTNAME LIKE :LNAME-WORK
|
| 000394 OR FIRSTNAME LIKE :FNAME-WORK
|
| 000395 END-EXEC.
|
| G 396 @ EXEC SQL OPEN DIRECTORY END-EXEC.
|
| 000403 EXEC SQL FETCH DIRECTORY INTO :PDIRECTORY END-EXEC.
|
| 000410 IF SQLCODE = SQL-NOT-FOUND
|
| 000411 MOVE 'NO ENTRY FOUND IN DIRECTORY ' TO RPT-ERROR-TEXT
|
| 000412 WRITE RPT-REC FROM RPT-ERROR-LINE
|
| 000413 ELSE
|
| 000414 PERFORM PRINT-AND-GET-NEXT
|
| 000415 UNTIL SQLCODE IS NOT EQUAL TO ZERO.
|
| 000416 EXEC SQL CLOSE DIRECTORY END-EXEC.
|
| 000423 READ CARDIN RECORD INTO INPUT-AREA
|
| 000424 AT END MOVE 'N' TO INPUT-SWITCH.
|
| 000426 *----------------------------------------------------------------
-* |
| 000427 * PRINT REPORT DATA AND GET MORE
* |
| 000428 *----------------------------------------------------------------
-* |
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-4. BEFORE and AFTER Breakpoints Set on an Unexpanded EXEC SQL
Statement
After expansion, a BEFORE breakpoint on the EXEC SQL appears on the first
verb of the expanded code and an AFTER breakpoint appears on the call to
DSNHLI.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: SQLSAMP MODULE: SQLSAMP COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------ Before SQL
SAMP --|
| 000390 EXEC SQL DECLARE DIRECTORY CURSOR FOR
|
| 000391 SELECT *
|
| 000392 FROM VSQLSAMP
|
| 000393 WHERE LASTNAME LIKE :LNAME-WORK
|
| 000394 OR FIRSTNAME LIKE :FNAME-WORK
|
| 000395 END-EXEC.
|
| 000396 * EXEC SQL OPEN DIRECTORY END-EXEC.
|
| 000397 B PERFORM SQL-INITIAL UNTIL SQL-INIT-DONE
|
| 000398 A CALL 'DSNHLI' USING SQL-PLIST6
|
| 000399 IF SQLCODE < 0 GO TO DBERROR ELSE
|
| 000400 IF SQLCODE > 0 AND SQLCODE NOT = 100
|
| 000401 OR SQLWARN0 = 'W' GO TO DBERROR ELSE
|
| 000402 MOVE 1 TO SQL-INIT-FLAG.
|
| 000403 EXEC SQL FETCH DIRECTORY INTO :PDIRECTORY END-EXEC.
|
| 000410 IF SQLCODE = SQL-NOT-FOUND
|
| 000411 MOVE 'NO ENTRY FOUND IN DIRECTORY ' TO RPT-ERROR-TEXT
|
| 000412 WRITE RPT-REC FROM RPT-ERROR-LINE
|
| 000413 ELSE
|
| 000414 PERFORM PRINT-AND-GET-NEXT
|
| 000415 UNTIL SQLCODE IS NOT EQUAL TO ZERO.
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-5. BEFORE and AFTER Breakpoints Shown on a GENned EXEC SQL
Statement
5.2 Controlling Program Execution
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

This section describes the XPEDITER/TSO commands that let you control
program execution. Some of these commands are used to display a specific
program as the active program (SOURCE and LOCATE). While others start and
stop program execution at any time. These commands are referred to as
breakpoint commands. A breakpoint is a certain place in your program
where you want to temporarily suspend normal program execution.
Breakpoint commands let you designate the location of the pause by
statement number or paragraph name (explicit breakpoint), or by the
occurrence of a particular event (conditional breakpoint).
While program execution is paused at a breakpoint, you can enter
XPEDITER/TSO commands to examine the data passed to variables, analyze the
changing state of the working storage, and follow the program logic.
Execution resumes when you enter the GO command (<PF12>).
XPEDITER/TSO intercepts program abends before a dump is produced and
automatically pauses at the failing statement. Some abends can be
corrected dynamically, and execution can be resumed without terminating
the session.

5.2.1 Breakpoint Commands


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The following are XPEDITER/TSO commands that set breakpoints:


AFTER (A line command)
Suspends execution after a statement, paragraph, or module. An
AFTER breakpoint is automatically set on each GOBACK or STOP
RUN statement before the program begins executing.
AT Sets a breakpoint on a sourceless main program or subprogram.
Sourceless debugging and using the AT command are discussed in
"Debugging a Sourceless Program" in topic 5.6.
BEFORE (B line command)
Suspends execution before a statement, paragraph, or module. A
BEFORE breakpoint is automatically set on the PROCEDURE
DIVISION statement before the program begins executing.
COUNT (C line command)
Counts the number of times an instruction or paragraph is
executed and suspends program execution upon reaching a set
limit.
GO Resumes program execution, executes a set number of statements
or paragraphs, and lets you step through program code.
INTERCEPT Suspends execution before the program begins at the PROCEDURE
DIVISION statement and at the GOBACK, STOP RUN, or EXIT PROGRAM
after the program is completed.
PAUSE Suspends execution within an inserted block of code.
TRACE Traces the statements as it executes and suspends execution
upon reaching a set limit or when requested by a keyboard
interrupt.
WHEN Suspends execution when a specified condition occurs.
Breakpoint commands can be removed with the DELETE command.
5.2.2 Setting Explicit Breakpoints
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The AFTER, BEFORE, and INTERCEPT commands are used to set explicit
breakpoints at the following locations:
Statement number
Breakpoints can set at a specific statement containing a
paragraph name, a section name, an IF construct, or any
executable verbs. A line containing only a conditional
construct (ELSE, AT END) or a scope terminator (END-IF,
END-READ, etc.) is not considered to contain executable
verbs.
An AFTER breakpoint set on a CALL verb will pause after
the subroutine is completed, whereas an AFTER breakpoint
set on an out-of-line PERFORM verb will pause before the
next logical statement is executed.
Paragraph name Breakpoints can be set on paragraph names or section names.
An AFTER breakpoint set on a paragraph or section name
pauses before the first executable statement within the
paragraph. It does not pause after executing all the
statements in the paragraph or section.
Module name Breakpoints can be set on module names. Module names are
identified with terminating periods (.) to distinguish
them from paragraph names. An AFTER module breakpoint sets
an AFTER breakpoint on the statement that contains the
GOBACK, STOP RUN, or EXIT PROGRAM verb. The BEFORE module
breakpoint sets a BEFORE breakpoint on the PROCEDURE
DIVISION statement. A module name with a period can be
prefixed to qualify a statement number or a paragraph name
that is not currently displayed.
A series of breakpoints can be specified by delimiting each entry with
one blank space. For example,
BEFORE 36 TRITST. TRIRPT.WRITE-DTLS
sets a BEFORE breakpoint at statement 36 in the TRIMAIN program, another
BEFORE breakpoint at the PROCEDURE DIVISION statement in module TRITST,
and another one at paragraph WRITE-DTLS in module TRIRPT. If the primary
command line is too small to list breakpoints or to stack commands, enter
the SET CMDSIZE command to expand the command line to up to three lines.

5.2.2.1 Using the BEFORE and AFTER Commands


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Enter the following commands to set BEFORE breakpoints on every paragraph


and AFTER breakpoints on statements 46 and 51:
BEFORE ALL PARA;AFTER 46 51
When <ENTER> is pressed, the screen looks like Figure 5-6.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------ Before TRI
MAIN --|
| =====> B PROCEDURE DIVISION.
|
| 000035 B MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 B INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 B ANALYZE-NEXT-REC.
|
| 000046 A READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 A CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR(TX)
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-6. Result of Setting BEFORE ALL PARA and AFTER 46 51 Breakpoints
The AFTER breakpoint on statement 46 causes execution to pause after the
READ statement is executed and before the next statement is
executed--statement 48 or 49, depending on the AT END condition. The
AFTER breakpoint on statement 51 causes execution to pause after the
called module TRITST returns to the calling module TRIMAIN.
You must qualify a breakpoint within a module that is not currently
displayed by prefixing the breakpoint with a module name terminated with a
period (.). Alternatively, you can first display the source of the
program that will be called later to establish module qualification, and
then set breakpoints at the desired locations.
However, if the program is a member of a statically-linked module that is
not yet loaded in memory, bring the module into storage using the LOAD
module-name command first, and then enter the SOURCE program-name command.
The example shown in Figure 5-7 demonstrates using a qualified BEFORE
breakpoint on paragraph DETERMINE-TYPE in module TRITST, and using the
SOURCE command to display the program TRITST to verify if the BEFORE
breakpoint is set correctly.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> BEFORE TRITST.DETERMINE-TYPE;SOURCE TRITST SCROLL ===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------ Before TRI
MAIN --|
| =====> B PROCEDURE DIVISION.
|
| 000035 B MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 B INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 B ANALYZE-NEXT-REC.
|
| 000046 A READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 A CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR(TX)
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-7. Qualifying Breakpoints and Displaying Another Source File
When <ENTER> is pressed, the screen looks like Figure 5-8.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRITST MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------ Before TRI
MAIN --|
| 000015 PROCEDURE DIVISION USING TST-REC
|
| 000016 TYPE-OF-TRIANGLE.
|
| 000017 VALIDATE-TRIANGLE.
|
| 000018 ADD A B GIVING A-N-B.
|
| 000019 ADD A C GIVING A-N-C.
|
| 000020 ADD B C GIVING B-N-C.
|
| 000021 IF (B-N-C NOT > A) OR (A-N-C NOT > B) OR (A-N-B NOT > C)
|
| 000022 MOVE 4 TO TYPE-OF-TRIANGLE.
|
| 000023 B DETERMINE-TYPE.
|
| 000024 IF TYPE-OF-TRIANGLE = 4
|
| 000025 NEXT SENTENCE
|
| 000026 ELSE
|
| 000027 IF (A = B) AND (B = C)
|
| 000028 MOVE 1 TO TYPE-OF-TRIANGLE
|
| 000029 ELSE
|
| 000030 IF (A = B) OR (B = C) OR (A = C)
|
| 000031 MOVE 2 TO TYPE-OF-TRIANGLE
|
| 000032 ELSE
|
| 000033 MOVE 3 TO TYPE-OF-TRIANGLE.
|
| 000034 RETURN-TO-CALLER.
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-8. Result of Entering Qualified Breakpoint
Enter the SOURCE command without any keyword or press <PF6> (LOCATE *) to
display the active program (TRIMAIN) where execution is currently paused.
5.2.2.2 Using the INTERCEPT Command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The INTERCEPT command performs the same as the AFTER module breakpoint,
BEFORE module breakpoint, and the SOURCE commands. Figure 5-9
demonstrates using the INTERCEPT command to access module TRIRPT.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> INTERCEPT TRIRPT SCROLL ===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------ Before TRI
MAIN --|
| =====> B PROCEDURE DIVISION.
|
| 000035 B MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 B INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
|
|
Figure 5-9. Using the INTERCEPT Command
When <ENTER> is pressed, the screen looks like Figure 5-10.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| PROGRAM: TRIRPT MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------ Before TRI
MAIN --|
| 000042 B PROCEDURE DIVISION USING TABLE-OF-NAMES-N-CNTRS.
|
| 000043 OPEN OUTPUT OUTFILE.
|
| 000044 WRITE OUT-REC FROM HDR-LINE.
|
| 000045 WRITE OUT-REC FROM BLANK-LINE.
|
| 000046 PERFORM MOVE-FIELDS.
|
| 000047 PERFORM WRITE-DTLS
|
| 000048 VARYING TX FROM 1 BY 1
|
| 000049 UNTIL TX > 4.
|
| 000050 WRITE OUT-REC FROM BLANK-LINE.
|
| 000051 ADD T-CNTR (1) T-CNTR (2) T-CNTR (3) T-CNTR (4)
|
| 000052 GIVING DTL-CNTR.
|
| 000053 MOVE 'INPUT RECORDS' TO DTL-TITLE.
|
| 000054 WRITE OUT-REC FROM DTL-LINE.
|
| 000055 CLOSE OUTFILE.
|
| 000056 A GOBACK.
|
| 000057 WRITE-DTLS.
|
| 000058 MOVE T-NAME (TX) TO DTL-TITLE.
|
| 000059 MOVE T-CNTR (TX) TO DTL-CNTR.
|
| 000060 WRITE OUT-REC FROM DTL-LINE.
|
| 000061 MOVE-FIELDS.
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-10. Result of the INTERCEPT Command
Enter the SOURCE command without any keyword or press <PF6> (LOCATE *) to
display the active program (TRIMAIN) where program execution is currently
paused.
Note: You can reset all the breakpoints you have entered since the
beginning of your debugging session by issuing the RETEST command to
obtain a "fresh" copy of the TRIMAIN program. Or, you can resume
execution of your program by issuing the GO command.
5.2.3 Resuming Execution With the GO Command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The GO command (<PF12>/<PF24>) is used to begin or resume execution of


your program. Your program will execute until a breakpoint is encountered
or an abend is intercepted by XPEDITER/TSO.
For example, in the program TRIMAIN, program execution paused when the
BEFORE breakpoint was encountered on the PROCEDURE DIVISION.
Suppose you entered the following command stream to set explicit AFTER
and BEFORE breakpoints:
AFTER 43 46;BEFORE 46
Figure 5-11 shows the two AFTER breakpoints set on statement 43 and 46.
The at sign (@) on statement 46 indicates that the BEFORE breakpoint was
also placed on the same line as the AFTER breakpoint.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------ Before TRI
MAIN --|
| =====> B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 A OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 @ READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR(TX)
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-11. BEFORE and AFTER Breakpoint Both Set on Line 46
When you press <PF12> (GO), the execution arrow and active breakpoint
field shown in Figure 5-12 indicate that the program is paused at
statement 43, the first breakpoint reached during execution.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| Next logical instruction is TRIMAIN.44
|
| ------ ---------------------------------------------------- After TRIMAI
N.43 --|
| 000034 B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| ====>> A OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 @ READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR(TX)
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-12. Result of Entering the GO Command
At this point, you can do any of the following:
* Set additional breakpoints
* Insert XPEDITER/TSO commands into the program
* Press <PF12> (GO) to resume execution
* Press <PF9> (GO 1) to step through the execution line-by-line
* Issue a RETEST command to begin a different debugging session with a
new copy of the TRIMAIN program
* Enter the EXIT command to exit from the debugging session
5.2.4 Setting Conditional Breakpoints
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The GO n, COUNT, WHEN, PAUSE, and TRACE commands are used to set
breakpoints when a specified condition occurs.

5.2.4.1 Using the GO n Command


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Using the GO command without any arguments resumes execution until the
next breakpoint is reached or until XPEDITER/TSO intercepts a program
abend. The GO command can also conditionally execute a specified number
of statements or paragraphs if an integer argument is entered with the
command. For example, entering
GO 5
executes five statements before pausing, as shown in Figure 5-13, and
entering
GO 5 PARAGRAPH
executes five paragraphs before pausing. You will pause at line 45.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| 5 Statements Executed
|
| ------ --------------------------------------------------- Before TRIMAI
N.43 --|
| 000034 B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| =====> OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR(TX)
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-13. Result of Entering the GO 5 Command
You can step through code a single step at a time to understand the effect
of executing each statement by using the GO 1 command (<PF9>). The GO 1
command stops at paragraph and section names, as well as at statements
that contain the IF construct or any executable verbs. When a GO 1
command is issued from any statement that transfers control to another
module (for example, CALL, GOBACK, EXIT PROGRAM), execution pauses when
control returns to the current module, unless a breakpoint is encountered
within the called module.
Figure 5-14 demonstrates an example of entering the GO 1 command when
execution is paused at the CALL to TRITST at statement 51. No breakpoints
are set in TRITST.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ --------------------------------------------------- Before TRIMAI
N.52 --|
| 000034 B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 B CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| =====> SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR(TX)
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-14. Single Stepping Through Code Within the Current Module
Figure 5-15 demonstrates the same example--execution is paused at the CALL
to TRITST at statement 51, with a BEFORE module breakpoint set at the
beginning of TRITST.
When you press <PF9> (GO 1), execution steps into the TRITST module as
shown in Figure 5-15 because a BEFORE TRITST. breakpoint was set.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| Before Breakpoint Encountered
|
| ------ ------------------------------------------------------- Before TR
ITST --|
| =====> B PROCEDURE DIVISION USING TST-REC
|
| 000016 TYPE-OF-TRIANG
|
| 000017 VALIDATE-TRIANGLE.
|
| 000018 ADD A B GIVING A-N-B.
|
| 000019 ADD A C GIVING A-N-C.
|
| 000020 ADD B C GIVING B-N-C.
|
| 000021 IF (B-N-C NOT > A) OR (A-N-C NOT > B) OR (A-N-B NOT > C)
|
| 000022 MOVE 4 TO TYPE-OF-TRIANGLE.
|
| 000023 DETERMINE-TYPE.
|
| 000024 IF TYPE-OF-TRIANGLE = 4
|
| 000025 NEXT SENTENCE
|
| 000026 ELSE
|
| 000027 IF (A = B) AND (B = C)
|
| 000028 MOVE 1 TO TYPE-OF-TRIANGLE
|
| 000029 ELSE
|
| 000030 IF (A = B) OR (B = C) OR (A = C)
|
| 000031 MOVE 2 TO TYPE-OF-TRIANGLE
|
| 000032 ELSE
|
| 000033 MOVE 3 TO TYPE-OF-TRIANGLE.
|
| 000034 RETURN-TO-CALLER.
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-15. Stepping Into a Called Module Using the GO 1 Command
To bring a new copy of your source into the display, enter the RETEST
command.
5.2.4.2 Using the COUNT MAX Command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The COUNT command is used to monitor execution coverage by maintaining


statement execution counts. When the MAX keyword is used with the COUNT
command, a conditional breakpoint is triggered when the preset execution
count limit is reached. When the limit is reached, program execution
pauses. For example, if the limit is three, execution pauses before the
fourth execution.
Figure 5-16 demonstrates the result of entering the following COUNT
command and resuming execution:
COUNT 45 MAX 3;GO
When the COUNT command is issued, a 7-digit counter appears in columns 74
through 80. The counter field can be typed over to set and reset the
limit, without having to enter the full keywords from the primary command
line. For example, you can type over the counter with a higher limit and
press <ENTER> to raise the preset maximum limit, or you can zero out the
counter and press <ENTER> to reset the preset limit.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| SPECIFIED EXECUTION MAX HAS BEEN REACHED
|
| ------ --------------------------------------------------- Before TRIMAI
N.45 --|
| 000034 B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| =====> ANALYZE-NEXT-REC. 00
00003 |
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR (TX).
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-16. Result of Reaching the COUNT 45 MAX 3 Breakpoint
5.2.4.3 Using the WHEN Command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The WHEN command lets you stop execution when a program variable changes
value or when a specified event takes place. XPEDITER/TSO checks the
condition after every statement in the current module and pauses if the
condition is met. The WHEN command can be used with the following
arguments:
Variable-name Suspends execution when a statement altering the value
of the variable is executed. The variable content can
be monitored by opening a Keep window and displaying the
variable content.
Condition Suspends execution when the specified condition is met.
You can enter a relation condition using expressions
such as the following:
WHEN WORK-REC = '345'
WHEN TOTAL-SUM > 50000
WHEN WS-TRAN-KEY = HIGH-VALUES
For example, enter the following WHEN command to conditionally pause when
the index TX is changed, and the KEEP command on index TX to monitor the
change:
WHEN TX;KEEP TX
Figure 5-17 shows the result of resuming execution by pressing <PF12>
(GO).
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| WHEN TX CHANGES
|
| COBOL 77 TX > 3 INDE
X |
| ------ ---------------------------------------------------- After TRIMAI
N.52 --|
| 000034 B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| =====> SET TX TO TRIANGLE-TYPE
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-17. Reaching the WHEN Breakpoint
5.2.4.4 Using the Inserted PAUSE Command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The PAUSE command can be dynamically inserted in the COBOL source code to
set a breakpoint following the execution of a statement. You can specify
a condition in which the PAUSE breakpoint is to occur, by also inserting
the IF...ELSE construct associated with it.
The PAUSE command must be used in conjunction with the INSERT command.
For information on the usage convention of the INSERT command, refer to
"Inserting Statements" in topic 5.5.2.
Figure 5-18 shows the effect of inserting a PAUSE command within a block
of inserted XPEDITER/TSO commands.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PAUSE REQUESTED BY INSERTED COMMAND
|
| ---
|
| 000030 01 WORK-REC > 111
|
| ------ ---------------------------------------------------- After TRIMAI
N.46 --|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| '''''' IF WORK-REC = '345'
|
| '''''' KEEP WORK-REC
|
| '''''' MOVE '111' TO WORK-REC
|
| =====> PAUSE
|
| '''''' END-IF
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-18. Result of Encountering a PAUSE Breakpoint
5.2.4.5 Using the TRACE Command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The TRACE command is used to monitor the execution of specified


statements or paragraphs in your program. The specified statements or
paragraph names are highlighted as they are executed until a breakpoint is
reached, an abend is intercepted by XPEDITER/TSO, a terminal I/O is
issued, or a keyboard interrupt is detected.
When the TRACE command is used with the MAX keyword, the tracing function
pauses when the number of executions reaches the preset limit. The
default maximum limit is 25.
For example, if you request XPEDITER/TSO to trace execution at the
statement level for a program that does not have any breakpoints set and
resume execution, the program will pause following the execution of 25
statements. Figure 5-19 demonstrates the result of entering the following
command and pressing <PF12> (GO) to resume execution:
TRACE ALL STATEMENTS
In order to override the default maximum limit, you must enter the MAX
keyword with an integer other than 25 as an argument with the TRACE
command.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| 25 TRACE BREAKPOINTS HAVE BEEN EXECUTED
|
| ------ ---------------------------------------------------- After TRIMAI
N.51 --|
| 000034 B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| =====> CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR(TX)
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-19. Result of Entering the TRACE ALL STATEMENTS and GO Commands
The tracing speed can be controlled by using the SET DELAY command prior
to entering the TRACE command. For instance, entering the following
command will slow down the execution speed to one second:
SET DELAY 1
While tracing is in progress, the keyboard is unlocked to allow you to
interrupt and stop execution by pressing any key. When a keyboard
interrupt is detected, tracing pauses immediately.
5.3 Inspecting Program Data
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

XPEDITER/TSO lets you view the contents of variables defined in your


program and the data that is passed to the working storage and the
linkage, formatted by the data type defined in your program. All of the
data displays can be modified by typing over the values. The XPEDITER/TSO
commands described in this section are PEEK, KEEP, MOVE, MEMORY, and
GPREGS.
When you have XPEDITER for DB2 Extension and File-AID for DB2 installed,
you can also browse and edit DB2 table data during an XPEDITER/TSO
session. Refer to Chapter 12, "Using XPEDITER for DB2 Extension" in
topic 12.0 for more information.
5.3.1 Displaying and Modifying Program Variables
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The PEEK and KEEP commands are used to display the contents of variables
defined in your program. The PEEK command scrolls up to the DATA DIVISION
statement and shows the variable values next to the data definitions. You
must enter the LOCATE * command, <PF6>, to return to the location where
execution is paused. The KEEP command opens a window at the top of the
source screen and displays the variable values within the window. The
source display screen remains stationary. You can alter the values
displayed by the PEEK and KEEP commands by using the MOVE command or by
typing over them (implicit MOVE).

5.3.1.1 Using the PEEK Command


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The PEEK command lets you view the contents of program variables. You
can enter the PEEK primary command with the name of the data item or you
can enter the P line command either from the PROCEDURE DIVISION (where the
data item is used or modified) or from the DATA DIVISION (where the data
item is defined). The alphabetic items are displayed as characters, and
the numeric items are displayed as DECIMAL, PACKED decimal (COMP-3),
HALFWORD (COMP), FULLWORD (COMP), INDEX, or FLOAT (COMP-1, COMP-2),
depending on the internal representation. Tables can be shown by rows and
columns, rather than in a linear fashion.
There are three forms of the PEEK command, each corresponding to a data
display format. The three forms are:
PEEK (P line command)
E line command
H line command
The commands and the formats are described below, followed by examples
illustrating the result of each command entry.
Note: For the examples below that reference the TRIMAIN program, an
AFTER 46 breakpoint command and a GO command (<PF12>) were issued before
the PEEK command was issued.

PEEK (P line command): When the PEEK command is issued, the value of the
data item is displayed in character or numeric format. If the data
exceeds 30 bytes, the data field becomes scrollable, which is indicated by
the MORE-> sign in the statement number area. Tables are formatted by
each dimension when the PEEK command is entered at the elementary level.
If the data displayed is a character data type, a column template is
displayed to show the length. The length of a numeric item, however, is a
function of the internal format.
Figure 5-20 shows the result of entering the PEEK command on WORK-REC in
the TRIMAIN program.
|---------------------------------------------------------------------------
---|
|
|
| ---
|
| 000030 01 WORK-REC > 345
|
| 000031 05 SIDE-A PIC 9(01).
|
| 000032 05 SIDE-B PIC 9(01).
|
| 000033 05 SIDE-C PIC 9(01).
|
|
|
|
|
|---------------------------------------------------------------------------
---|
Figure 5-20. Result of Entering PEEK WORK-REC
Figure 5-21 shows the result of entering the PEEK command on N-N-C-TABLE
in the TRIMAIN program. Note the MORE-> sign in the statement number
area, and the column template.
|---------------------------------------------------------------------------
---|
|
|
| ----+----1----+----2----+----
3 |
| MORE-> 01 N-N-C-TABLE > EQUILATERAL TRIANGLES0000ISOS
C |
| 000024 05 N-N-C OCCURS 4 TIMES
|
| 000025 INDEXED BY TX.
|
| 000026 10 N-NAME PIC X(21).
|
| 000027 10 N-CNTR PIC 9(04).
|
|
|
|
|
|---------------------------------------------------------------------------
---|
Figure 5-21. Result of Entering PEEK N-N-C-TABLE (Shows MORE> Sign and Colu
mn
Template)
Figure 5-22 shows the result of entering the PEEK command on N-N-C in the
TRIMAIN program. Note the appearance of the OCCURRENCE field. The
OCCURRENCE field can be incremented or decremented by typing over it or
appending a signed integer, such as +1 or --2.
|---------------------------------------------------------------------------
---|
|
|
| > 1 OCCURRENC
E |
| ----+----1----+----2----+
|
| 000024 05 N-N-C > EQUILATERAL TRIANGLES0000
|
| 000025 INDEXED BY TX.
|
| 000026 10 N-NAME PIC X(21).
|
| 000027 10 N-CNTR PIC 9(04).
|
|
|
|
|
|---------------------------------------------------------------------------
---|
Figure 5-22. Result of Entering PEEK N-N-C (Shows OCCURRENCE Field and Colu
mn
Template)
Figure 5-23 shows the result of entering the PEEK command on CHECK-SUM in
a program that contains counters and sums. Note that the numeric value is
shown in PACKED decimal format.
|---------------------------------------------------------------------------
---|
|
|
| 000252 01 WS-SUMS.
|
| 000254 05 CHECK-SUM > +2001474.01 PACKE
D |
|
|
|
|
|---------------------------------------------------------------------------
---|
Figure 5-23. Result of Entering PEEK CHECK-SUM (Shows PACKED Decimal Format
)
Figure 5-24 shows the result of entering the PEEK command on CHAR-PTR in a
program that contains pointers. Note that the numeric value is shown in
HALFWORD format.
|---------------------------------------------------------------------------
---|
|
|
| 000260 01 WS-POINTERS
|
| 000262 05 CHAR-PTR > +093 HALFWOR
D |
|
|
|
|
|---------------------------------------------------------------------------
---|
Figure 5-24. Result of Entering PEEK CHAR-PTR (Shows HALFWORD Format)

E line command: When the E line command is entered for a group level
data name containing elementary data items, the values for each elementary
item are displayed, as shown in Figure 5-25, where E was entered on
WORK-REC in the TRIMAIN program. Note that the numeric values are
displayed in DECIMAL format.
|---------------------------------------------------------------------------
---|
|
|
| 00030 01 WORK-REC
|
| 000031 05 SIDE-A > 3 DECIMA
L |
| 000032 05 SIDE-B > 4 DECIMA
L |
| 000033 05 SIDE-C > 5 DECIMA
L |
|
|
|
|
|---------------------------------------------------------------------------
---|
Figure 5-25. Result of Entering E line Command on a Group Level Data Item
WORK-REC (Shows DECIMAL Format)

H line command: The H line command displays the value of the data item
in the hexadecimal format. Figure 5-26 shows the result of entering the H
line command on the 05 data item SIDE-A for the 01 data item WORK-REC in
the TRIMAIN program.
|---------------------------------------------------------------------------
---|
|
|
| -
|
| 000031 05 SIDE-A > 3 DECIMA
L |
| > F
|
| > 3
|
| 000032 05 SIDE-B PIC 9(01).
|
| 000033 05 SIDE-C PIC 9(01).
|
|
|
|
|
|---------------------------------------------------------------------------
---|
Figure 5-26. Result of Entering H line Command on a Group Level Data Item
SIDE-A (Shows HEXADECIMAL Format)
Use the DELETE primary command or line commands to remove the display
resulting from the PEEK commands.
5.3.1.2 Using the KEEP Command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The KEEP command lets you continuously view the contents of program
variables in a window opened at the top of the source display. You can
enter the KEEP primary command with the name of the data item or you can
enter the K line command either from the PROCEDURE DIVISION (where the
data item is used or modified) or from the DATA DIVISION (where the data
item is defined). The alphabetic items are displayed as characters, and
the numeric items are displayed as DECIMAL, PACKED decimal (COMP-3),
HALFWORD (COMP), FULLWORD (COMP), INDEX, or FLOAT (COMP-1, COMP-2),
depending on the internal representation. Tables can be shown by rows and
columns, rather than in a linear fashion.
The KEEP command has the same formats as the PEEK command:
KEEP (K line command)
E (E line command)
H (H line command)
The commands and the formats are described below.

KEEP (K line command): When the KEEP command is issued, the value of the
data item is displayed in the character or numeric format. If the data
exceeds 30 bytes, the data field becomes scrollable, and it is indicated
by the MORE-> sign in the statement number area. Tables are formatted by
each dimension when the KEEP command is entered at the elementary level.
The OCCURRENCE field can be typed over to browse through the table by each
entry. Also, a relative subscript can be appended to increment or
decrement the occurrences. If the data displayed is a character data
type, a column template is displayed to show the length. The length of a
numeric item, however, is a function of the internal format.

E (E line command): When the E line command is entered in the Keep window
for a group level data name containing elementary data items, the values
for each elementary item are displayed.

H (H line command): The H line command displays the value of the data
item in the hexadecimal format.
Use the DELETE command (DELETE KEEP or D line command) to remove the
display resulting from the KEEP commands.
Examples for using the KEEP command are given below. Note that an AFTER
53 breakpoint was entered in the TRIMAIN program before execution was
resumed.
Figure 5-27 shows the result of entering the KEEP command for the
variables WORK-REC and N-N-C to display these variables in a Keep window.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| Next logical instruction is TRIMAIN.54
|
| > 1 OCCU
RRENCE |
| ----+----1----+----2----+
|
| 000024 05 N-N-C > EQUILATERAL TRIANGLES0000
|
| ---
|
| 000030 01 WORK-REC > 345
|
| ------ ---------------------------------------------------- After TRIMAI
N.53 --|
| 000052 SET TX TO TRIANGLE-TYPE
|
| ====>> A ADD 1 TO N-CNTR(TX)
|
| 000054 ENDING-PARA.
|
| 000055 CLOSE INFILE.
|
| 000056 CALL 'TRIRPT' USING NAME-N-CNTR-TABLE.
|
| ****** ******************* BOTTOM OF MODULE ****************************
**** |
|
|
Figure 5-27. Result of Entering the KEEP Command for WORK-REC and N-N-C
When a table element is displayed, XPEDITER/TSO inserts an OCCURRENCE
field as shown in Figure 5-27. The occurrence number defaults to one. If
you need to display the currently referenced data in the table as the
subscript or index is changed, enter the KEEP command on a data item
referenced by the subscript or the index.
For instance, a KEEP on N-CNTR displays the data value in the window
defaulting to the first occurrence (Figure 5-28), whereas a KEEP on
N-CNTR(TX) displays the currently referenced data (Figure 5-29).
|---------------------------------------------------------------------------
---|
|
|
| > 1 OCCURRENC
E |
| 000027 10 N-CNTR > 0000 DECIMA
L |
|
|
|
|
|---------------------------------------------------------------------------
---|
Figure 5-28. Result of Entering KEEP Command on a Table Element N-CNTR
|---------------------------------------------------------------------------
---|
|
|
| > I=3 OCCURRENC
E |
| 000027 10 N-CNTR > 0001 DECIMA
L |
|
|
|
|
|---------------------------------------------------------------------------
---|
Figure 5-29. Result of Entering KEEP Command on a Table Element N-CNTR(TX)
The value in the OCCURRENCE field can be typed over with a valid subscript
to display the subsequent table entry items. Also, a relative subscript
can be appended to the OCCURRENCE field in order to browse through the
table elements each time you press <ENTER>.
As shown in Figure 5-30, add a signed integer (for example, +1, --2) to
increment or decrement the subscript by a specified interval.
|---------------------------------------------------------------------------
---|
|
|
| > 3+1 OCCURRENC
E |
| ----+----1----+----2----+
|
| 000024 05 N-N-C > SCALENE TRIANGLES 0001
|
| --------------------------------------------------------------------------
- |
|
|
|---------------------------------------------------------------------------
---|
Figure 5-30. Browsing Through the Table Elements
The subscript and index boundaries are automatically checked when you are
browsing through the table. The boundary limit can be displayed by
entering the SHOW INDEX command. Figure 5-31 shows the boundary limits
for N-N-C.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------- XPEDITER/TSO - SHOW ----------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ --------------------------------------------------- After TRIMAI
N.53 --|
| ****************************** TOP OF DATA *******************************
**** |
| N-N-C IN TRIMAIN LIMIT 4
|
| INDEXED BY TX ENTRY 3 **BELOW LIMIT**
|
| ***************************** BOTTOM OF DATA *****************************
**** |
|
|
Figure 5-31. Result of SHOW INDEX Command
5.3.1.3 The Log Entries for PEEK and KEEP Commands
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Every time a PEEK or KEEP command is entered, the command and the value
of the data name are entered in the log file. The format of the log entry
for both the PEEK and KEEP commands is similar.
Since a displayed field is not scrollable in the log, large alphanumeric
items wrap around to the next line. The number of characters of data per
line for an alphanumeric display is determined by the value specified on
the SET LOGSIZE command. The record length for the log file can be set to
either 80 or 133. If the LOGSIZE is 80, an alphanumeric display wraps
around after 30 characters per line. If the LOGSIZE is 133, the display
wraps around after 80 characters per line.
Figure 5-32 shows a log entry for the PEEK command entered for a table.
The LOGSIZE is set to 80. In this example, the values in the displayed
table wrap around every 30 bytes until the entire table of 100 bytes is
displayed.
|---------------------------------------------------------------------------
-------|
|
|
| -------------------------------- XPEDITER/TSO - LOG ----------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| --------------------------------------------------------------- Before TRI
MAIN --|
| +-------------------------------------------------------------------------
-+ |
| XPED TSO
|
| TEST TRIMAIN
|
| *** TRIMAIN FROM AXPQA.SIR8920.LINKLIB LINK 07/17/9
2 |
| BEFORE TRIMAIN.
|
| AFTER TRIMAIN.
|
| PAUSE BEFORE TRIMAIN
|
| BEFORE BREAKPOINT ENCOUNTERED
|
| PEEK NAME-N-CNTR-TABLE
|
| ----+----1----+----2----+----
3 |
| 000014 01 NAME-N-CNTR-TABLE > EQUILATERAL TRIANGLES....ISOS
C |
| ----+----4----+----5----+----
6 |
| > ELES TRIANGLES ....SCALENE T
R |
| ----+----7----+----8----+----
9 |
| > IANGLES ....INVALID TRIANG
L |
| ----+---10
|
| > ES ....
|
| ****************************** BOTTOM OF DATA ****************************
* |
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-32. The Log Entry Following Execution of a PEEK Command
Unless SET HEXMODE is specified as ON, the log entry of a displayed field
containing nonrepresentable characters includes the symbol used to
represent them--either periods or the character designated by the SET
NONDISP command.
When the SET HEXMODE command is set to ON, nonrepresentable characters are
displayed in hexadecimal format in the log. SET HEXMODE ON ensures that
sufficient information is provided for a variable containing unprintable
characters. All invalid numeric data (e.g., uninitialized packed data) is
represented by question marks (?).
When an AFTER, BEFORE, TRACE, WHEN, or GO 1 breakpoint is encountered and
the value of one or more of the kept variables changes, all kept variables
are entered in the log. The variables whose values have changed are
listed first, followed by the values that have not changed. If none of
the values of the kept variables change, a log entry is not made.
Figure 5-33 shows an example of the log entry for kept items.
|---------------------------------------------------------------------------
-------|
|
|
| -------------------------------- XPEDITER/TSO - LOG ----------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| --------------------------------------------------------------- Before TRI
MAIN --|
| BEFORE TRIMAIN.
|
| AFTER TRIMAIN.
|
| PAUSE BEFORE TRIMAIN
|
| BEFORE BREAKPOINT ENCOUNTERED
|
| KEEP NAME-N-CNTR-TABLE
|
| ----------------------------- TRIMAIN KEPT ITEMS -------------------------
-- |
| ----+----1----+----2----+----
3 |
| 000014 01 NAME-N-CNTR-TABLE > EQUILATERAL TRIANGLES....ISOS
C |
| ----+----4----+----5----+----
6 |
| > ELES TRIANGLES ....SCALENE T
R |
| ----+----7----+----8----+----
9 |
| > IANGLES ....INVALID TRIANG
L |
| ----+---10
|
| > ES ....
|
| --------------------------------------------------------------------------
-- |
| KEEP WORK-REC
|
| ----------------------------- TRIMAIN KEPT ITEMS -------------------------
-- |
| ---
|
| 000030 01 WORK-REC ===> ...
|
| ****************************** BOTTOM OF DATA ****************************
** |
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-33. Example of the Log Entry for a KEEP command
5.3.1.4 Using the MOVE Command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

You can change the contents of program variables at any time using the
MOVE command. MOVE lets you move either a data name or a literal into
another data name.
There are three ways to enter the MOVE command:

1. By typing over a displayed or kept field with a new value, causing an


implicit MOVE.
2. Directly as a primary command.
3. In conjunction with the INSERT command.
The log entry for all three MOVE command formats is the same.
The following figures show examples of entering the MOVE command in
different ways to produce the same result. The examples will use
Figure 5-34 in which the variable WORK-REC is displayed.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ---------------------------------------------------- After TRIMAI
N.46 --|
| ---
|
| 000030 01 WORK-REC > 345
|
| 000031 05 SIDE-A PIC 9(01).
|
| 000032 05 SIDE-B PIC 9(01).
|
| 000033 05 SIDE-C PIC 9(01).
|
| 000034 B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
|
|
Figure 5-34. Displaying Variable WORK-REC Prior to Typing Over Value
Example 1 -- Typing Over Value in Variable Field to Cause an Implicit
MOVE:
In Figure 5-35, the displayed value (345) for the variable WORK-REC is
typed over with the new value (999), causing an implicit MOVE.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ---------------------------------------------------- After TRIMAI
N.46 --|
| ---
|
| 000030 01 WORK-REC > 999
|
| 000031 05 SIDE-A PIC 9(01).
|
| 000032 05 SIDE-B PIC 9(01).
|
| 000033 05 SIDE-C PIC 9(01).
|
| 000034 B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
|
|
Figure 5-35. Typing Over Value for Variable WORK-REC
Example 2 -- Entering MOVE as a Primary Command:
If you enter MOVE '345' TO WORK-REC in the primary command line, the
result is an explicit MOVE. As shown in Figure 5-36, the literal value
(345) is moved to the data field for WORK-REC and the value of WORK-REC is
changed from 999 to 345.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ---------------------------------------------------- After TRIMAI
N.46 --|
| ---
|
| 000030 01 WORK-REC > 345
|
| 000031 05 SIDE-A PIC 9(01).
|
| 000032 05 SIDE-B PIC 9(01).
|
| 000033 05 SIDE-C PIC 9(01).
|
| 000034 B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
|
|
Figure 5-36. An Example of MOVE Entered as a Primary Command
Example 3 -- Using the MOVE Command in Conjunction With the INSERT
Command:
In Figure 5-37, the I (insert) line command was entered on line 49 to
open up a line on which to insert the MOVE command. A BEFORE breakpoint
is also being entered on line 50, following the inserted MOVE command.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------ Before TRI
MAIN --|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| '''''' move '999' to work-rec
|
| B 050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR(TX)
|
|
|
Figure 5-37. Inserting a MOVE Command
When <ENTER> is pressed, a BEFORE breakpoint is indicated for line 50, as
shown in Figure 5-38.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------ Before TRI
MAIN --|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| '''''' move '999' to work-rec
|
| 000050 B MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR(TX)
|
|
|
Figure 5-38. BEFORE Breakpoint Set on Line 50
Then, when <PF12> (GO) is pressed, execution is paused following the
inserted MOVE command as shown in Figure 5-39.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| Before Breakpoint Encountered
|
| ------ --------------------------------------------------- Before TRIMAI
N.50 --|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| '''''' move '999' to work-rec
|
| =====> B MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR(TX)
|
|
|
Figure 5-39. Source Display After GO is Entered
Now enter the KEEP command for WORK-REC. The value indicated on the
inserted MOVE command is displayed in the Keep window as shown in
Figure 5-40.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ---
|
| 000030 01 WORK-REC. > 999
|
| ------ --------------------------------------------------- Before TRIMAI
N.50 --|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| '''''' move '999' to work-rec
|
| =====> B MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR(TX)
|
|
|
Figure 5-40. Result of Displaying the MOVE in the Keep Window
5.3.2 Displaying and Modifying Memory and Registers
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Storage areas and general purpose registers can be accessed if you wish
to debug at the hexadecimal level. The MEMORY command lets you view and
modify the storage area starting from a specified location. A full screen
memory display is shown in the dump format, and any unprotected areas can
be typed over to alter the storage content. The GPREGS command lets you
view and modify the registers. A register window is displayed at the
bottom of the screen, and you can type over the hexadecimal values to
modify the registers.

5.3.2.1 Using the MEMORY Command


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The MEMORY command entered without any arguments displays the storage
area, starting from the beginning of the currently active program where
execution is paused. For example, entering the following command from the
primary command line of the TRIMAIN program displays the Memory Display
screen shown in Figure 5-41:
MEMORY
The fourth line on the Memory Display screen contains the base address and
a column template that starts with zero and continues to hexadecimal EE.
The offsets below the base address list the displacement from the start of
the storage area.
Press <PF3> (END) to return to the source display screen.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - MEMORY ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| --------------------------------------------------------------- Before TRI
MAIN --|
| BASE = 00093038 0 - 2 - 4 - 6 - 8 - A - C - E - = 0-2-4-6-8-A-
C-E- |
| ******************************* TOP OF DATA *****************************
**** |
| 000000 ===> 90ECD00C 185D05F0 4580F010 E3D9C9D4 = ..}..).0..0.
TRIM |
| 000010 ===> C1C9D540 E5E2D9F1 0700989F F02407FF = AIN VSR1....
0... |
| 000020 ===> 96021034 07FE41F0 000107FE 0009E7DA = .......0....
..X. |
| 000030 ===> 0009E038 0009E038 0009E4E0 0009E278 = ..\...\...U\
..S. |
| 000040 ===> 0009E544 0009E79A 00000000 00000000 = ..V...X.....
.... |
| 000050 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 000060 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 000070 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 000080 ===> 00000000 00000000 F1F14BF5 F74BF3F6 = ........11.5
7.36 |
| 000090 ===> E2C5D740 F2F46B40 F1F9F9F0 00000000 = SEP 24, 1990
.... |
| 0000A0 ===> C5D8E4C9 D3C1E3C5 D9C1D340 E3D9C9C1 = EQUILATERAL
TRIA |
| 0000B0 ===> D5C7D3C5 E2000000 00C9E2D6 E2C3C5D3 = NGLES....ISO
SCEL |
| 0000C0 ===> C5E240E3 D9C9C1D5 C7D3C5E2 40400000 = ES TRIANGLES
.. |
| 0000D0 ===> 0000E2C3 C1D3C5D5 C540E3D9 C9C1D5C7 = ..SCALENE TR
IANG |
| 0000E0 ===> D3C5E240 40404000 000000C9 D5E5C1D3 = LES ....I
NVAL |
| 0000F0 ===> C9C440E3 D9C9C1D5 C7D3C5E2 40404040 = ID TRIANGLES
|
| 000100 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 000110 ===> 00000000 00000000 00000000 00000000 = ............
.... |
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-41. Results of Entering the MEMORY Command
The MEMORY command can be entered with indirect register addressing to
specify a location. For example, the following command displays memory
starting from the location pointed to by the 24-bit mode address in
register 13, as seen in Figure 5-42:
MEMORY R13%

|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - MEMORY ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| --------------------------------------------------------------- Before TRI
MAIN --|
| BASE = 00093278 0 - 2 - 4 - 6 - 8 - A - C - E - = 0-2-4-6-8-A-
C-E- |
| ******************************** TOP OF DATA ****************************
**** |
| 000000 ===> 00300000 00096B68 00000000 00000000 = ......,.....
.... |
| 000010 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 000020 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 000030 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 000040 ===> 00000000 00000000 3102A04B 00000000 = ............
.... |
| 000050 ===> 00000000 00093544 00000000 00000000 = ............
.... |
| 000060 ===> 00000000 00093880 00093A6E 00000000 = ...........>
.... |
| 000070 ===> 50093854 8008BBFC 0005C5F8 00093786 = &.........E8
.... |
| 000080 ===> 50093838 000930D8 00000000 00093488 = &......Q....
.... |
| 000090 ===> 000937DA 00093038 00093038 000934E0 = ............
...\ |
| 0000A0 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 0000B0 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 0000C0 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 0000D0 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 0000E0 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 0000F0 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 000100 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 000110 ===> 00000000 00000000 00000000 00000000 = ............
.... |
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-42. Memory Display Screen Displayed After Entering MEMORY R13%
Also, you can use arithmetic expressions such as the following to access
storage, as shown in Figure 5-43.
MEMORY R9%+4
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - MEMORY ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| --------------------------------------------------------------- Before TRI
MAIN --|
| BASE = 000937DA 0 - 2 - 4 - 6 - 8 - A - C - E - = 0-2-4-6-8-A-
C-E- |
| ******************************* TOP OF DATA *****************************
**** |
| 000004 ===> D04847E0 F0165800 B048982D B05058E0 = }..\0.......
.&.\ |
| 000014 ===> D05407FE 9620D048 41600004 4110C000 = }.....}..-..
..{. |
| 000024 ===> 4170C003 05505840 10001E4B 50401000 = ..{..&. ....
& .. |
| 000034 ===> 87165000 4110C028 4170C02F 05505840 = ..&...{...{.
.&. |
| 000044 ===> 10001E4B 50401000 87165000 41600008 = ....& ....&.
.-.. |
| 000054 ===> 4110C030 4170C047 05505840 10001E4B = ..{...{..&.
.... |
| 000064 ===> 50401000 87165000 4180D200 41600004 = & ....&...K.
.-.. |
| 000074 ===> 4170D20F 05105800 80001200 47801010 = ..K.........
.... |
| 000084 ===> 1E0B5000 80008786 10005860 D2045870 = ..&........-
K... |
| 000094 ===> D200D217 D238C030 58F0C008 05EF002C = K.K.K.{..0{.
.... |
| 0000A4 ===> 000158E0 D05407FE 00008000 00000009 = ...\}.......
.... |
| 0000B4 ===> 3278C9D3 C2D6D5E3 D9F00000 00000000 = ..ILBONTR0..
.... |
| 0000C4 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 0000D4 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 0000E4 ===> 00000009 426A0000 00000000 00000000 = .....|......
.... |
| 0000F4 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 000104 ===> 00000000 00000000 00000000 00000000 = ............
.... |
| 000114 ===> 00000000 00000000 00000000 00000000 = ............
.... |
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-43. Memory Display Screen Displayed After Entering MEMORY R9%+4
5.3.2.2 Using the GPREGS Command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The GPREGS command opens a window and displays the 16 general purpose
registers at the bottom of the screen. Figure 5-44 shows the result of
entering the GPREGS command for the TRIMAIN program. The displayed
hexadecimal values can be typed over to change the register contents.
|
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| GPREGS R0 ==> 70043C2E R1 ==> 50043FCE R2 ==> 00043210 R3 ==> 0004
3BB8 |
| R4 ==> 00043E8A R5 ==> 50043FB2 R6 ==> 00043790 R7 ==> 0000
0000 |
| R8 ==> 00043B40 R9 ==> 00043F54 R10 ==> 000436F0 R11 ==> 0004
36F0 |
| R12 ==> 00043B98 R13 ==> 00043930 R14 ==> 00043C2C R15 ==> 0009
E5DE |
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-44. Result of Entering the GPREGS Command
The register window can be removed from display by entering the following
command:
GPREGS OFF
5.4 Analyzing Program Logic
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

This section describes the built-in dynamic analysis features that let you
identify program structure, trace the flow of control, monitor execution
coverage, and review the execution path. These analysis capabilities
assist you in understanding what the program does and how you reached a
certain location in your program. The XPEDITER/TSO commands covered here
are FIND, TRACE, SHOW PREVIOUS, COUNT, MONITOR, and REVERSE.
If you have XPEDITER for DB2 Extension and File-AID for DB2, you can
analyze how SQL statements execute with the EXPLAIN command. Refer to
Chapter 12, "Using XPEDITER for DB2 Extension" in topic 12.0 for more
information.

5.4.1 Identifying Program Structure


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The XPEDITER/TSO FIND command allows you to search data relationships and
program structures, in addition to locating character strings. For
instance, the FIND command can process data names and identify COBOL
statements that directly or indirectly affect or refer to the data names.
COBOL-structure keywords such as ALTER, CONDITION, I/O, etc. are processed
to query COBOL statements that have the potential to modify data,
conditional constructs, and I/O statements. With the highlighting effect
and the capability to suppress statements that do not qualify for the
search category, the source display screen can turn into a representation
of "data flow cross reference" and a "high-level structure."

5.4.1.1 Finding Data Names


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

One example of the COBOL sensitivity of FIND is the ability to find data
names, aliases and the use of the data name. Some of the keywords related
to finding data names are:
DEFine Data name is defined.
MODify Value of the data name has changed or has the potential for
change.
USE Value of the data name is used, but not modified.
REFerence Data name is defined, modified, or used.
The default is REFerence. When FIND is issued on a data name with no
additional keywords, all references to the data name are found.
Example 1 -- Finding All References for a Data Name:
Enter the following command to find the data name SUBS:
FIND SUBS
The response to this FIND command is illustrated in Figure 5-45. The
message line indicates the number of times the data name SUBS is
referenced in the program. There are 49 data references for SUBS: It is
defined once, used 30 times, and modified 18 times. Each reference for
the data name SUBS is highlighted and one of the following messages appear
in the message area to the right of the found line: DEF, USE, or MOD.
Note: Defines will be found first. All defines are found in the DATA
DIVISION because this is the section where data names are defined. The
uses and modifications of a data name will be found in the PROCEDURE
DIVISION.
To find the next occurrence of SUBS, you can press <PF5>, or type FIND on
the command line as shown in Figure 5-45, move the cursor down past the
line in which SUBS is defined, and press <ENTER>.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> FIND SCROLL ===
> CSR |
| 49 DATA REFS: 1 DEF, 30 USES, 18 MODS FOUND FOR SUBS
|
| ------ ----------------------------------------------------- Before IMSP
ROG2 --|
| 000084 * SUBSCRIPT FOR INDEXING ALONG INPUT MESSAGE LINE ITEMS
|
| 000085 77 SUBS PIC S9(3) COMP.
DEF |
| 000087 * SUBSCRIPT FOR INDEXING ALONG SPA LINE ITEMS
|
| 000089 77 SPA-SUBS PIC S9(3) COMP.
|
| 000090 *
|
| 000091 * DL/I CALL FUNCTIONS
|
| 000092 *
|
| 000093 77 GU-FUNC PIC X(4) VALUE 'GU '.
|
| 000094 77 GN-FUNC PIC X(4) VALUE 'GN '.
|
| 000095 77 ISRT-FUNC PIC X(4) VALUE 'ISRT'.
|
|
|
Figure 5-45. Result of Entering FIND SUBS
Figure 5-46 shows the result of the repeat FIND. The DEF, MOD, and USE
messages remain on the display until execution begins or a new FIND
command is issued. Note that entry of a repeat FIND does not remove these
messages.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: IMSPROG2 MODULE: IMSPROG2 COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ----------------------------------------------------- Before IMSP
ROG2 --|
| 000653 MOVE MSG12A TO OUT-MSG
|
| 000654 ELSE MOVE NEXT-SHIP-DETAIL TO SUBS
MOD |
| 000655 PERFORM UNPROTECT-SHIP-LINES
|
| 000656 UNTIL SUBS = 3.
USE |
| 000657 UNPROTECT-SHIP-LINES.
|
| 000658 MOVE UNPROT-ATTR-NUM TO FE20SNR-ATTR (SUBS)
USE |
| 000659 FE20SDAT-ATTR (SUBS), SHIPSTAT-ATTR (SUBS). 2
USE |
| 000660 MOVE UNPROT-ATTR-ALPH TO FE20SMET-ATTR (SUBS).
USE |
| 000661 ADD 1 TO SUBS.
MOD |
| 000662 CHANGE-ORDER.
|
|
|
Figure 5-46. Result of a Repeat FIND
The remaining keywords that relate to finding data names are the following
two groups--ALIAS, NOREDEFINE, NOALIAS, and DIRECT and INDIRECT. They are
defined below and illustrated in examples on the following pages.
ALIas Other references (such as redefined or group level names) to
the same storage location are found.
NORedefine Other references (except redefines) to the same storage
location are found.
NOAlias Alias names are not found; default.
DIRect Only direct references to the data name are found; default.
INDirect All references to the data name, its aliases (if indicated),
and all places a data value is passed to or from the data name
and its aliases are found.
Example 2 -- Finding Aliases of a Data Name:
The data name N-CNTR has the aliases N-N-C, N-N-C-TABLE, and
NAME-N-CNTR-TABLE. Enter the following command to find all aliases of the
data name N-CNTR:
FIND N-CNTR ALIAS
The result of this FIND command is shown in Figure 5-47, where N-N-C-TABLE
and N-N-C are aliases of N-CNTR because they are both group data names
under which N-CNTR is defined. NAME-N-CNTR-TABLE is an alias of N-CNTR
because N-N-C-TABLE redefines NAME-N-CNTR-TABLE. That is, N-N-C,
N-N-C-TABLE, and NAME-N-CNTR-TABLE all have the same storage location as
N-CNTR, as seen in the DATA DIVISION.
The command DOWN;FIND is entered, so the screen will be scrolled before a
repeat FIND is issued.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> DOWN;FIND SCROLL ===
> CSR |
| 10 DATA REFS: 4 DEFS, 3 USES, 3 MODS FOUND FOR N-CNTR
|
| ------ ------------------------------------------------------ Before TRI
MAIN --|
| 000013 WORKING-STORAGE SECTION.
|
| 000014 01 NAME-N-CNTR-TABLE
DEF |
| 000015 05 FILLER PIC X(21) VALUE 'EQUILATERAL TRIANGLES'.
|
| 000016 05 FILLER PIC X(04).
|
| 000017 05 FILLER PIC X(21) VALUE 'ISOCELES TRIANGLES'.
|
| 000018 05 FILLER PIC X(04).
|
| 000019 05 FILLER PIC X(21) VALUE 'SCALENE TRIANGLES'.
|
| 000020 05 FILLER PIC X(04).
|
| 000021 05 FILLER PIC X(21) VALUE 'INVALID TRIANGLES'.
|
| 000022 05 FILLER PIC X(04).
|
| 000023 01 N-N-C-TABLE REDEFINES NAME-N-CNTR-TABLE.
DEF |
| 000024 05 N-N-C OCCURS 4 TIMES
DEF |
| 000025 INDEXED BY TX.
|
| 000026 10 N-NAME PIC X(21).
|
| 000027 10 N-CNTR PIC 9(04).
DEF |
| 000028 01 OUT-OF-RECS PIC X.
|
| 000029 01 TRIANGLE-TYPE PIC 9.
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-47. Result of Finding N-CNTR With DIRECT and ALIAS
The display scrolls to show the uses and modifications of N-CNTR in the
PROCEDURE DIVISION. In Figure 5-48, notice that the number of times
N-CNTR is used and modified on the line is indicated on statement 42.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------ Before TRI
MAIN --|
| =====> B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR(2) N-CNTR(3) N-CNTR(4) 3 USE,1
MOD |
| 000043 OPEN INPUT INFILE.
|
| 000045 ANALYZE-NEXT-SEC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR (TX).
MOD |
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-48. Scrolling to Modifications of N-CNTR
5.4.1.2 Using INDIRECT With EXCLUDE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

In all of the examples that have been discussed, the FIND default of
DIRECT is used. When INDIRECT is specified with a data name, all
statements directly or indirectly affected by the data name are found.
The following example illustrates how INDIRECT is used and the results.
A good way to view indirect references is to use another FIND keyword:
EXCLUDE. The EXCLUDE keyword excludes from view all lines that were not
found. For example, issue the following command for the data name
IN-PASS1:
FIND IN-PASS1 IND X
The results of this FIND command are shown in Figure 5-49 where all
references to IN-PASS1 are found. To reach the first level of
indirection, enter FIND INDIRECT or press the <PF17> key.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> FIND IND SCROLL ===
> CSR |
| 3 DATA REFS: 1 DEF, 2 USES FOUND FOR IN-PASS1
|
| ------ ----------------------------------------------------- Before IMSP
ROG2 --|
| ***** ************************* TOP OF MODULE *************************
***** |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - 221 LINES NOT DISP
LAYED |
| 000232 02 IN-PASS1 PIC X(16).
DEF |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - 336 LINES NOT DISP
LAYED |
| 000574 MOVE IN-PASS1 TO SE0ORDR1
USE |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - 27 LINES NOT DISP
LAYED |
| 000604 MOVE IN-PASS1 TO SE0ORDR1
USE |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - 385 LINES NOT DISP
LAYED |
| ***** *********************** BOTTOM OF MODULE ************************
****** |
|
|
Figure 5-49. Finding IN-PASS1 INDIRECT With EXCLUDE
Each time FIND INDIRECT is entered, a new level of indirection is found.
In Figure 5-50, SE0ORDR1 references are highlighted.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| 7 DATA REFS: 1 DEF, 2 USES, 4 MODS FOUND FOR IN-PASS1
|
| ------ ----------------------------------------------------- Before IMSP
ROG2 --|
| ****** ************************* TOP OF MODULE *************************
***** |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - 221 LINES NOT DISP
LAYED |
| 000232 02 IN-PASS1 PIC X(16).
|
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - 109 LINES NOT DISP
LAYED |
| 000343 01 SE0ORDR1.
DEF |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - 226 LINES NOT DISP
LAYED |
| 000574 MOVE IN-PASS1 TO SE0ORDR1
MOD |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 LINES NOT DISP
LAYED |
| 000577 MOVE SE0ORDR1 TO SPA-PASS1,
USE |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 LINES NOT DISP
LAYED |
| 000582 MOVE SPA-PASS1 TO SE0ORDR1
MOD |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - 20 LINES NOT DISP
LAYED |
| 000604 MOVE IN-PASS1 TO SE0ORDR1
MOD |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 LINES NOT DISP
LAYED |
| 000607 MOVE SE0ORDR1 TO SPA-PASS 1,
USE |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 LINES NOT DISP
LAYED |
| 000611 MOVE SPA-PASS1 TO SE0ORDR1
MOD |
| ****** ********************** BOTTOM OF MODULE *************************
***** |
|
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-50. FIND INDIRECT - First Level of Indirection
When FIND INDIRECT (<PF17>) is entered again, all references to IN-PASS1,
SE0ORDR1, and SPA-PASS1 are found (Figure 5-51).
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| 5 DATA REFS: 1 DEF, 2 USES, 2 MODS FOUND FOR IN-PASS1
|
| ------ ----------------------------------------------------- Before IMSP
ROG2 --|
| ****** ************************* TOP OF MODULE *************************
***** |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - 221 LINES NOT DISP
LAYED |
| 000232 02 IN-PASS1 PIC X(16).
|
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - 60 LINES NOT DISP
LAYED |
| 000293 02 SPA-PASS1
DEF |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - 48 LINES NOT DISP
LAYED |
| 000343 01 SE0ORDR1.
|
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - 226 LINES NOT DISP
LAYED |
| 000574 MOVE IN-PASS1 TO SE0ORDR1
|
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 LINES NOT DISP
LAYED |
| 000577 MOVE SE0ORDR1 TO SPA-PASS1,
MOD |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 LINES NOT DISP
LAYED |
| 000582 MOVE SPA-PASS1 TO SE0ORDR1
USE |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - 20 LINES NOT DISP
LAYED |
| 000604 MOVE IN-PASS1 TO SE0ORDR1
|
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 LINES NOT DISP
LAYED |
| 000607 MOVE SE0ORDR1 TO SPA-PASS1,
MOD |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 LINES NOT DISP
LAYED |
| 000611 MOVE SPA-PASS1 TO SE0ORDR1
USE |
| ****** ********************** BOTTOM OF MODULE *************************
****** |
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-51. FIND INDIRECT - Second Level of Indirection

When no more levels of indirection are found, the following message is


displayed in the message line:
END OF INDIRECT SEARCH
Entry of the END command (<PF3>) resets all excluded lines in your
program.
Note: The EXCLUDE keyword can be used on any FIND command. When it is
used, XPEDITER/TSO excludes all lines before executing the FIND.
5.4.1.3 Finding COBOL Structures
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FIND also is able to find COBOL structures using keywords in place of a
character string. When a COBOL-structure keyword is entered instead of a
data name, XPEDITER/TSO highlights all lines in the program where the
COBOL structure is used.
Note: Currently, EXEC SQL WHENEVER and EXEC SQL DECLARE statements are
not found when you issue the FIND SQL command.
The COBOL-structure keywords are listed below; see Appendix G,
"COBOL-Structure Keywords" in topic G.0 for descriptions and source
relationships.
ALTer CICS INput PARAgraph
BRAnch CONDition IO SQL
CALL DLI OUTput
Example 1 -- Using FIND With the COBOL-Structure INPUT
Enter the following command to find all INPUT statements in the IQTEST
program:
FIND INPUT
The first input statement found is a READ statement, as shown in
Figure 5-52. The line that contains the input verb is highlighted. If
the verb statement extends over multiple lines, multiple lines are
highlighted, as shown. To locate the next input statement, press <PF5>
(FIND).
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> FIND SCROLL ===
> CSR |
| 2 INPUT FOUND
|
| ------ ------------------------------------------------------- Before IQ
TEST --|
| =====> B PROCEDURE DIVISION.
|
| 000131 A000-CREATE-IQ-TEST-REPORT.
|
| 000132 OPEN INPUT IQ-TEST-FILE
|
| 000133 OUTPUT IQ-TEST-REPORT-FILE.
|
| 000134 READ IQ-TEST-FILE
|
| 000135 AT END
|
| 000136 MOVE 'NO' TO ARE-THERE-MORE-RECORDS.
|
| 000137 MOVE IN-SCHOOL-NO TO INPUT-IQ.
|
| 000138 IF THERE-IS-A-RECORD
|
|
|
Figure 5-52. Result of FIND With COBOL-Structure Keyword INPUT
The next input statement is also a READ statement as shown in Figure 5-53.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: IQTEST MODULE: IQTEST COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------- Before IQ
TEST --|
| 000199 MOVE SPACES TO DETAIL-LINE.
|
| 000200 READ IQ-TEST-FILE
|
| 000201 AT END
|
| 000202 MOVE 'NO' TO ARE-THERE-MORE-RECORDS.
|
| 000203 B005-PROCESS-DETAIL-RECS-EXIT.
|
|
|
Figure 5-53. Result of a Repeat FIND
When you enter FIND and no more INPUT statements are found, the message
BOTTOM OF DATA REACHED is displayed in the message area. The input
statements remain highlighted until execution begins or a new FIND command
is issued.
Example 2 -- Using FIND With the COBOL-Structure DLI and the EXCLUDE
keyword:
In this example, the FIND command is entered with the DLI keyword and
EXCLUDE. The DLI keyword finds not only all lines in the OSDLI program
that say EXEC DLI, but in each case, the entire DLI statement. The
EXCLUDE keyword displays only the lines containing the requested
information; all other lines are excluded from display. Enter the
following command:
FIND DLI X
In Figure 5-54, you can see at a glance where the DLI statements are, what
types they are, and all parameters on each statement. At this point a
NOLINES command is entered to eliminate the message line "xx LINES NOT
DISPLAYED" from the display.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> NOL SCROLL ===
> CSR |
| PROGRAM: OSDLI MODULE: OSDLI COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ -------------------------------------------------------- Before O
SDLI --|
| ****** *********************** TOP OF MODULE ***************************
***** |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - 191 LINES NOT DISP
LAYED |
| 000201 EXEC DLI SCHD
|
| 000202 PSB(TRIDATA)
|
| 000203 END-EXEC.
|
| - - - - - - - - - - - - - - - - - - - - - - - - - - - 46 LINES NOT DISP
LAYED |
| 000256 EXEC DLI GET UNIQUE
|
| 000257 SEGMENT(VALID) SEGLENGTH(4)
|
| 000258 INTO(WORK-ROOT-SEG)
|
| 000259 KEYS(WT-KEY-SEND) KEYLENGTH(2)
|
| 000260 KEYFEEDBACK(WT-KEY-FEEDBACK)
|
| 000261 END-EXEC.
|
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - 20 LINES NOT DISP
LAYED |
| 000289 EXEC DLI
|
| 000290 GET NEXT IN PARENT
|
| 000291 SEGMENT(VALID)
|
| 000292 SEGMENT(COUNT) SEGLENGTH(8)
|
| 000293 INTO(WORK-COUNT-SEG)
|
| 000294 KEYS(WT-KEY-SEND) KEYLENGTH(5
) |
| 000295 KEYFEEDBACK(WT-KEY-FEEDBACK)
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-54. Results of FIND DLI With EXCLUDE
As illustrated in Figure 5-55, the resulting display can accommodate
additional found lines.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| 16 DLI FOUND
|
| ------ -------------------------------------------------------- Before O
SDLI --|
| ****** *********************** TOP OF MODULE ***************************
***** |
| 000201 EXEC DLI SCHD
|
| 000202 PSB(TRIDATA)
|
| 000203 END-EXEC.
|
| 000256 EXEC DLI GET UNIQUE
|
| 000257 SEGMENT(VALID) SEGLENGTH(4)
|
| 000258 INTO(WORK-ROOT-SEG)
|
| 000259 KEYS(WT-KEY-SEND) KEYLENGTH(2)
|
| 000260 KEYFEEDBACK(WT-KEY-FEEDBACK)
|
| 000261 END-EXEC.
|
| 000289 EXEC DLI
|
| 000290 GET NEXT IN PARENT
|
| 000291 SEGMENT(VALID)
|
| 000292 SEGMENT(COUNT) SEGLENGTH(8)
|
| 000293 INTO(WORK-COUNT-SEG)
|
| 000294 KEYS(WT-KEY-SEND) KEYLENGTH(5
) |
| 000295 KEYFEEDBACK(WT-KEY-FEEDBACK)
|
| 000296 END-EXEC.
|
| 000297 EXEC DLI
|
| 000298 REPLACE
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-55. Result of Issuing the NOLINES Command
5.4.1.4 The NOLINES Keyword and Command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
In the previous example, the NOLINES command was entered to suppress the
"xxx LINES NOT DISPLAYED" message line that appears when the EXCLUDE
keyword is used with FIND. A NOLINES keyword is also available with FIND.
Like the NOLINES command, the NOLINES keyword eliminates the message line
that appears with the use of the EXCLUDE keyword. However, it is
effective only when used in conjunction with the EXCLUDE keyword.
5.4.1.5 Using the EXCLUDE Command With FIND
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The EXCLUDE command includes the keyword parameter ALL, which excludes
all lines in a program. The EXCLUDE ALL command can be used effectively
with FIND. Issuing the EXCLUDE ALL command results in the removal of all
the source lines in the display. You can also use the NOLINES command to
suppress the "xxx LINES NOT DISPLAYED" message line.
Entering the following commands results in the display shown in
Figure 5-56:
EXCLUDE ALL;NOLINES
After all lines in the program have been excluded, the FIND command can be
issued for multiple data names, to make a cumulative search for the source
of a problem.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> FIND SUBS SCROLL ===
> CSR |
| PROGRAM: IMSPROG2 MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------ Before IMS
PROG2--|
| ****** ************************ TOP OF MODULE **************************
***** |
| ****** ********************** BOTTOM OF MODULE *************************
***** |
|
|
Figure 5-56. Result of Excluding ALL Lines
Note that you can also concatenate the EXCLUDE ALL command along with a
FIND command. For example, entering the following commands results in the
display shown in Figure 5-57:
EXCLUDE ALL;NOLINES;FIND SUBS
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| 49 DATA REFS: 1 DEF, 30 USES, 18 MODS FOUND FOR SUBS
|
| ------ ------------------------------------------------------ Before IMS
PROG2--|
| ****** ************************ TOP OF MODULE **************************
***** |
| 000085 77 SUBS PIC S9(3) COMP.
DEF |
| 000654 ELSE MOVE NEXT-SHIP-DETAIL TO SUBS
MOD |
| 000656 UNTIL SUBS = 3.
USE |
| 000659 MOVE UNPROT-ATTR-NUM TO FE20SNR-ATTR (SUBS)
USE |
| 000660 FE20SDAT-ATTR (SUBS), SHIPSTAT-ATTR (SUBS). 2
USE |
| 000661 MOVE UNPROT-ATTR-ALPH TO FE20SMET-ATTR (SUBS).
USE |
| 000662 ADD 1 TO SUBS.
MOD |
| 000680 THEN MOVE NEXT-SHIP-DETAIL TO SUBS.
MOD |
| 000681 PERFORM SHPCRTN UNTIL SUBS = 3 OR
USE |
| 000682 IN-SHIP-DETAIL (SUBS) = SPACES
USE |
| 000697 MOVE IN-SHIP-DETAILS (SUBS) TO SE0ORDR7.
USE |
| 000707 IF SUBS = 2
USE |
|
|
Figure 5-57. Result of FIND SUBS After EXCLUDE ALL
5.4.1.6 Finding a String IN COBOL Structures
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COBOL-structure keywords can also be used with the IN keyword. They are
used to find a string or a data name "IN" a COBOL structure. For example,
the following FIND command is entered with the string B010, part of a
performed paragraph label:
FIND B010 IN PARA
The FIND string IN COBOL-structure lets you focus on the statement that is
of concern, rather than issue several repeat FIND commands. See the
results illustrated in Figure 5-58.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| 1 CHARS 'B010' FOUND
|
| ------ ------------------------------------------------------- Before IQ
TEST --|
| 000203 B005-PROCESS-DETAIL-RECS-EXIT.
|
| 000204 B010-PROCESS-TEACHER-CHANGE.
|
| 000205 DIVIDE TOTAL-TEACHER-IQ BY TEACHER-STUDENT-TOTAL
|
| 000206 GIVING WA-TCHR-AVG-IQ ROUNDED.
|
| 000207 MOVE WA-TCHR-AVG-IQ TO TATL-AVG-IQ.
|
| 000208 MOVE DOUBLE-SPACING TO PROPER-SPACING.
|
| 000209 WRITE IQ-TEST-REPORT-LINE FROM TEACHER-AVG-TOTAL-LINE
|
| 000210 AFTER PROPER-SPACING.
|
| 000211 MOVE ZERO TO TOTAL-TEACHER-IQ.
|
| 000212 MOVE ZERO TO WA-TCHR-AVG-IQ.
|
| 000213 MOVE ZERO TO TEACHER-STUDENT-TOTAL.
|
|
|
Figure 5-58. Results of FIND Data String With IN PARAGRAPH
5.4.1.7 Using FIND CURSOR
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The CURSOR keyword issues a FIND command for the data name or string
under the cursor. It functions like PEEK CURSOR, searching for data names
as well as strings. IN and OF qualifications are automatically picked up.
In Figure 5-59, the cursor is positioned on the first M on line 553.
Press the <PF14> key or enter the FIND CURSOR command as shown.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> FIND CURSOR SCROLL ===
> CSR |
| PROGRAM: IMSPROG2 MODULE: IMSPROG2 COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ----------------------------------------------------- Before IMSP
ROG2 --|
| 000548 ACCEPT TODAY FROM DATE.
|
| 000549 MOVE CORR TODAY TO TODAY1.
|
| 000550 MOVE CORR TODAY TO TODAY2.
|
| 000551 * CALCULATE ABOUT 2 WEEKS HENCE INTO TODAY2
|
| 000552 IF DD OF TODAY2 < 15, ADD 14 TO DD OF TODAY2.
|
| 000553 ELSE ADD 1 TO MM OF TODAY2, SUBTRACT 14 FROM DD OF TODAY2.
|
| 000554 IF MM OF TODAY2 = 13, MOVE 01 TO MM OF TODAY2
|
| 000555 ADD 1 TO YY OF TODAY2
|
|
|
Figure 5-59. Using FIND CURSOR
FIND CURSOR searches for the data name under the cursor and highlights it,
as shown in Figure 5-60.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| 4 DATA REFS: 1 DEF, 2 USES, 1 MOD FOUND FOR MM
|
| ------ ----------------------------------------------------- Before IMSP
ROG2 --|
| 000221 01 TODAY2.
|
| 000222 02 MM PIC 99.
DEF |
| 000223 02 DD PIC 99.
|
| 000224 02 YY PIC 99.
|
| 000225 *
|
| 000227 * INPUT DATA FOR TRANSACTION TQ2CONEW
|
| 000228 *
|
| 000229 01 INPUT-MESSAGE-PASS1.
|
| 000230 02 IN-LL1 PIC S9(3) COMP.
|
| 000231 02 IN-ZZ1 PIC S9(3) COMP.
|
| 000232 02 IN-PASS1 PIC X(16).
|
| 000233 02 FILLER PIC X(620).
|
|
|
Figure 5-60. Result of Entering FIND CURSOR
5.4.2 Tracing the Flow of Control
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

You can trace the flow of control with the TRACE and the SHOW PREVIOUS
commands.

5.4.2.1 Using the TRACE Command


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The TRACE command traces the flow of control as your program executes and
lets you view it on the source display screen. The specified statements
or paragraph names are highlighted as they are executed, until a
breakpoint is reached, an abend is intercepted a terminal I/O is issued,
or a keyboard interrupt is detected.
In the case of tracing module calls, however, the tracing is not visible
on the source screen. The calling module, the called module, and the
number of times the calls are made are written to the log during program
execution. The call activities can be traced by entering the LOG command
and reviewing the log.
For example, suppose you enter the following TRACE command for the TRIMAIN
program:
TRACE MODULES
After you have executed the program by entering GO, you can access the log
using the LOG command. As seen in Figure 5-61, you can trace the flow of
control as the various modules are called.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------- XPEDITER/TSO - LOG -----------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ---------------------------------------------------------------- After TRI
MAIN --|
| TRITST CALLED BY TRIMAIN - 7 CALLS
|
| TRITST RETURN TO TRIMAIN
|
| TRITST CALLED BY TRIMAIN - 8 CALLS
|
| TRITST RETURN TO TRIMAIN
|
| TRITST CALLED BY TRIMAIN - 9 CALLS
|
| TRITST RETURN TO TRIMAIN
|
| TRITST CALLED BY TRIMAIN - 10 CALLS
|
| TRITST RETURN TO TRIMAIN
|
| TRITST CALLED BY TRIMAIN - 11 CALLS
|
| TRITST RETURN TO TRIMAIN
|
| TRITST CALLED BY TRIMAIN - 12 CALLS
|
| TRITST RETURN TO TRIMAIN
|
| TRITST CALLED BY TRIMAIN - 13 CALLS
|
| TRITST RETURN TO TRIMAIN
|
| *** TRIRPT FROM ASJSEP1.XPEDITER.LINKLIB LINK 07/20/9
2 |
| TRIRPT CALLED BY TRIMAIN - 14 CALLS
|
| TRIRPT RETURN TO TRIMAIN
|
| PAUSE AFTER TRIMAIN IN MAIN-PARA
|
| TEST COMPLETED
|
| ***************************** BOTTOM OF DATA *****************************
** |
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-61. Session Log for TRACE MODULES Command
When the TRACE command is used with the MAX keyword, the trace function
pauses when execution reaches the preset limit. The default value for the
maximum limit is 25. For example, if you request XPEDITER/TSO to trace
execution at the statement level for a program that does not have any
breakpoints set and resume execution, each statement is highlighted, and
the program pauses following the execution of 25 statements. To override
the default maximum limit, you must enter a value greater than 25 as an
argument with the TRACE command.
Figure 5-62 demonstrates the results of entering the following command and
pressing <PF12> (GO) to resume execution:
TRACE ALL STATEMENTS
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| 25 TRACE BREAKPOINTS HAVE BEEN EXECUTED
|
| ------ --------------------------------------------------- Before TRIMAI
N.51 --|
| 000034 B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| =====> CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR(TX)
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-62. Result of Entering the TRACE ALL STATEMENTS and GO Commands
Figure 5-63 demonstrates the results of entering the following command and
pressing <PF12> (GO) to resume execution:
TRACE TRITST. MAX 5

|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| 5 MODULE TRACES HAVE BEEN EXECUTED
|
| ------ --------------------------------------------------- Before TRIMAI
N.51 --|
| 000034 B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| =====> CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR(TX)
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-63. Result of TRACE MODULE TRITST. and GO Commands
When the TRACE command is issued against any statements or paragraph
names, the execution speed can be controlled by using the SET DELAY
command before entering the TRACE command. For instance, entering the
following command slows the highlighting speed (execution speed) by one
second:
SET DELAY 1
While execution processing is in progress, the keyboard is unlocked to
allow you to interrupt and stop execution by pressing any key, including
the <PA1> key. When a keyboard interrupt is detected, tracing pauses
immediately.
5.4.2.2 Using the SHOW PREVIOUS Command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The SHOW PREVIOUS command lists, in logical sequence, the previous 100
statements along with the executed breakpoints. The list presented by the
SHOW PREVIOUS command can be useful in reviewing the execution path to
understand how you got to the present location. Since any implied
breakpoints are recognized with the SHOW PREVIOUS command, a program that
was run with the TRACE ALL PARAGRAPHS command presents a list like that
shown in Figure 5-64 as the result of entering the SHOW PREVIOUS command.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------- XPEDITER/TSO - SHOW ----------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ---------------------------------------------------------------- After TRI
MAIN --|
| ********************************* TOP OF DATA ****************************
**** |
| 000034 PROCEDURE DIVISION. TRIM
AIN |
| 000035 MAIN-PARA. TRIM
AIN |
| 000041 INIT-PARA. TRIM
AIN |
| 000045 ANALYZE-NEXT-REC. TRIM
AIN |
| 000045 ANALYZE-NEXT-REC. TRIM
AIN |
| 000045 ANALYZE-NEXT-REC. TRIM
AIN |
| 000045 ANALYZE-NEXT-REC. TRIM
AIN |
| 000045 ANALYZE-NEXT-REC. TRIM
AIN |
| 000045 ANALYZE-NEXT-REC. TRIM
AIN |
| 000045 ANALYZE-NEXT-REC. TRIM
AIN |
| 000045 ANALYZE-NEXT-REC. TRIM
AIN |
| 000045 ANALYZE-NEXT-REC. TRIM
AIN |
| 000045 ANALYZE-NEXT-REC. TRIM
AIN |
| 000045 ANALYZE-NEXT-REC. TRIM
AIN |
| 000045 ANALYZE-NEXT-REC. TRIM
AIN |
| 000045 ANALYZE-NEXT-REC. TRIM
AIN |
| 000045 ANALYZE-NEXT-REC. TRIM
AIN |
| 000045 ANALYZE-NEXT-REC. TRIM
AIN |
| 000054 ENDING-PARA. TRIM
AIN |
| 000040 GOBACK. TRIM
AIN |
| ****************************** BOTTOM OF DATA ****************************
**** |
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-64. Result of Entering the SHOW PREVIOUS Command
5.4.3 Monitoring Execution Coverage
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

You can monitor execution coverage with the COUNT and the SHOW COUNT
commands.

5.4.3.1 Using the COUNT Command


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The COUNT command maintains execution counts and lets you analyze
statement level execution coverage after running the program. Figure 5-65
shows the result of setting counters at every paragraph by entering the
following command, then pressing <PF12> (GO) to resume execution:
COUNT ALL PARAGRAPHS
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| TEST COMPLETED
|
| ------ ------------------------------------------------------- After TRI
MAIN --|
| 000034 B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA. 00
00001 |
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| ====>> A GOBACK.
|
| 000041 INIT-PARA. 00
00001 |
| 000042 MOVE ZEROS TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC. 00
00014 |
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZEROS TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR (TX).
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-65. Result of Entering the COUNT Command
A 7-digit counter is displayed at the right of the screen for each
statement or paragraph that is counted. You can globally monitor
execution coverage by using the ALL keyword or selectively monitor by
specifying the statement numbers. When the ALL keyword is issued,
however, it only applies to the current module in which the source file is
displayed.
5.4.3.2 Using the SHOW COUNT Command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The statements that are monitored with the COUNT command can be listed by
entering the SHOW COUNT command. The source lines without counters are
excluded from the screen display. Figure 5-66 illustrates the result of
the SHOW COUNT command after monitoring execution coverage at the
paragraph level.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| SPECIFIED STATEMENTS NOT EXCLUDED - RESET WITH END
|
| ------ ------------------------------------------------------- After TRI
MAIN --|
| ****** ************************ TOP OF MODULE **************************
****** |
| - - - - - - - - - - - - - - - - - - - - 34 LINES NOT DI
SPLAYED|
| 000035 MAIN-PARA. 0
000001 |
| - - - - - - - - - - - - - - - - - - - - - 5 LINES NOT DI
SPLAYED|
| 000041 INIT-PARA. 0
000001 |
| - - - - - - - - - - - - - - - - - - - - - 3 LINES NOT DI
SPLAYED|
| 000045 ANALYZE-NEXT-REC. 0
000014 |
| - - - - - - - - - - - - - - - - - - - - - 8 LINES NOT DI
SPLAYED|
| 000054 ENDING-PARA. 0
000001 |
| - - - - - - - - - - - - - - - - - - - - - 2 LINES NOT DI
SPLAYED|
| ****** ********************** BOTTOM OF MODULE *************************
****** |
|
|
Figure 5-66. Result of Entering the SHOW COUNT Command
When the SHOW COUNT command is issued, the entire PROCEDURE DIVISION is
written to the log with the 7-digit counters displayed, as seen in
Figure 5-67.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------- XPEDITER/TSO - LOG -----------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRIMAIN MODULE: TRIMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ---------------------------------------------------------------- After TRI
MAIN --|
| *** EXECUTION COUNTS FOR MODULE TRIMAIN ***
|
| * 000034 PROCEDURE DIVISION.
|
| * 000035 MAIN-PARA. 00
00001 |
| * 000036 PERFORM INIT-PARA.
|
| * 000037 PERFORM ANALYZE-NEXT-REC
|
| * 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| * 000039 PERFORM ENDING-PARA.
|
| * 000040 GOBACK.
|
| * 000041 INIT-PARA. 00
00001 |
| * 000042 MOVE ZEROS TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| * 000043 OPEN INPUT INFILE.
|
| * 000044 MOVE 'N' TO OUT-OF-RECS.
|
| * 000045 ANALYZE-NEXT-REC. 00
00014 |
| * 000046 READ INFILE INTO WORK-REC
|
| * 000047 AT END
|
| * 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| * 000049 IF OUT-OF-RECS = 'N'
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-67. Execution Coverage Written to the Log
If you do not wish to write the entire PROCEDURE DIVISION to the log,
enter the SHOW COUNT command with the NOLOG keyword. The results of
execution coverage will not be recorded.
5.4.4 Monitoring and Reviewing the Execution Path
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The MONITOR and REVERSE commands are used to activate review mode.
Review mode lets you monitor and review the execution path by stepping
backwards through your program. You can view the statements that were
executed during normal (forward) execution. You can trace backwards
through the actual sequence of instructions that led to the current
breakpoint. There is no guesswork about which of the possible paths the
program took; the actual path that was taken during forward execution of
the program is displayed.
The MONITOR command records the execution history and the REVERSE command
enables you to review the execution history.
To activate review mode, enter the MONITOR command from the primary
command line. MONITOR without a module name records history for the
current module--not necessarily the active module where execution is
located, but the module indicated by the program field on the third line.
After issuing the MONITOR command, execute the statements you want to
review. You will be able to view only those statements that were
previously executed. Then, when your program pauses during logical
execution, enter the following primary command:
REVERSE
The REVERSE command places the execution arrow on the last statement that
was executed, and changes the execution direction of your program--from
forward to reverse (backward). From this point on, the REVERSE command
acts as a toggle that changes the direction in which your program is
executed. During review mode, the execution status message on the fourth
line of the screen indicates the execution direction and the statement
where execution is paused.
Notes:
1. Entering the REVERSE command only changes the direction of execution;
it does not cause execution to occur.
2. You must enter the GO n or GO command to begin execution in the
current direction.
The GO n command moves the active arrow n lines in the current
direction, which lets you step through the program line-by-line.
Unlike normal execution mode, a GO n command in review mode ignores
module boundaries and will pause after executing n statements,
regardless of what modules they are in. It is recommended that you
use GO 1 commands to do a backward line-by-line execution.
3. In review mode, TRACE does not recognize the default maximum limit of
25 statements, and continues execution until it encounters the "AT
INITIAL EXECUTION POSITION." To halt the reverse trace, press the ATTN
key.
While review mode is activated, you can set and remove breakpoints,
perform tracing (in either direction), and display data. For example, you
may want to open a Keep window to view the data values as they are
restored to their original state as reverse execution is performed, as
shown in Figure 5-68 for the data value WORK-REC.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| Next logical instruction is RESUME EXECUTION
|
| ---
|
| 000030 01 WORK-REC > 345
|
| ------ ------------------------------------------ Reverse - After TRIMAI
N.46 --|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| ====>> A READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR (TX).
|
| 000054 ENDING-PARA.
|
| 000055 CLOSE INFILE.
|
| 000056 CALL 'TRIRPT' USING NAME-N-CNTR-TABLE.
|
| ****** *********************** BOTTOM OF MODULE ************************
** |
|
|
Figure 5-68. Review Mode with a Keep Window Opened

Note: While in review mode, you cannot use the GOTO command, alter data
by typing over it or using the MOVE command, or change data names. Also,
SKIP breakpoints are ignored during review mode.
To exit from review mode when you have finished doing your analysis, type
the following command:
RESUME
The message "AT CURRENT EXECUTION POSITION" is displayed, and review mode
is automatically ended. Normal forward execution occurs until you again
enter the REVERSE command.
Note: You can also terminate review mode by entering GO or GO n until
you see the message "AT CURRENT EXECUTION POSITION."
Kept items are logged at each breakpoint while in review mode, just as in
normal execution mode. The logged items are all logged independently of
review mode or normal execution mode, except for the following:
* Encountering the beginning of the program while in review mode
* Encountering the current execution location while in review mode
5.5 Modifying Program Logic
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

This section describes the XPEDITER/TSO commands that let you modify
program logic by bypassing code segments, adding statements, and forcing
logic changes. The SKIP, INSERT, GOTO, and MOVE commands let you try out
fixes dynamically without requiring any source code modification.

5.5.1 Bypassing Code With the SKIP Command


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Unwanted code can be bypassed using the SKIP command. There is no need
to comment out the code and recompile the program for it to take effect.
For example, a call to a submodule that is not yet written can be bypassed
without requiring a program stub to be developed. Figure 5-69 shows the
effect of skipping module TRITST and pausing execution following the CALL
statement. KEEP commands were also issued for TRIANGLE-TYPE and WORK-REC
so the effect of the SKIP command can be seen for these parameters. To
accomplish all this, the following commands were issued:
SKIP TRITST.
AFTER 51
KEEP TRIANGLE-TYPE
KEEP WORK-REC
GO
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| Next logical instruction is TRIMAIN.52
|
| ---
|
| 000030 01 WORK-REC > 345
|
| 000029 01 TRIANGLE-TYPE > 0 DEC
IMAL |
| ------ ---------------------------------------------------- After TRIMAI
N.51 --|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| ====>> A CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR(TX)
|
| 000054 ENDING-PARA.
|
| 000055 CLOSE INFILE.
|
| 000056 CALL 'TRIRPT' USING NAME-N-CNTR-TABLE.
|
| ****** ************************ BOTTOM OF MODULE ***********************
****** |
|
|
Figure 5-69. Result of Entering the SKIP TRITST. Command
The parameter TRIANGLE-TYPE is left untouched as it has been initialized;
however, the program can continue execution by processing any data that
you move to the variable. The SKIP command can be used with a statement,
a range of statements, a paragraph name, or a module name.
There are a couple of situations to be aware of when using the SKIP
command. In order to bypass an entire IF sentence, you must SKIP each
verb, not just the statement containing the IF condition. Also, if you
SKIP a statement that sets a switch or flag, the execution path could
change or end in an infinite loop. More subtly, the COBOL compiler
generates multiple instructions for each COBOL verb. Some of these
instructions can load base pointers and base registers for future PMAP
instructions. Since a SKIP bypasses all instructions associated with the
verb, a S0C1 or S0C4 can result. The SKIP command should be removed
(DELETEd) in this case.
The SKIP command can be combined with inserted statements to test
alternative logic flow. Figure 5-70 shows that the original IF sentence
starting with statement 40 was skipped and completely replaced by the
inserted IF logic above it. The insert lines (''''') were opened up by
issuing an I(nsert) line command (I 3) on line 39. Refer to "Inserting
Statements" in topic 5.5.2 for more information on inserting statements.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: SKIPTST MODULE: SKIPTST COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------ Before SKI
PTST --|
| 000039 ADD +1 TO COUNTER
|
| '''''' if record-type = '1' and not-out-of-recs
|
| '''''' move spaces to hold-area
|
| '''''' end-if
|
| 000040 S IF RECORD-TYPE = '1'
|
| 000041 S MOVE SPACES TO HOLD-AREA.
|
| 000042 MOVE SPACES TO RECORD-TYPE
|
|
|
Figure 5-70. Inserted Statements Must Precede the COBOL Statements That
Are Skipped
This approach makes it easy to experiment with several potential fixes.
5.5.2 Inserting Statements
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

You can insert XPEDITER/TSO commands, such as MOVE, PEEK, GOTO, and
PAUSE, using the IF...ELSE... constructs to your program.
You can also dynamically insert SQL statements and prototype DB2
applications if you have XPEDITER for DB2 Extension and File-AID for DB2
installed. Refer to Chapter 12, "Using XPEDITER for DB2 Extension" in
topic 12.0 for more information.
Inserted statements are executed after the last logical statement as if
they are part of the source code. The capability to insert statements
allows you to test fixes before you update the source code and actually
recompile the program.
Figure 5-71 shows the effect of the inserted statements being executed.
The PAUSE command can be used to set a breakpoint within a block of
inserted XPEDITER/TSO commands or SQL statements. When the PAUSE
breakpoint is encountered, XPEDITER/TSO temporarily pauses execution,
issues a message, and returns control to you, as shown.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PAUSE REQUESTED BY INSERTED COMMAND
|
| ---
|
| 000030 01 WORK-REC > 111
|
| ------ --------------------------------------------------- Before TRIMAI
N.46 --|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 GOBACK.
|
| 000041 A INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| '''''' IF WORK-REC = '345'
|
| '''''' KEEP WORK-REC
|
| '''''' MOVE '111' TO WORK-REC
|
| =====> PAUSE
|
| '''''' END-IF
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-71. Result of Executing the Inserted Statements
The source display screen is designed after the ISPF/PDF editor. The
COBOL source code itself cannot be edited, however, you can insert
XPEDITER/TSO commands to the display-only source code by typing over the
statement number area with the I(nsert) line command. Use the D(elete)
line command to delete any lines. The syntax of the inserted statements
is checked by XPEDITER/TSO before they are executed. If the syntax is
incorrect, an error message is generated and the incorrect statement is
highlighted when you press <ENTER>, as illustrated in Figure 5-72.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| IF/ELSE/ENDIF LOGIC UNBALANCED
|
| ------ ------------------------------------------------------ Before TRI
MAIN --|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| '''''' IF WORK-REC = '345'
|
| '''''' KEEP WORK-REC
|
| '''''' MOVE '111' TO WORK-REC
|
| '''''' PAUSE
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
|
|
Figure 5-72. Syntax Checking for Inserted Statements

5.5.2.1 INSERT Processing


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

You can enter the I(nsert) line command on a COBOL statement containing
an executable verb (PMAP record) and enter XPEDITER/TSO commands following
the statement. You cannot insert lines after a statement containing only
ELSE, AT END, or scope terminators (END-IF, END-READ, END-PERFORM), where
a breakpoint cannot be set. The reason for this rule is that XPEDITER/TSO
internally generates an AFTER breakpoint on the COBOL statement where the
I line command is entered and interpretively executes the inserted
statements only if the internal AFTER breakpoint is reached. In other
words, the inserted statements are associated with the COBOL code above
them.
Some ambiguity arises in the execution of inserted XPEDITER/TSO commands
when they are embedded at the end of a conditional structure that is
delimited by a period or a scope terminator. Regardless of the period,
the inserted statements will be executed when the COBOL code above them is
reached. If you want the inserted statements to be executed only when the
true path is taken, place the insert anywhere inside the true path, as
shown in Figure 5-73. If you want the inserted statements to be executed
only when the false path is taken, place the insert anywhere inside the
false path.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PAUSE REQUESTED BY INSERTED COMMAND
|
| -
|
| 000028 01 OUT-OF-RECS > N
|
| ------ ---------------------------------------------------- After TRIMAI
N.53 --|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR(TX)
|
| '''''' KEEP OUT-OF-RECS
|
| =====> PAUSE
|
| 000054 ENDING-PARA.
|
| 000055 CLOSE INFILE.
|
| 000056 CALL 'TRIRPT' USING NAME-N-CNTR-TABLE.
|
| ****** ************************ BOTTOM OF MODULE ***********************
****** |
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-73. Inserting Statements Following a Conditional Construct
To protect the program from experiencing side effects, placing the I line
command on branching verbs such as PERFORM, GOBACK, and EXIT is not
permitted. A message "INSERT NOT PERMITTED FOLLOWING verb" is issued when
you attempt to do so. If you wish to execute statements following the
return from the actual performed paragraph, insert the statement after the
last executable code in the out-of-line paragraph.
5.5.2.2 XPEDITER/TSO Commands That Can Be Inserted in Your Program
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The following subset of XPEDITER/TSO commands can be inserted in your


program:
AFTER IF/ELSE/END-IF SHOW
BEFORE KEEP SKIP
COUNT MOVE TRACE
DELETE PAUSE WHEN
EXIT PEEK
GOTO SET
Notes:
1. You should use the following SHOW keywords separately (i.e., not
within the same set of inserted commands): AFTERS, BEFORES, BREAKS,
SKIPS, and TRACES.
Be aware that the output from these SHOW commands is not written to
the log.
2. The SHOW and SET commands do not have all features available.
5.5.2.3 XPEDITER/TSO Commands That Cannot Be Inserted in Your Program
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The following subset of XPEDITER/TSO commands cannot be inserted in your


program:
AA SNAP FADB2 LEFT RIGHT
ACCEPT FIND LOAD SOURCE
ALLOC GEN LOCATE SQL
AT GO LOG TEST
BROWSE GO n MEMORY TSO
DLI GPREGS MONITOR UP
DOWN HELP NOLINES USE
END IF/OR construct RESUME XPED
EXCLUDE INSERT RETEST
EXPLAIN INTERCEPT REVERSE
5.5.3 Redirecting Logic
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

You can dynamically alter the control flow and force the program to take
a certain path by using the GOTO command, or by simply changing the data
that is processed using the MOVE command, and let the program take its own
course.

5.5.3.1 Using the GOTO Command


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The GOTO command forces logic changes by redirecting the next executable
statement to elsewhere in the program. The command can be used to execute
a wild branch, to bypass statements, to test a loop repeatedly, or to take
an alternative path. Figure 5-74 shows an example of entering the GOTO
command to redirect execution from statement 58 to statement 50 in the
middle of a PERFORM VARYING clause, so that this statement never gets
completed.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> GOTO 50 SCROLL ===
> CSR |
| PROGRAM: TRIRPT MODULE: TRIRPT COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ----+----1----+----2----+---
-3 |
| MORE> 01 DTL-LINE > NUMBER OF ISOSCELES TRIANGLE
S |
| COBOL 77 TX > 3 I
NDEX |
| ------ ---------------------------------------------------- Before TRIRP
T.58 --|
| 000047 PERFORM WRITE-DTLS
|
| 000048 VARYING TX FROM 1 BY 1
|
| 000049 UNTIL TX > 4.
|
| 000050 WRITE OUT-REC FROM BLANK-LINE.
|
| 000051 ADD T-CNTR (1) T-CNTR (2) T-CNTR (3) T-CNTR (4)
|
| 000052 GIVING DTL-CNTR.
|
| 000053 MOVE 'INPUT RECORDS' TO DTL-TITLE.
|
| 000054 WRITE OUT-REC FROM DTL-LINE.
|
| 000055 CLOSE OUTFILE.
|
| 000056 GOBACK.
|
| 000057 WRITE-DTLS.
|
| =====> MOVE T-NAME (TX) TO DTL-TITLE.
|
| 000059 MOVE T-CNTR (TX) TO DTL-CNTR.
|
| 000060 WRITE OUT-REC FROM DTL-LINE.
|
| 000061 MOVE-FIELDS.
|
| 000062 MOVE FIELD-E TO FIELD-D.
|
| 000063 MOVE FIELD-D TO FIELD-C.
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-74. Entering the GOTO Command
Figure 5-75 shows the result of entering the GOTO command.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| EXECUTION RESUMES HERE
|
| ----+----1----+----2----+---
-3 |
| MORE> 01 DTL-LINE > NUMBER OF ISOSCELES TRIANGLE
S |
| COBOL 77 TX > 3 I
NDEX |
| ------ ---------------------------------------------------- Before TRIRP
T.50 --|
| 000047 PERFORM WRITE-DTLS
|
| 000048 VARYING TX FROM 1 BY 1
|
| 000049 UNTIL TX > 4.
|
| =====> WRITE OUT-REC FROM BLANK-LINE.
|
| 000051 ADD T-CNTR (1) T-CNTR (2) T-CNTR (3) T-CNTR (4)
|
| 000052 GIVING DTL-CNTR.
|
| 000053 MOVE 'INPUT RECORDS' TO DTL-TITLE.
|
| 000054 WRITE OUT-REC FROM DTL-LINE.
|
| 000055 CLOSE OUTFILE.
|
| 000056 GOBACK.
|
| 000057 WRITE-DTLS.
|
| 000058 MOVE T-NAME (TX) TO DTL-TITLE.
|
| 000059 MOVE T-CNTR (TX) TO DTL-CNTR.
|
| 000060 WRITE OUT-REC FROM DTL-LINE.
|
| 000061 MOVE-FIELDS.
|
| 000062 MOVE FIELD-E TO FIELD-D.
|
| 000063 MOVE FIELD-D TO FIELD-C.
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-75. Result of Entering the GOTO Command
5.5.3.2 Using the MOVE Command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The MOVE command, on the other hand, indirectly allows you to change the
execution flow by modifying the values of switches, flags, and data that
control the path to be taken. Figure 5-76 shows an example of altering
TST-REC so that the EVALUATE statement will set the EQUILATERAL switch
instead of the SCALENE switch.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> MOVE 555 TO TST-REC SCROLL ===
> CSR |
| PROGRAM: TRITST2 MODULE: TRITST2 COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ---
|
| 000011 01 TST-REC > 563
|
| 000012 05 A > 5 DEC
IMAL |
| 000013 05 B > 6 DEC
IMAL |
| 000014 05 C > 3 DEC
IMAL |
| ------ --------------------------------------------------- Before TRITST
2.31 --|
| =====> B EVALUATE A = B ALSO B = C ALSO A = C
|
| 000032 WHEN TRUE ALSO TRUE ALSO TRUE
|
| 000033 SET EQUILATERAL TO TRUE
|
| 000034 WHEN TRUE ALSO ANY ALSO ANY
|
| 000035 SET ISOSCELES TO TRUE
|
| 000036 WHEN ANY ALSO TRUE ALSO ANY
|
| 000037 SET ISOSCELES TO TRUE
|
| 000038 WHEN ANY ALSO ANY ALSO TRUE
|
| 000039 SET ISOSCELES TO TRUE
|
| 000040 WHEN OTHER
|
| 000041 SET SCALENE TO TRUE
|
| 000042 END-EVALUATE
|
| 000044 A GOBACK.
|
| ****** ************************* BOTTOM OF MODULE **********************
*******|
|
|
|
|
|---------------------------------------------------------------------------
-------|

Figure 5-76. Altering Path by Modifying Data


5.6 Debugging a Sourceless Program
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

XPEDITER/TSO allows you to test and debug programs that do not have the
source (no SIR records) available, such as, old modules and third party
packages.
With this support, you can test and debug "sourceless" main programs,
subprograms, or GETMAINed areas in the same manner as interactive source
level debugging, with a few differences. Test session setup and startup
is the same as setting up a session to debug at the source level. The
differences occur during the test session.
* XPEDITER/TSO breakpoint commands cannot be used. To set a breakpoint,
you must use the AT command, which sets a Before breakpoint.
When the AT breakpoint is reached, the AT Display screen shows your
"sourceless" program in dump format. You can enter XPEDITER/TSO
debugging commands on this screen.
Additional breakpoints can only be set with the AT command.
* Some XPEDITER/TSO commands are not valid for sourceless debugging.
Refer to "Using XPEDITER/TSO Commands for Sourceless Debugging" in
topic 5.6.3 for details.

5.6.1 Example of Accessing a Sourceless Program


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

When your debugging session begins and your driver program has source, the
source display screen shown in Figure 5-77 is displayed. You can set
breakpoints in the regular manner on this screen.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> mem tritsta. SCROLL ===
> CSR |
| Before Breakpoint Encountered
|
| ------ ------------------------------------------------------ Before TRI
MAIN --|
| =====> B PROCEDURE DIVISION.
|
| 000035 MAIN-PARA.
|
| 000036 PERFORM INIT-PARA.
|
| 000037 PERFORM ANALYZE-NEXT-REC
|
| 000038 UNTIL OUT-OF-RECS = 'Y'.
|
| 000039 PERFORM ENDING-PARA.
|
| 000040 A GOBACK.
|
| 000041 INIT-PARA.
|
| 000042 MOVE ZERO TO N-CNTR (1) N-CNTR (2) N-CNTR (3) N-CNTR (4).
|
| 000043 OPEN INPUT INFILE.
|
| 000044 MOVE 'N' TO OUT-OF-RECS.
|
| 000045 ANALYZE-NEXT-REC.
|
| 000046 READ INFILE INTO WORK-REC
|
| 000047 AT END
|
| 000048 MOVE 'Y' TO OUT-OF-RECS.
|
| 000049 IF OUT-OF-RECS = 'N'
|
| 000050 MOVE ZERO TO TRIANGLE-TYPE
|
| 000051 CALL 'TRITST' USING WORK-REC TRIANGLE-TYPE
|
| 000052 SET TX TO TRIANGLE-TYPE
|
| 000053 ADD 1 TO N-CNTR (TX).
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-77. Source Display Screen Showing TRIMAIN Program Source
To set breakpoints in a subprogram, the SOURCE and INTERCEPT commands are
used to access the subprogram from this screen. However, if the
subprogram does not have source, the message "NO SIR DATA SET MEMBER FOR
module-name" is displayed.
If you are familiar with the program, you could use the AT command on the
Source display screen to set a breakpoint in the subprogram.
Note: The AT command can also be entered in an initial script. Issuing
the AT command will also load the module into memory if it is not loaded.
If you are not familiar with the program, you can use the MEMORY command
as shown above to access main storage and display the program in dump
format on the Memory Display screen, or enter AT TRITSTA. and a breakpoint
is set at the 0 displacement in the module. An example is shown in
Figure 5-78.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - MEMORY ---------------------
-------|
| COMMAND ===> at tritsta.+60; go SCROLL ===
> CSR |
| PROGRAM: TRITSTA MODULE: TRITSTA COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| --------------------------------------------------------------- Before TRI
TSTA --|
| BASE = 000B66B8 0 - 2 - 4 - 6 - 8 - A - C - E - = 0-2-4-6-8-A-C
-E- |
| ******************************** TOP OF DATA *****************************
**** |
| 000000 ===> 90ECD00C 18CF41B0 C0F850DB 000450BD = ..}.....{8&..
.&. |
| 000010 ===> 000818DB 58210000 F810C143 C150F810 = ........8.A.A
&8. |
| 000020 ===> C145C150 F810C147 C150F200 C1402001 = A.A&8.A.A&2.A
... |
| 000030 ===> F200C141 2002F200 C1422003 D200C144 = 2.A...2.A...K
.A. |
| 000040 ===> C140FA10 C143C141 D200C146 C140FA10 = A...A.A.K.A.A
... |
| 000050 ===> C145C142 D200C148 C141FA10 C147C142 = A.A.K.A.A...A
.A. |
| 000060 ===> 0010C147 C1404740 C0A0F910 C147C140 = ..A.A...{.9.A
.A. |
| 000070 ===> 4780C0A0 F910C145 C1414740 C0A0F910 = ..{.9.A.A...{
.9. |
| 000080 ===> C145C141 4780C0A0 F910C143 C1424740 = A.A...{.9.A.A
... |
| 000090 ===> C0A0F910 C143C142 4780C0A0 47F0C0A8 = {.9.A.A...{..
0{. |
| 0000A0 ===> 92F42000 47F0C0E8 0000C140 C1414780 = .4...0{Y..A A
... |
| 0000B0 ===> C0CAF900 C141C142 4780C0E4 F900C140 = {.9.A.A...{U9
.A. |
| 0000C0 ===> C1424780 C0E447F0 C0DCF900 C141C142 = A...{U.0{.9.A
.A. |
| 0000D0 ===> 4770C0E4 92F12000 47F0C0E8 92F32000 = ..{U.1...0{Y.
3.. |
| 0000E0 ===> 47F0C0E8 92F22000 58DD0004 98ECD00C = .0{Y.2.......
.}. |
| 0000F0 ===> 07FE0000 00000000 00000000 000B62B0 = .............
... |
| 000100 ===> 00000000 00000000 00000000 00000000 = .............
... |
| 000110 ===> 00000000 00000000 00000000 00000000 = .............
... |
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-78. Memory Display Screen Showing Dump of Subprogram TRITSTA
With the program displayed, you can decide exactly where you want to set
breakpoints. As shown above, the AT command is used to set a breakpoint
at offset +60 in TRITSTA, and the GO command is entered to start program
execution.
When the AT breakpoint is encountered, the AT Display screen shown in
Figure 5-79 is displayed and program execution is paused at the specified
offset.
The offset and the instruction pointer are highlighted indicating where
the breakpoint is set. The message area contains the breakpoint address
and the instruction in hex and mnemonic form. If the AT command is used
on an address and not in a module loaded by XPEDITER, the compile date and
time displayed on the third line will be blank.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------- XPEDITER/TSO - AT DISPLAY ----------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: TRITSTA MODULE: TRITSTA COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------------------------------------------------------------ Before TRITST
A+60 --|
| AT ADDRESS 0008B718: F910C147C140: CP 327(2,12),320(1,12)
|
| BASE = 000B66B8 0 - 2 - 4 - 6 - 8 - A - C - E - = 0-2-4-6-8-A-C
-E- |
| 000060 ===> 0010C147 C1404740 C0A0F910 C147C140 = ..A.A...{.9..
A.A |
| 000070 ===> 4780C0A0 F910C145 C1414740 C0A0F910 = ..{.9.A.A...{
.9. |
| 000080 ===> C145C141 4780C0A0 F910C143 C1424740 = A.A...{.9.A.A
... |
| 000090 ===> C0A0F910 C143C142 4780C0A0 47F0C0A8 = {.9.A.A...{..
0{. |
| 0000A0 ===> 92F42000 47F0C0E8 0000C140 C1414780 = .4...0{Y..A A
... |
| 0000B0 ===> C0CAF900 C141C142 4780C0E4 F900C140 = {.9.A.A...{U9
.A. |
| 0000C0 ===> C1424780 C0E447F0 C0DCF900 C141C142 = A...{U.0{.9.A
.A. |
| 0000D0 ===> 4770C0E4 92F12000 47F0C0E8 92F32000 = ..{U.1...0{Y.
3.. |
| 0000E0 ===> 47F0C0E8 92F22000 58DD0004 98ECD00C = .0{Y.2.......
.}. |
| 0000F0 ===> 07FE0000 00000000 00000000 000B62B0 = .............
... |
| 000100 ===> 00000000 00000000 00000000 00000000 = .............
... |
| 000110 ===> 00000000 00000000 00000000 00000000 = .............
... |
| 000120 ===> 00000000 00000000 00000000 00000000 = .............
... |
| 000130 ===> 00000000 00000000 00000000 00000000 = .............
... |
| 000140 ===> 2F3F4F00 5C006C00 7C000000 00000000 = ....*.%.@....
... |
| 000150 ===> 0C = .............
... |
| **************************** BOTTOM OF DATA *****************************
**** |
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-79. AT Display Screen
When program execution begins, and the main program does not have source,
the Log screen shown in Figure 5-80 is displayed with the message, "NO SIR
DATA SET MEMBER FOR module-name".
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------- XPEDITER/TSO - LOG -----------------------
-------|
| COMMAND ===> mem tritsta. SCROLL===
> CSR |
| PROGRAM: TRITSTA MODULE: TRITSTA COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| --------------------------------------------------------------- Before TRI
TSTA --|
| ******************************** TOP OF DATA *****************************
**** |
| +-------------------------------------------------------------------------
+ |
| : JOB: ASJRNS1
: |
| : XPEDITER/TSO RELEASE 5.03.00 CUSTOMER # 010000 STEP: $$PP
: |
| : TAPE CREATE DATE 91060 DATE: 03/27/92
: |
| : COMPUWARE CORPORATION TIME: 13.21.39
: |
| :
: |
| +-------------------------------------------------------------------------
+ |
|
|
| XPED TSO SPF
|
| TEST TRITSTA
|
| *** TRIMAINA FROM ASJRNS1.ASSEM.LOADLIB LINK 12/07/91
|
| XPD0523 RA151 NO SIR DATA SET MEMBER FOR TRITSTA
|
| ****************************** BOTTOM OF DATA ****************************
**** |
|
|
Figure 5-80. XPEDITER/TSO Log Screen
You can use the AT command on the Log screen to set a breakpoint in the
specified program. However, if you are not familiar with the program, you
may want to use the MEMORY command to display the program (in dump format)
on the Memory Display Screen, or use AT TRITSTA. to set a breakpoint at
the offset.
The AT command can then be entered to set breakpoints in the program.
5.6.2 Using the AT Command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
The AT command can be entered from the Source, Log, Memory, and Show
screens to set a breakpoint in a main program or a subprogram. For
example, the following will set a breakpoint at offset +60 in the
subprogram TRITSTA and start program execution with the GO command.
at tritsta.+60; go
The AT command can be used to set a breakpoint for a module, module and
offset, pure address, register, etc.. The full syntax for the AT command
is provided in the XPEDITER/TSO and XPEDITER/IMS COBOL Reference Manual.
If the address specified with the AT command is not a valid instruction
(data or privileged), a message is returned. Also, if the specified
program has source, no breakpoint is set and the message "MODULE HAS SIR;
USE XPEDITER BREAKPOINT COMMANDS" is displayed.
Note: Typing over instructions with X'00' will not be recognized as a
breakpoint. A SOC1 abend occurs when the typed over instruction is
executed.
When the AT breakpoint is encountered, the AT Display screen is displayed.
The specified program is shown in dump format, starting at the specified
offset.
When an AT breakpoint is set, the first byte of the instruction is
replaced with X'00'.
5.6.3 Using XPEDITER/TSO Commands for Sourceless Debugging
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The rules for using XPEDITER/TSO commands for sourceless debugging are as
follows:
Primary Commands
None of the breakpoint commands are valid. GO is valid, however, GOTO and
GO 1 are not valid. All other commands can be used.
Line Commands
The only valid line commands are X (EXCLUDE) and T (TEMPLATE).
The following are examples of using some XPEDITER/TSO commands to debug a
sourceless program. For example, an AT breakpoint has been set at offset
+60 in the TRITSTA subprogram.
Using the UP command on the AT Display screen scrolls the screen toward
the beginning of the module. Scrolling beyond the beginning of the module
displays negative offsets. Using the LOCATE * command scrolls back to the
current execution as shown in Figure 5-81.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------- XPEDITER/TSO - AT DISPLAY ----------------------
-------|
| COMMAND ===> gpregs SCROLL ===
> CSR |
| PROGRAM: TRITSTA MODULE: TRITSTA COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------------------------------------------------------------ Before TRITST
A+60 --|
| BASE = 000B66B8 0 - 2 - 4 - 6 - 8 - A - C - E - = 0-2-4-6-8-A-C
-E- |
| 000060 ===> 0010C147 C1404740 C0A0F910 C147C140 = ..A.A...{.9..
A.A |
| 000070 ===> 4780C0A0 F910C145 C1414740 C0A0F910 = ..{.9.A.A...{
.9. |
| 000080 ===> C145C141 4780C0A0 F910C143 C1424740 = A.A...{.9.A.A
... |
| 000090 ===> C0A0F910 C143C142 4780C0A0 47F0C0A8 = {.9.A.A...{..
0{. |
| 0000A0 ===> 92F42000 47F0C0E8 0000C140 C1414780 = .4...0{Y..A A
... |
| 0000B0 ===> C0CAF900 C141C142 4780C0E4 F900C140 = {.9.A.A...{U9
.A. |
| 0000C0 ===> C1424780 C0E447F0 C0DCF900 C141C142 = A...{U.0{.9.A
.A. |
| 0000D0 ===> 4770C0E4 92F12000 47F0C0E8 92F32000 = ..{U.1...0{Y.
3.. |
| 0000E0 ===> 47F0C0E8 92F22000 58DD0004 98ECD00C = .0{Y.2.......
.}. |
| 0000F0 ===> 07FE0000 00000000 00000000 000B62B0 = .............
... |
| 000100 ===> 00000000 00000000 00000000 00000000 = .............
... |
| 000110 ===> 00000000 00000000 00000000 00000000 = .............
... |
| 000120 ===> 00000000 00000000 00000000 00000000 = .............
... |
| 000130 ===> 00000000 00000000 00000000 00000000 = .............
... |
| 000140 ===> 2F3F4F00 5C006C00 7C000000 00000000 = ....*.%.@....
... |
| 000150 ===> 0C = .............
... |
| *************************** BOTTOM OF DATA ******************************
** |
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-81. LOCATE* Returns to Current Execution
The GPREGS command can be used to open a modifiable window at the bottom
of your screen. The register values displayed can be changed by typing
over the values. An example showing the GPREGS window is shown in
Figure 5-82.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------- XPEDITER/TSO - AT DISPLAY ----------------------
-------|
| COMMAND ===> show active SCROLL ===
> CSR |
| PROGRAM: TRITSTA MODULE: TRITSTA COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------------------------------------------------------------ Before TRITST
A+60 --|
| BASE = 000B66B8 0 - 2 - 4 - 6 - 8 - A - C - E - = 0-2-4-6-8-A-C
-E- |
| 000060 ===> 0010C147 C1404740 C0A0F910 C147C140 = ..A.A...{.9.A
.A. |
| 000070 ===> 4780C0A0 F910C145 C1414740 C0A0F910 = ..{.9.A.A...{
.9. |
| 000080 ===> C145C141 4780C0A0 F910C143 C1424740 = A.A...{.9.A.A
... |
| 000090 ===> C0A0F910 C143C142 4780C0A0 47F0C0A8 = {.9.A.A...{..
0{. |
| 0000A0 ===> 92F42000 47F0C0E8 F900C140 C1414780 = .4...0{Y9.A A
... |
| 0000B0 ===> C0CAF900 C141C142 4780C0E4 F900C140 = {.9.A.A...{U9
.A. |
| 0000C0 ===> C1424780 C0E447F0 C0DCF900 C141C142 = A...{U.0{.9.A
.A. |
| 0000D0 ===> 4770C0E4 92F12000 47F0C0E8 92F32000 = ..{U.1...0{Y.
3.. |
| 0000E0 ===> 47F0C0E8 92F22000 58DD0004 98ECD00C = .0{Y.2.......
.}. |
| 0000F0 ===> 07FE0000 00000000 00000000 000B62B0 = .............
... |
| 000100 ===> 00000000 00000000 00000000 00000000 = .............
... |
| 000110 ===> 00000000 00000000 00000000 00000000 = .............
... |
| 000120 ===> 00000000 00000000 00000000 00000000 = .............
... |
| 000130 ===> 00000000 00000000 00000000 00000000 = .............
... |
| 000140 ===> 3F4F5F00 7C008C00 9C000000 00000000 = ..¬.@..........
. |
| GPREGS R0 ==> 000B6362 R1 ==> 000B6228 R2 ==> 000B6361 R3 ==> 80095
7C2 |
| R4 ==> 045A49E8 R5 ==> 00000000 R6 ==> 00000000 R7 ==> 800A0
20C |
| R8 ==> 00095C68 R9 ==> 845973DA R10 ==> 0009C000 R11 ==> 000B6
7B0 |
| R12 ==> 000B66B8 R13 ==> 000B67B0 R14 ==> 000CCE16 R15 ==> 000B6
6B8 |
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-82. GPREGS Window on the AT Display Screen
Data and instruction areas can be typed over, as long as a breakpoint is
not set on the instruction being typed over.
The SHOW ACTIVE command can be entered to display a summary of general
purpose register contents, PSW, and some control block information. An
example of the Show screen is shown in Figure 5-83.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------- XPEDITER/TSO - SHOW ----------------------
-------|
| COMMAND ===> end SCROLL ===
> CSR |
| PROGRAM: TRITSTA MODULE: TRITSTA COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------------------------------------------------------------ Before TRITST
A+60 --|
| ***************************** TOP OF DATA ********************************
** |
| GPREGS R0 ==> 000B6362 R1 ==> 000B6228 R2 ==> 000B6361 R3 ==> 800957C
2 |
| R4 ==> 045A49E8 R5 ==> 00000000 R6 ==> 00000000 R7 ==> 800A020
C |
| R8 ==> 00095C68 R9 ==> 845973DA R10 ==> 0009C000 R11 ==> 000B67B
0 |
| R12 ==> 000B66B8 R13 ==> 000B67B0 R14 ==> 000CCE16 R15 ==> 000B66B
8 |
|
|
| PSW XRXXXTIE KEY CMWP S CC PROGMASK AMODE INSTR ADDR
|
| 00000111 8 1101 0 10 0000 0 000B6718
|
|
|
| INSTR
|
| ADDRESS 000B6718 : F910C147C140
|
| OPCODE CP
|
| OP1 LEN 001 000B67FF : 009C
|
| OP2 LEN 000 000B67F8 : 3F
|
|
|
| TCB 006A5638
|
| ASID 004F
|
| CVT 00FD6FA0
|
| JSCB 006F243C
|
| TIOT 006DA000
|
| **************************** BOTTOM OF DATA ******************************
** |
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-83. SHOW ACTIVE Display Screen
The END command returns you to the previously displayed AT Display screen
as shown in Figure 5-82.
The SHOW AT command is then entered to display all the outstanding
breakpoints set by the AT command. An example of the resulting Show
screen is shown in Figure 5-84.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------- XPEDITER/TSO - SHOW ----------------------
-------|
| COMMAND ===> delete at 45a09e8; show at SCROLL ===
> CSR |
| PROGRAM: TRITSTA MODULE: TRITSTA COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------------------------------------------------------------ Before TRITST
A+60 --|
| ***************************** TOP OF DATA ********************************
* |
|
|
| MODULE CSECT ADDRESS OFFSET INSTR FORMAT OPCOD
E |
|
|
| TRITSTA TRITSTA 000B67FF +60 CP SS F9
|
| TRITSTA TRITSTA 000B6760 +A0 MVI SI 92
|
| 045A09E8 STM RS 90
|
|
|
| **************************** BOTTOM OF DATA ******************************
* |
|
|
Figure 5-84. SHOW AT Display Screen
In the example above, the DELETE command is used to remove the breakpoint
set in the GETMAIN area. The resulting display is shown in Figure 5-85.
The DELETE AT command can be used to remove all outstanding AT
breakpoints.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------- XPEDITER/TSO - SHOW ----------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| PROGRAM: TRITSTA MODULE: TRITSTA COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------------------------------------------------------------ Before TRITST
A+60 --|
| ***************************** TOP OF DATA ********************************
* |
|
|
| MODULE CSECT ADDRESS OFFSET INSTR FORMAT OPCOD
E |
|
|
| TRITSTA TRITSTA 000B67FF +60 CP SS F9
|
| TRITSTA TRITSTA 000B6760 +A0 MVI SI 92
|
|
|
| **************************** BOTTOM OF DATA ******************************
* |
|
|
Figure 5-85. SHOW AT Display Screen
5.7 Displaying Environmental Data
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

If you have Abend-AID release 6.1.4 or higher installed at your site, you
can use the AA SNAP command to display the Abend-AID Snapshot report
containing environment specific run-time characteristics during a test
session. The report displays information about the next sequential
statement, supporting environmental data, call trace summary, and
application program attributes. If you have the VSAM, IDMS, IMS, or DB2
Abend-AID options, the report will also display subsystem related
debugging information as follows:

5.7.1 IDMS
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

* CA-IDMS environment data (subschema, commit point, status)


* Subschema control (DB-Key information, current and error record/area)
* Database command trace (database call and status trace)
* DB-Key cross reference
* Current records (record name, DB-Key)
* Current sets (set name, record name, pgm reference, DB-Key)
* Current areas (area name, record name, mode, pgm reference, DB-Key)
5.7.2 DB2
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

* SQL return code


* Host variable
* SQL statement
* DB2 release, subsystem, authorization, attach mode
* Plan, bind date/time, isolation, acquire, release, validate
* DBRM, pre-compile date/time, host language, SQL escape, SQL decimal
* Host variables referenced
* Table and column definition
* SQLCA
* Plan dependencies
5.7.3 IMS
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

* Function call
* Current PCB (PCB address, database name, segment level, status code,
process options, segment name, key len, number of segments, key
feedback len)
* JCB database call trace (call type, status code, description)
* SSA
5.7.4 VSAM
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

* Dataset DD name
* Access method
* Record and key length
* File request type
To display the Snapshot report, enter the AA SNAP command on the command
line of the source display screen; the Snapshot Report Header page shown
in Figure 5-86 is displayed.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - BROWSE ---------------------
------ |
| COMMAND ===> SCROLL ===
> CSR |
| PROGRAM: OSABEND MODULE: OSABEND COMP DATE: 07/29/92 COMP TIME: 16.
41.59 |
| -------------------------------------------------------- Abend at OSABEND
.59 -- |
| SYS92092.T160057.RA000.FLGRNS1.R0000146 dd ABENDAID line
000000 |
| ********************************** TOP OF DATA ***************************
****** |
| 1 A B E N D - A I D S N A P S H O T PAGE 1
|
| 0WEDNESDAY 29 JUL 92 920602-R 6.1.4
|
| 0 *******************************************************************
|
| * A b e n d - A I D S n a p s h o t *
|
| * *
|
| * Copyright (c) 1976, 1991 by Compuware Corporation *
|
| * All Rights Reserved *
|
| * Licensed for use at: *
|
| * YOUR COMPANY NAME *
|
| * COMPANY NUMBER: XXXXXX *
|
| *******************************************************************
|
|
|
| MODEL - 3090 OPSYS - MVS/SP 4.2.2 JOB - FLGRNS1 Z
|
| CP FMID - JBB4422 STEP - TSOPROC
|
| SYSTEM - CW01 TIME - 16.51.23
|
| DFP - V3R3M0
|
| JES2 - SP 4.2.0
|
|
|
| Completion Code - SNAP
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-86. Abend-AID Snapshot Report Header
You can browse the report using <PF8> (DOWN) and <PF7> (UP) or use the
FIND command to view a e specific section of the report. For example, to
view environment data for IDMS, enter the following:
find idms
The report is displayed as shown in Figure 5-87.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - BROWSE ---------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| CHARS 'IDMS' FOUND
|
| ----------------------------------------------------------- Before CMH5120
5.70 --|
| SYS92092.T170033.RA000.FLGRNS1.R0000146 dd ABENDAID line
000000 |
| CA-IDMS Environment Data
|
| ------------------------
|
| CA-IDMS is a registered trademark of
|
| Computer Associates International, Inc.
|
|
|
| Program Name EMPRT CA-IDMS Release 10.2
|
| Subschema Name EMPSS001 Region Type LOCAL
|
| Version 0100 Last Commit DB-Key 00000000
|
| Page (Decimal) 0 Line (Decimal) 0
|
| Commit Count 0 Time of Last Commit 00:00:00:
00 |
|
|
| CA-IDMS has returned a 0000 error status for the command
|
|
|
| OBTAIN FIRST EMPLOYEE WITHIN SET EMP-NAME-NDX
|
| Z
|
| This command was successful
|
|
|
| Subschema Control
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 5-87. Snapshot Report IDMS Information Section
5.8 Test Management Through the Use of Test Scripts
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

A test script is a predefined stream of XPEDITER/TSO commands. It can be


used to:
* Initialize a debugging session.
* Execute a set of commands at the end of a session.
* Facilitate redundant keystrokes.
* Play back the commands established during a previous session.
* Run regression testing.
* In batch mode, conditionally execute commands when an abend occurs.
A test script library is a partitioned dataset allocated to the DDNAME
XINCLUDE. You create and maintain the test script libraries you use. The
library can be a FB 80 (fixed block with a record length of 80) or a VB
255 (variable blocked with a maximum record length of 255) partitioned
dataset. If you use FB 80, only the data in columns 1 through 72 is
recognized.
In the interactive mode, XPEDITER/TSO automatically generates a script of
all the commands entered during a debugging session. This script file can
be edited and copied into a test script library for later use when you
want to duplicate the debugging session. The generated test script is
accessed by typing the SCRIPT command on the command line of the Test
screen after a debugging session.

5.8.1 Using Test Scripts


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Use the INCLUDE command to execute the command stream defined in a test
script member. The test script dataset (PDS) must be preallocated by
specifying the SETUP options. The commands in the test script are
executed in the order they are read, as if they had been entered serially
from the terminal. The INCLUDE command can be entered at any time within
a session to execute a test script command stream.

5.8.1.1 The Initial Test Script


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The initial test script is executed at the beginning of the debugging


session or at the BEFORE breakpoint of each module. It can be used to:
* Set initial PF key values.
* Specify XPEDITER/TSO debugging session processing options.
* Set initial breakpoints in modules.
* Initialize data items within the program (MOVE).
The initial script must be a member of the INCLUDE library that is
allocated to the DDNAME XINCLUDE. To specify an initial test script,
create a member in your INCLUDE library containing the commands you want
to execute. Specify that member name on the appropriate environment menu
through a TEST command parameter (in batch, this is INITSCR), or through
an INTERCEPT command parameter.
The ability to process SET commands before the program is loaded is the
most useful feature of the initial test script. The following SET
commands either configure XPEDITER/TSO or control the manner in which
XPEDITER/TSO loads programs and are important in an initial script:
SET CBLTRAP SET STATIC
SET DYNAMIC SET TRANSFER
SET EXCLUDE
An initial test script can include several SET commands during a session.
The following commands determine the size of the log and the way
information is represented.
SET HEXMODE
SET LOGSIZE
SET NONDISP
Refer to the XPEDITER/TSO and XPEDITER/IMS COBOL Reference Manual for
further information regarding the use of these SET command arguments.
5.8.1.2 A Post Test Script
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

A post script is a test script comprised of a command or set of commands


that are executed when the end of the program is encountered. The
commands are effectively executed after the debugging session is ended,
but before the XPEDITER/TSO environment is exited. The post script must
be a member of the INCLUDE library that is allocated to the DDNAME
XINCLUDE.
A post script has many purposes. For instance, it lets you display (PEEK)
the value of variables at the close of the debugging session and SHOW the
COUNT tallied on program statements. It is suggested that you use PEEK
instead of KEEP in a post script.
Note: When debugging VS COBOL II programs compiled with DATA(31) and
RENT, and linked with AMODE(31) and RMODE(ANY), post scripts cannot be
used to execute the PEEK, KEEP, and MOVE commands.
5.8.1.3 An Abend Script
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

An abend script is an XPEDITER/TSO command or set of commands that are


executed when an abend occurs. You can use an abend script only when
debugging in batch mode. The abend script must be a member of the INCLUDE
library that is allocated to the DDNAME XINCLUDE. The INCLUDE library can
contain any number of abend scripts.
Use the SET ABENDSCR command to specify the abend script to be executed
when an abend occurs. The commands included in that script are executed
whenever an abend occurs until another SET ABENDSCR command is executed.
Any number of SET ABENDSCR commands can be included in a job stream.
Note: It is suggested that you use PEEK instead of KEEP in an abend
script.
5.8.2 Editing Test Scripts
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

In a test script, the following must be observed:


* All commands must be entered in uppercase. Lowercase characters are
not valid within a test script.
* You cannot put more than one command on the same line.
The following commands can be included in the test script command stream:
AA SNAP DELETE INCLUDE PAUSE TRACE
ACCEPT EXIT INSERT PEEK USE
AFTER GEN INTERCEPT SET WHEN
BEFORE GO KEEP SHOW
BROWSE GPREGS MONITOR SKIP
COUNT IF MOVE SOURCE
Note: The PAUSE and IF commands can be used only within an insert.
Note: The AA and BROWSE commands cannot be used in unattended batch.
The following commands cannot be included within a test script:
ALLOC FADB2 EXPLAIN MEMORY TEST
AT FIND NOLINES TSO
DLI HELP RESUME UP
DOWN LEFT RETEST XPED
END LOAD REVERSE
EXCLUDE LOCATE RIGHT
FADB2 LOG TCF EXIT
Test scripts can be nested without limit by inserting additional INCLUDE
commands within the test script.
5.8.3 Test Script Examples
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Test scripts are useful under certain debugging circumstances. For


example, suppose you end a debugging session knowing that at some later
time you intend to retest the program along the same lines. A test script
is an efficient way to quickly reproduce multiple commands without having
to reenter the commands individually.
Example 1:
Suppose you are debugging TRIRPT as a standalone program. To do so, you
need to MOVE values that have been passed from TRIMAIN to variables in the
Linkage Section. The Linkage Section of TRIRPT is shown in Figure 5-88.
|---------------------------------------------------------------------------
---|
|
|
| 000028 LINKAGE SECTION.
|
| 000029 01 TABLE-OF-NAMES-N-CNTRS.
|
| 000030 05 N-N-C OCCURS 4 TIMES
|
| 000031 INDEXED BY TX.
|
| 000032 10 T-NAME PIC X(21).
|
| 000033 10 T-CNTR PIC 9(04).
|
|
|
|---------------------------------------------------------------------------
---|
Figure 5-88. Linkage Section of the TRIRPT Program
In this case, use a test script to move valid data to the variables in the
Linkage Section before beginning the debugging session. For example, the
test script shown in Figure 5-89 moves valid data to the table variables
and counter. This test script can be executed through an INCLUDE command
within a debugging session, or the MOVE commands can be made part of an
initial test script command stream executed at the outset of the debugging
session.
|---------------------------------------------------------------------------
---|
|
|
| MOVE 'EQUILATERAL TRIANGLES' TO T-NAME(1)
|
| MOVE 'ISOSCELES TRIANGLES' TO T-NAME(2)
|
| MOVE 'SCALENE TRIANGLES' TO T-NAME(3)
|
| MOVE 'INVALID TRIANGLES' TO T-NAME(4)
|
| MOVE 2 TO T-CNTR(1)
|
| MOVE 3 TO T-CNTR(2)
|
| MOVE 6 TO T-CNTR(3)
|
| MOVE 4 TO T-CNTR(4)
|
|
|
|---------------------------------------------------------------------------
---|
Figure 5-89. Sample Test Script Containing MOVES to Pass Values From TRIMAI
N to
Variables in TRIRPT
Example 2:
As another example, suppose you want to set a number of breakpoints that
are sufficiently spaced apart and require you to scroll up after setting
each breakpoint. A test script comprised of these breakpoint commands
could initialize the session, setting the breakpoints. This would
eliminate the need to scroll in order to enter the commands. Such a test
script is illustrated in Figure 5-90.
|---------------------------------------------------------------------------
---|
|
|
| BEFORE 34 41 TRIMAIN.
|
| AFTER 40 94 132 TRIST. TRIRPT.WRITE-DTLS
|
| COUNT 43 55 93 101
|
| SKIP 98 THRU 134 WRITE-REPORT
|
|
|
|---------------------------------------------------------------------------
---|
Figure 5-90. Sample Test Script Eliminating Need to Scroll in Order to Ente
r
Commands
6.0 Chapter 6. Using the Batch Connect Facility
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

6.1 Overview
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The XPEDITER/TSO batch connect facility lets you connect a batch submitted
job to a VTAM terminal and start an interactive debugging session that
reads commands from and writes results to the screen while the program is
actually executing in the batch region. All of XPEDITER/TSO's interactive
debugging features are available, such as stepping through the source and
manipulating data as the program executes.
When you submit a job through the batch connect facility, the job runs in
its native environment with files and databases allocated to the batch
address space via the DD statements in the JCL. No change in the TSO
logon size is required for large programs.
The batch connect feature lets you easily test batch jobs such as those
with multiple steps and programs that require a large region or tape
input. A step embedded in a job stream can be debugged without preparing
a unit testing environment to simulate the conditions set and the files
created by the previous steps.
Notes:
1. Batch connect is also available for the XPEDITER/ROS product. See
"Batch Connect Under ROSCOE" in topic 6.12.
2. The batch connect facility does not utilize ISPF services, including
split screen mode.
6.2 How to Use the Facility
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The following steps summarize this process:


1. Access the Facility: Select option 4 (Batch) from the XPEDITER/TSO
Primary Menu to access the facility and display the Batch Menu.
2. Process the JCL: Select option 1 (SUBMIT) on the Batch Menu. The
Process JCL screen is displayed. This screen is used to identify the
JCL to be used for the test session. You can also access the ISPF
editor to view and make changes to the JCL.
The JCL statements are scanned, expanded if the JCL is a procedure,
and the job steps are extracted. A list of the job steps is then
displayed on the Select Job Step screen.
3. Convert and Submit the JCL: The Select Job Step screen is used to
specify how you want each job step to execute (in interactive or
unattended mode) and to submit the job.
The JCL conversion is dependent on the execution mode. To test a job
step interactively, enter the I line command next to a step. To test
a job step in unattended mode, enter the U line command next to a
step.
When JCL is converted, the following changes are made to your JCL:
* Work file DDs (XCOMPILE, XDYNAMIC, XINCLUDE, XMSG, XOPTIONS,
XPOUT, XPSHOW, XPHELP, XPSCRIPT) are inserted.
* XPEDITER product library is added to the STEPLIB.
* PGM=XPTSO (for interactive) or PGM=XPBATCH (for unattended batch)
is added to the JCL.
* XPIN control cards are built.
* STEPLIB is generated from JOBLIB if there is a JOBLIB and no
STEPLIB.
After specifying the execution mode (I or U), enter one of the
following on the Select Job Step screen.
* The EDIT command to access the ISPF editor. The JCL is
automatically converted and the edit screen is displayed. You can
review the converted JCL and make additional changes if desired.
Note: The changes made to the converted JCL are temporary and are
not saved.
You can submit the job from the edit screen using the RUN or
SUBMIT command.
* The RUN command to automatically convert the JCL and submit the
job.
If the job processes successfully, you are automatically connected
to the job and the source screen is displayed.
* The SUBMIT command to automatically convert the JCL and submit the
job.
To connect to a job submitted with the SUBMIT command, you must
use one of methods described in number 4 below.
4. Connect to the Job: Use one of the following to connect your terminal
to a job submitted with the SUBMIT command:

* Use the CONNECT command (with a nodename, jobname, or jobid) on


any screen (except the source display) to connect a VTAM terminal
to a job submitted through batch connect. This command lets you
monitor a job with multiple steps or a single step job that is not
ready to be attached.
* Select option 2 (STATUS) on the Batch Menu or enter the STATUS
command on any screen to display the Query Status screen. This
screen contains a list of jobs in the system. On this screen you
can use the ATTACH line command to select the job to which you
want to connect. If the job processed successfully, the source
screen is displayed.
5. Edit and Setup: Optionally, you can access the edit facility from the
Process JCL or Select Job Step screen to make changes to your JCL or
to confirm JCL conversion.
The Test Setup Menu, also selectable from either of the screens,
allows access to the job card information needed to process JCL
procedures.

6.2.1 Access the Facility


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

To access the facility, select option 4 (Batch) from the XPEDITER/TSO


Primary Menu and the Batch Menu shown in Figure 6-1 is displayed.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------ XPEDITER/TSO - BATCH MENU (4) -------------------
----- |
| OPTION ===>
|
|
|
|
|
| 1 SUBMIT - Submit batch jobs for testing
|
| 2 STATUS - Query status and connect to batch jobs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 6-1. Batch Menu
The options on this menu are:

SUBMIT: Use to identify, process, convert, and submit the JCL that will
be used for the test session. The Process JCL screen is displayed.

STATUS: Use to query the execution status of a job and connect to a job.
The Query Status screen is displayed.
6.2.2 Process the JCL
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Process JCL screen shown in Figure 6-2 is displayed when you select
option 1 (SUBMIT) on the Batch Menu. This screen is used to specify the
name of the JCL to be used for the test session and to indicate what
action is to take place with that JCL.
The primary commands listed will perform as follows:

Blank: Leave the Command line blank to scan the specified JCL and extract
the job step information. If the JCL is a procedure, it is expanded prior
to scanning. A progress message is displayed during processing. When
processing is complete, the Select Job Step screen is displayed.

Edit: Invokes the ISPF edit facility and displays the specified JCL.
Refer to "Edit the JCL" in topic 6.2.5 for more information.

SEtup: Accesses the Test Setup Menu to display the job card information
needed to process JCL PROCs. Refer to "The Test Setup Menu" in
topic 6.2.6 for more information.
|---------------------------------------------------------------------------
-------|
|
|
| ----------------------- XPEDITER/TSO - PROCESS JCL (4.1) -----------------
----- |
| COMMAND ===>
|
|
|
| PRIMARY COMMANDS: blank - process JCL Edit - Edit JCL SEtup - Setup Men
u |
|
|
| SPECIFY JCL NAME BELOW:
|
|
|
| ISPF LIBRARY:
|
| PROJECT ===> AXPTSO
|
| GROUP ===> BATCON ===> ===> ===>
|
| TYPE ===> JCL
|
| MEMBER ===> (Blank for member selection list)
|
|
|
| OTHER PARTITIONED OR SEQUENTIAL DATA SET:
|
| DATA SET NAME ===>
|
| VOLUME SERIAL ===> (If not cataloged)
|
|
|
| COMPUWARE PRODUCT OPTIONS:
|
| Test Case Facility? ===> Test Case Name ===>
|
| Command Center Results Interface User ID ===>
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 6-2. Process JCL Screen

The following describes the fields on the Process JCL screen:

ISPF LIBRARY Area: This area has four entries:

PROJECT: The common name given to all ISPF libraries belonging to the
same programming project.
GROUP: The name given to the group of ISPF libraries; i.e., the level
of the libraries within the library hierarchy.

TYPE: The identifier for the type of information in the ISPF library.

MEMBER: The name of an ISPF library or other partitioned dataset


member. If this field is left blank, a member list is displayed.
Select the member from this list. You are returned to this screen.

OTHER PARTITIONED OR SEQUENTIAL DATA SET: This area has two entries:

DATA SET NAME: Any dataset name. If you include your TSO user
prefix, you must enclose the dataset name in apostrophes. If you omit
the apostrophes, the XPEDITER dataset name high-level qualifier is
automatically added to the beginning of the dataset name.

VOLUME SERIAL: A real DASD volume or a virtual volume residing on an


IBM 3850 Mass Storage System. You must also have MOUNT authority to
access the 3850 virtual volumes. This is acquired through the TSO
ACCOUNT command. Datasets that contain more than one volume are not
allowed.

COMPUWARE PRODUCT OPTIONS: This area has three entries:


Note: If the install options for these products are set to NO, this area
will not appear.

TCF Option: If you want to use File-AID/PC support to download file


records read by application programs executed under XPEDITER, enter
YES in this field. The default is NO. For more information on the
Test Case Facility refer to Chapter 7, "Using the Test Case Facility
(TCF)" in topic 7.0.

TCF Test Case Name: If you are going to use the Test Case Facility,
enter the test case name to be associated with the file records
captured during the XPEDITER session. If the TCF Test Case Name field
is left blank, it defaults to the Program name.

Programmer Command Center Results Interface ID: Enter the Command


Center user ID if you are accessing the batch connect facility from a
TSO session under Command Center. The Results Interface pop-up window
will be opened at the time the job is ready to connect for interactive
testing.
6.2.3 Convert and Submit the JCL
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

When JCL processing is completed, the job steps in the specified JCL are
listed on the Select Job Step screen shown in Figure 6-3.
|---------------------------------------------------------------------------
-------|
|
|
| ----------------- XPEDITER/TSO - SELECT JOB STEP (4.1) ----- ROW 00001 OF
00020 |
| COMMAND ===> SCROLL ===>
CSR |
|
|
| LINE COMMANDS: PRIMARY COMMANDS:
|
| I - Interactive testing Edit - Convert JCL and review
|
| U - Unattended testing END - Exit without processing
|
| blank - Reset I/U RUN - Submit with connect
|
| SEtup - Setup work data sets
|
| SUBmit - Convert selected steps and sub
mit |
|
|
| JCL DATA SET: 'AXPQA.TSO5200.JCL(BATCH)'
|
|
|
| PROGRAM INITSCR STEPNAME PROCNAME PROCSTEP EXEC PGM
|
| ------------------------- ----------------------------------------------
|
| I GENLABEL ________ XMULT1 MULT1 STEP1 XPTSO
|
| _ SORTMSTR ________ XMULT1 MULT1 STEP2
|
| I PRINTCHK ________ XMULT1 MULT1 STEP3 XPTSO
|
| _ IDCAMS ________ XMULT1 MULT1 STEP4
|
| _ TRIIMSM ________ XMULT1 MULT1 BATCHDLI DFSRRC00
|
| U TRIBMP ________ XMULT1 MULT1 BATCHIMS XPBATCH
|
| _ DSNMTV01 ________ XMULT1 MULT1 DB2DLI DFSRRC00
|
| _ PQ1CPINQ ________ XMULT1 MULT1 CICSDLI DFHDRP
|
| _ ________ XMULT1 MULT1 DSNRUN IKJEFT01
|
| _ ? XPTSO ________ XMULT1 MULT1 XBATCONI
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 6-3. Select Job Step Screen
To convert and submit the JCL, you must use a combination of:
1. Line commands to specify the mode (interactive or unattended) in which
each job step will execute. The JCL conversion is based on the
execution mode.
2. Primary command to convert and submit the JCL.

LINE COMMANDS

(I) Interactive testing: Selects the step for interactive testing.


The EXEC PGM field is changed to XPTSO when you press <ENTER>. The
job step is replaced by the XPEDITER/TSO step to enable terminal
connection to the batch job.

(U) Unattended testing: Selects the step for unattended testing. The
EXEC PGM field is changed to XPBATCH when you press <ENTER>. The job
step is replaced by the XPEDITER/TSO step to enable script driven
batch testing. Refer to "Unattended Testing" in topic 6.5 for
additional information.

(blank) Reset I/U: Blank the line command area and press <ENTER> to
remove an I or U line command set on a job step.
Notes:
1. If you enter a I or U for a step that is already converted (EXEC
PGM=XPTSO or EXEC PGM=XPBATCH), a question mark (?) is displayed and
the step becomes unselectable.
2. If a job step cannot be resolved during JCL processing, the program
name will be preceded by a question mark (?) and the I or U line
command cannot be used. See "JCL Conversion" in topic 6.8 for
additional information.

PRIMARY COMMANDS

Edit: Converts the steps selected by the I and U commands to


XPEDITER/TSO steps and invokes the ISPF edit facility. See "Edit the
JCL" in topic 6.2.5 for more information and an example of the screen.
You can confirm the JCL conversion and make additional modifications
to the JCL. However, if you make changes to the converted JCL, the
changes will not be saved if CANCEL or <PF3> (END) is issued.
After editing is complete, use the RUN or SUBMIT command on the edit
screen to submit the JCL.

END: Exits without converting the JCL, saving any modifications, or


submitting the job and returns to the Process JCL screen.

RUN: Converts the steps selected by the I and U line commands to


XPEDITER/TSO steps and submits the JCL. When the job processes
successfully, you are automatically connected to the job and the
source screen is displayed. Refer to "The RUN Command" in
topic 6.2.3.1 for more information.

SEtup: Displays the Setup Menu from which you can select to display
the job card information and the setup libraries to be used for the
job. Refer to "The Test Setup Menu" in topic 6.2.6 for more
information.

SUBmit: Converts the steps selected by the I and U commands to


XPEDITER/TSO steps and submits the job. To connect to a job submitted
with the SUBMIT command, you must use one of the methods described in
"Connect to a Job" in topic 6.2.4
The fields on the Select Job Step screen are:

JCL DATA SET: This field is prefilled with the name of the data set
that is being processed.

PROGRAM: The program name to be tested under XPEDITER/TSO. The


program name does not necessarily match the EXEC PGM name.

INITSCR: The test script member of an INCLUDE library specified on


the Setup panel. The INITSCRIPT field can be typed over to specify
the test script to be processed at the beginning of a debugging
session.

STEPNAME: The job step name.

PROCNAME: The in-stream or cataloged procedure name.

PROCSTEP: The step name within the called procedure.

EXEC PGM: The name of the EXEC program that is executed for the step.
This field is left blank if the name is the same as the one entered in
the PROGRAM field.

6.2.3.1 The RUN Command


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Use the RUN command to submit an execution JCL file, and automatically
connect to the specified job. When the job processes successfully, your
source is displayed.
|--- RUN Command Syntax -------------------------------------------------|
| |
| RUN { dsname } |
| |
| |
|------------------------------------------------------------------------|
1. When the RUN command is entered on the Select Job Step screen after
specifying the execution mode (I or U) for the job steps, the JCL is
automatically converted and the job is submitted.
2. If the JCL is already converted, the RUN command (with a dsname) can
be entered on any screen. The dsname is optional if you are on the
Select Job Step or Edit screen and you want to execute the current
JCL.
If the job is a long-running job, the Connect Status screen shown in
Figure 6-4 monitors the job status. Note that the terminal cannot be used
while the job is running.

Connect Status Screen: The status of the named job is displayed and
includes:
OUTPUT = Output queue
EXECUTING = Running
WAITING = Input queue
A job remains connected while it is in the system (WAITING or EXECUTING)
but not yet terminated (OUTPUT or NOT FOUND).
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------- CONNECT STATUS ---------------------------
---- |
| COMMAND ===>
|
|
|
| 16:30:45 JOB ASJRNS1(JOB01673)
|
|
|
| ***********************************************************************
**** |
| *
* |
| * JOB ASJRNS1(JOB01673) EXECUTING
* |
| * +JOB IS NOT NOW IN CONNECT MODE RC=60
* |
| *
* |
| ***********************************************************************
**** |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| The ATTN may be used to interrupt this function
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 6-4. Connect Status Screen
6.2.3.2 The SUBMIT Command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Use the SUBMIT command to submit an execution JCL file. A job submitted
with the SUBMIT command is not automatically connected. There are two
ways to connect a job submitted with the SUBMIT command. They are
described in "Connect to a Job" in topic 6.2.4.
If the SUBMIT command is entered on the Select Job Step screen after
specifying the execution mode (I or U) for the job steps, the JCL is
automatically converted and the job is submitted. Otherwise, you can only
enter the SUBMIT command from the Edit screen after the JCL has been
converted.
The SUBMIT command can be used when you have a long-running job or you
want to select certain job steps to test. Note that while the job is
running, you can continue using your terminal.
6.2.4 Connect to a Job
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

There are two ways to connect a job submitted with the SUBMIT command--the
CONNECT command and the STATUS command.

6.2.4.1 CONNECT Command


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Use the CONNECT command on any screen (except the source display) to
connect a VTAM terminal to a job submitted through XPEDITER/TSO's batch
connect facility. This command lets you monitor a job with multiple steps
or a single step job that is not ready to be attached.
|--- CONNECT Primary Command Syntax -------------------------------------|
| |
| CONNECT { nodename {NODE} } |
| { jobname [(jobid)]} |
| { (jobid) } |
| |
| |
|------------------------------------------------------------------------|
1. When a nodename is entered, a single attempt is made to connect to the
named NODE (NODE is required). If the attempt fails or the connection
is broken, the command is terminated.
2. When a jobname is entered without a jobid, all jobs with the specified
name are searched. If there is only one active job with the specified
name, a connection is made. If there is more than one active job with
that name, no connection is made--the command is terminated.
3. When a jobname is entered with a (jobid), the specific job is
connected if the job is currently executing or waiting to be executed.
Note: The (jobid) must be contained within parentheses; e.g., CONNECT
(JOB84747).
4. When a (jobid) is specified, the specific job is connected if the job
is currently executing or waiting to be executed. Again, the (jobid)
must be contained within parentheses.
6.2.4.2 STATUS command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The STATUS command is used to display the Query Status screen containing a
list of the jobs in the system. An example of the Query Status screen is
shown in Figure 6-5.
The STATUS command can be entered on any screen or you can Select option 2
(STATUS) on the Batch menu.

Query Status Screen


|---------------------------------------------------------------------------
-------|
|
|
| ---------------------- XPEDITER/TSO - QUERY STATUS (4.2) -------- ROW 1 O
F 5 |
| COMMAND ===> SCROLL ===> P
AGE |
|
|
| LINE COMMANDS: A - Attach C - Cancel P - Purge
|
| B - Browse I - Information R - Requeue
|
|
|
| JOBNAME ===> (Specific jobname, blank for TSO userid,
or |
| '*' for all jobs using batch connect)
|
| SORT SEQUENCE ===> JOBNAME (Jobname or jobid)
|
|
|
| CMD JOBNAME JOBID STATUS H CONNECT MESSAGE
|
| --------------------------------------------------------------------------
------ |
| _ ASJRSN1Z JOB01207 RUNNING N Ready
|
| _ ASJRSN1Z JOB05718 OUTPUT N
|
| _ ASJRSN1Z JOB05719 OUTPUT N
|
| _ ASJRSN1z JOB05720 OUTPUT N
|
| _ ASJRSN1Z JOB05723 OUTPUT N
|
| ******************************** BOTTOM OF DATA **************************
****** |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 6-5. Query Status Screen
You can use the line commands on the screen to do the following:

(A) ATTACH: Connects to a job and displays the source of each job step
for which the I (INTERACTIVE) command was specified. A message is
displayed notifying you that the job step selected for testing is
executing. If you specified the I command on more than one job step, a
message is displayed before each selected step is executed. See also
"Connection Security Check" in topic 6.9 for additional connect
information.

(B) BROWSE: Displays the job's JES2 Job Log if it is on the OUTPUT queue.

(C) CANCEL: Cancel the job.


(I) INFORMATION: Displays the status of the job. See Figure 6-6.

(P) PURGE: Cancels and purges the job.

(R) REQUEUE: Requeues a job and displays the status of the job in the
queue. You can then enter a new class into which the held output will be
requeued.
The fields on this screen are:

JOB NAME: A specific job name; blank for TSO userid or '*' for all jobs
using batch connect.

SORT SEQUENCE: The sort sequence of listed jobs; either by job name or by
job ID.

CMD: Any of the line commands displayed at the top of the screen; A, B,
C, I, P, R.

JOBNAME: The name of the job in the system.

JOBID: The JES number of the named job.

STATUS: The status of the named job:


OUTPUT = Output queue
RUNNING = Executing
WAITING = Input queue

H: The hold status of the job; Y (yes) or N (no).

CONNECT: The connect status of the job:


Starting =
XPEDITER has started initialization.
Error =
Bad ACB name in CONFIG module (ADSRA093).
Error =
All VTAM nodes currently in use.
Error =
VTAM ACB OPEN failed.
Running =
No terminal is connected. Job is running and is not
waiting for terminal input.
Ready = No terminal is connected. Job is ready.
Connect = Terminal is connected and user is active.

MESSAGE: Area reserved for an error or status message.

Query Batch Information Screen: Entering the I (INFORMATION) command next


to a job name on the Query Status screen displays the Query Batch
Information screen shown in Figure 6-6. This screen displays the status
of the selected job.
|---------------------------------------------------------------------------
-------|
|
|
| ----------------- XPEDITER/TSO - QUERY BATCH INFORMATION (4.2) -----------
----- |
| COMMAND ===>
|
|
|
| Job : ASJWLB2# JOB01180
|
| Status : RUNNING
|
| Hold : NO
|
| Note :
|
| :
|
| Step Name : XMULTI
|
| Proc Step Name : STEP3
|
| Test PGM Name : PRINTCHK
|
|
|
| Connection : 28 Ready
|
| Test Status :
|
| Return Code : 0
|
| Info : 0
|
|
|
| XPEDITER TERMINAL
|
| ACB Name : XPDTR000 LU Name :
|
| LU Name : A01CS000 Type : TERMINAL
|
| Userid :
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 6-6. Query Batch Information Screen
The information that is displayed on this screen is:

Job: The name of the job in the system.

Status: The status of the named job:


OUTPUT = Output queue
RUNNING = Executing
WAITING = Input queue

Hold: The hold status of the job; Y (yes) or N (no).

Note: Area reserved for an error or status message.

Step Name: The current step name of the job.

Proc Step Name: The current procedure step name.

Test PGM Name: The current program name.

Connection: The status code and status of the job:


0 - Starting = XPEDITER has started initialization.
12 - Error = Bad ACB name in CONFIG module (ADSRA093).
16 - Error = All VTAM nodes currently in use.
20 - Error = VTAM ACB OPEN failed.
24 - Running = No terminal is connected. Job is running and is not
waiting for terminal input.
28 - Ready = No terminal is connected. Job is ready.
32 - Connect = Terminal is connected and user is active.

Test Status: Coded value for use by the program support representative.

Return Code: Coded value for use by the program support representative.

Info: Coded value for use by the program support representative.


The fields for the XPEDITER area are:

ACB Name: The VTAM ACB name used by the primary logical unit.

LU Name: The VTAM LU name used by the primary logical unit.


The fields for the TERMINAL area are:

LU Name: The VTAM LU name for the secondary logical unit.


Type: The type of terminal:
TERMINAL = VTAM terminal
TSO = TSO session or job name of ROSCOE system
other = Name of the ROSCOE region being used

Userid: The TSO or ROSCOE userid.


6.2.5 Edit the JCL
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

There are two points at which the batch connect facility lets you modify
your JCL.
1. Primary editing is available by entering the EDIT primary command on
the Process JCL screen. An ISPF edit session for the JCL name
specified on the screen is invoked. If site security permits, changes
will be saved to the original JCL when the edit session ends.
2. Secondary editing is available by entering the EDIT primary command on
the Select Job Step screen. An ISPF edit session for a temporary copy
of the JCL name specified on the screen is invoked. If any steps are
selected for testing using the I (Interactive) or U (Unattended) line
command, the JCL statements for the step(s) are converted when the
editing session is accessed. The END command functions as the CANCEL
command and returns to the Select Job Step screen without saving the
changes. See the warning message displayed at the top of the screen
when entering the edit session.
To save the converted JCL, use the ISPF CREATE command and copy the
contents to an existing dataset. Selecting option 1 (SUBMIT) from the
Batch Menu then lets you use the converted JCL without processing.
Figure 6-7 is an example of the Edit screen. In this example, Step 1 is
converted since the I line command was entered next to the job step on the
Select Job Step screen.
|---------------------------------------------------------------------------
-------|
|
|
| EDIT ---- SYS92189.T124302.RA000.ASJRNS1.RA0000018 ------------ COLUMN 001
072 |
| COMMAND ===> SCROLL ===>
PAGE |
| ****** *************************** TOP OF DATA ***************************
****** |
| ==MSG> -WARNING- THE UNDO COMMAND IS NOT AVAILABLE UNTIL YOU CHANGE
|
| ==MSG> YOUR EDIT PROFILE USING THE COMMAND "RECOVERY ON".
|
| ==MSG> *=================================================================
=====* |
| ==MSG> -* JCL HAS BEEN MODIFIED FOR XPEDITER TESTING. REVIEW THE CANGES
* |
| ==MSG> -* USE 'SUB' COMMAND TO SUBMIT THIS JOB.
* |
| ==MSG> -* 'CANCEL' OR 'END' RETURNS TO PREVIOUS PANEL WITHOUT SAVING CHANG
ES. * |
| ==MSG> -* USE 'RUN' COMMAND TO SUBMIT AND CONNECT THIS JOB.
* |
| ==MSG> -*=================================================================
=====* |
| 000001 //ASJRNS1Z JOB (ASJRNS1, 298),'MULTISTEP',MSGLEVEL=(1,1),
|
| 000002 // MSGCLASS=X,NOTIFY=ASJRNS1,TIME=(,30),GROUP=$$PP
|
| 000004 //*****************************************************************
***// |
| 000006 // STEP 1 - PRINT LABELS IN THE 3-UP FORMAT
*// |
| 000008 //*****************************************************************
***// |
| 000009 //*
|
| 000010 //*STEP1 EXEC PGM=GENLABEL,REGION=512K,
|
| 000011 //STEP1 EXEC PGM=XPTSO,REGION=512K,
|
| 000012 // PARM='ATLCTLMTNPAC'
|
| 000013 //*
|
| 000014 //XDYNAMIC DD DISP=(NEW,DELETE),SPACE(TRK,(10,10,10)),
|
| 000015 // DCB=(RECFM=U,BLKSIZE=18432),UNIT=SYSDA
|
| 000016 //STEPLIB DD DIS=(OLD,DELETE),DSN=*.XDYNAMIC,VOL=REF=*.DYNAMIC
|
| 000017 // DD AXPTSO.XPPROD52.CUSTLOAD,DIS=SHR
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 6-7. Edit Screen
When editing is complete, you can do any of the following:

CANCEL: Return to the Select Job Step screen without saving.

END: Return to the Select Job Step screen without saving. If you wish to
save the JCL in the temporary file, use the ISPF CREATE command.

RUN: Convert and submit the execution JCL file and automatically connect
to the job.

SUBMIT: Submit the selected job step(s) for later connection.


6.2.6 The Test Setup Menu
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
The Test Setup Menu can be accessed by entering the SETUP command from the
Process JCL or Select Job Step screen. You can use this screen to access
job card information needed to process JCL procedures and library
information, such as the SIR dataset (XCOMPILE) and the SCRIPT file
(XINCLUDE).
Figure 6-8 displays the Test Setup Menu.
|---------------------------------------------------------------------------
-------|
|
|
| -------------------- XPEDITER/TSO - TEST SETUP MENU (2) ------------------
---- |
| OPTION ===> SCROLL ===> C
SR |
|
|
| 0 JOBCARD - JOB processing parameters
|
|
|
| 1 LOADLIBS - XPEDITER load module libraries
|
| 2 SIR - Shared Information Repository
|
| 3 INCLUDES - Test script libraries
|
| 4 LOG - LOG dataset disposition
|
| 5 SCRIPT - Script dataset disposition
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| T TCF - Test Case Facility repository data set
|
|
|
| A ALL - Display all of the above in succession
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 6-8. Setup Menu Screen
The options on this screen are briefly described below. For a detailed
description of these options see Appendix C, "Specifying SETUP Options" in
topic C.0.

JOBCARD: Displays the default job statements to submit a background job


for PROC (procedure) expansion.

LOADLIBS: Displays an XPEDITER/TSO load module library list.

SIR: Displays information about the Shared Information Repository (SIR)


dataset(s). The SIR dataset stores the information necessary to map from
memory the source identifier names with their corresponding values. At
least one SIR data set is required to debug modules that are to be
referenced symbolically.

INCLUDES: List the sets of XPEDITER/TSO command streams used to set up,
run, or rerun a debugging session. You can copy these command streams
into a debugging session with the INCLUDE command.

LOG: Displays the default values for the log dataset. These values can
be modified.

SCRIPT: Displays the default values for the script dataset. These values
can be modified.

TCF: Displays the Test Case Facility repository dataset and test case
comments.
6.3 Testing Multiple Job Steps
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The batch connect facility makes system testing easier for multiple step
jobs by providing the capability of intercepting batch running
applications and starting interactive debugging sessions. To understand
how the facility works, consider the environment in which batch
applications are executed.
Batch applications are processed by submitting jobs through JCL
statements. A job can be simple or complex. It can consist of a single
step or multiple steps that call in-stream and cataloged procedures. An
example of a multiple step job is one that creates input control cards in
the first step, processes the transaction file in the second step, and
updates the master file in the third step.
To debug a program in one of these steps under TSO, you would have to unit
test the step by creating the necessary files and establishing the
appropriate conditions as though the previous steps were completed. You
may also have to write a driver or stub routine to simulate the logic
state that was set prior to reaching the step you want to test. This
requires extensive planning and setup before debugging can begin.
Using the batch connect facility, you do not need to prepare a unit
testing environment. When a job is submitted, steps that are not intended
for testing execute normally. When a step requested for testing is ready
to execute, XPEDITER/TSO gains control and connects the batch address
space to a VTAM terminal. In effect, you are presented with an online
debugging session that reads commands from and writes results to the
screen while the program is actually executing in the batch region.
XPEDITER/TSO releases control when you resume execution by entering the GO
command from the last logical statement (GOBACK, STOP RUN) in the program.
Execution is passed to subsequent steps until an end-of-job is
encountered.
6.4 Batch Connect Versus TSO
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The batch connect testing facility is an alternative to testing programs


under TSO, option 2 (XPEDITER) from the Primary Menu. In either case,
when the XPEDITER/TSO session starts, the source window is displayed and
you can interactively debug programs. The differences, however, are that
when you begin testing with batch connect:
* Your program executes in the batch region.
* When the program is paused at a breakpoint, the job step is suspended
at that location in the batch address space.
* When you are single stepping through the program, the batch region is
executing at that pace.
* The initiator that dispatched the job is not freed until you resume
execution and let the job run to completion.
6.5 Unattended Testing
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Option 1 (SUBMIT) on the Batch Menu can be used to submit a job for
unattended mode testing. When you use the U line command to select a job
step for testing, no attempt is made to connect the batch job to a
terminal when the step is ready for execution. Instead, XPEDITER/TSO
reads the predefined debugging commands in the test script file and writes
the results to the log file. You can then view the log at the end of the
job. The unattended mode testing frees up the TSO terminal for the
duration of a long-running job.
The test script member name must be provided in the INITSCR field on the
Select Job Step screen. The test script library must be specified on the
SCRIPT option screen selected from the Test Setup Menu. Commands such as
TRACE and KEEP can be included in the script to monitor control flow and
record relevant data values. When a breakpoint command is found in the
script, a record that the execution reached that statement is written to
the log. The breakpoint command will not pause the job. Unattended
testing is a good way to do regression testing and execution coverage
analysis.
6.6 Using Test Scripts in Batch Connect Mode
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

In batch connect mode, XPEDITER/TSO test scripts can be used to issue a


set of commands before the debugging session, during the session, at the
end of the session, and when an abend occurs.
Test scripts must be members of the PDS allocated in the XINCLUDE DD.
An initial test script can be used to set up the debugging session. An
include test script can be used to execute specific commands when an event
or condition occurs during a debugging session. A post script can be
executed at the end of a debugging session. Additionally, an abend script
can be executed following the occurrence of an abend. Test scripts can be
nested to any depth (nested INCLUDEs).
See the INCLUDE command in the XPEDITER/TSO and XPEDITER/IMS Reference
Manual (COBOL version) for complete information.
6.7 Using XPEDITER/TSO Commands in Batch Connect Mode
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

All XPEDITER/TSO commands, except the following, can be used when


debugging a COBOL program in interactive batch connect mode:
ALLOC
FADB2
SET PFnn
SHOW PFkeys (when connected through a TSO terminal)
TSO

6.7.1 The KEYS Command


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

You must use the KEYS command to view and change your PF key settings.
Then use the RETURN command to exit the screen.
6.8 JCL Conversion
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

When you press the END key or enter the EDIT command, job Steps marked
with the I or U line command are changed to XPEDITER/TSO steps in the JCL
and generated to a temporary file. In the altered steps, the EXEC
statement points to the appropriate XPEDITER/TSO module name and several
work file DD cards are added to the step (XCOMPILE, etc.).
If the JCL scanner did not parse the program name to be tested under
XPEDITER/TSO, a question mark (?) is displayed in the column preceding the
step on the Select Job Step screen. In this case, the I or U line command
is not accepted and no conversion is made to allow batch connect or
unattended mode testing. Press the <PF1> key for an explanation.
Following is a list of reasons why a step can be unselectable:
1. Step executes XPEDITER unattended batch
This step executes PGM=XPBATCH, the XPEDITER unattended batch program.
A probable cause could be attempting to convert a job that has already
been coded to run XPEDITER unattended batch.
2. Step executes XPEDITER interactive batch
This step executes PGM=XPTSO, the XPEDITER interactive batch program.
A probable cause could be attempting to convert a job that has already
been coded to run XPEDITER interactive batch.
3. Step executes PGM=*. referback
This step executes PGM=*., a referback to a previous step. JCL that
uses program referback cannot be converted. A possible solution is to
replace the referback with the program name.
4. PROC not found
The procedure cannot be found. A JCL error can occur if you submit
this job.
5. Stepname on an EXEC statement within a PROC must be nonblank
Unless it is the first step in a procedure, there must be a step name
on the EXEC statement for a procedure step to be selected. Code a
step name on the EXEC statement in the procedure definition and try
again.
6. Symbolic PGM name not supported
The program name specified in the PGM= parameter in a procedure must
not contain any symbolic substitutions. A possible solution is to
replace the symbolic name in the PGM= field with the program name.
7. No space in EXEC card for PGM substitution
The EXEC card did not have enough free space on it to allow
conversion. Try splitting it into more than one card.
8. PGM=DFHDRP is not supported
This step executes PGM=DFHDRP, the CICS batch interface to DLI driver.
JCL that uses the batch interface to DLI cannot be converted.
9. PGM=BTSRC000 is not supported
This step executes PGM=BTSRC000, the IMS Batch Terminal Simulator
(BTS). JCL that uses BTS cannot be converted.
Note: You can access the editor and manually convert the steps discussed
in 8 and 9 by following the instructions in Chapter 11, "Debugging in
Batch Mode" in topic 11.0.
6.9 Connection Security Check
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Connection can be made to production jobs as long as your site security


grants the authority. The batch connect facility is shipped with a
default security exit routine that allows connection to production jobs if
the JOBNAME, without the last character, matches the TSO ID where the
STATUS panel is accessed. When a connection cannot be made, a message
"CANNOT CONNECT ......" is issued.
The site installer can customize the security exit routine to tailor the
security level for certain groups or individuals. When an asterisk (*) is
entered in the JOBNAME field on the Query Status screen, all jobs that are
waiting for connection or being tested under batch connect are listed.
System programmers are able to connect to a remote job and use the
facility as a help desk feature in debugging application programs.
6.10 Disconnect Terminal
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Enter the DISConnect primary command from the source display screen to
disconnect the VTAM terminal from the batch job and return to the Query
Status screen in TSO. The job can be reconnected by entering the A line
command again. A disconnect can also be accomplished by pressing the
Attention key twice.
6.11 Intercepting Abends in Batch Connect Mode
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Abend processing in batch connect (interactive mode) behaves the same as a


normal interactive test in TSO.
When an abend occurs during an interactive test, a message is displayed.
You can use the AA SNAP command (if Abend-AID release 6.1.3 or higher is
installed at your site) or the LOG command to view information about the
abend.
The SET ABENDSCR command can be used to specify a set of commands to be
executed when an abend occurs during unattended batch connect debugging.
Any number of SET ABENDSCR commands can be entered within a command
stream. The abend-script specified in the SET ABENDSCR command prior to
the occurrence of the abend is executed following the abend. This allows
you to specify unique abend scripts containing special commands to be
executed at different points in your code should an abend occur.
The abend scripts specified must be members of the PDS allocated to the
XINCLUDE DD. In the following SET ABENDSCR command,
SET ABENDSCR TRIMABN1
TRIMABN1 is a member of a partitioned dataset allocated to the XINCLUDE
DD.
If a SET ABENDSCR command is not entered for the debugging session
(abending module was compiled with XPEDITER/TSO), the following
information is written to the log when an abend occurs:
* Normal abend output received in an unattended debugging session.
* Source line where the abend occurred.
* A DISPLAY for each field referenced in the source line where the abend
occurred.
6.12 Batch Connect Under ROSCOE
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

If you have the ROSCOE product and want to use the batch connect facility,
follow the instructions listed below:
1. Using the instructions given for running XPEDITER/TSO batch (see
"Setting Up the Batch XPEDITER/TSO JCL" in topic 11.1), modify the
batch JCL by changing the EXEC PGM=XPBATCH to EXEC PGM=XPTSO.
2. Submit the job using the ROSCOE SUBMIT command. Write down the
JOBNAME and the JES job number.
3. Enter the following on the command line in native ROSCOE:
CALL ADSIS300 /JOB jobname JOBxxxxx MSG/
Where jobname is the name of your job and xxxxx is the JES job number,
padded with zeros on the left.
Note: If your shop is using MVS/SP, the command will look like the
following:
CALL ADSIS300/NODE nodename MSG ON/
4. After the call, the screen goes blank and then your application
program's source is displayed. The program can now be tested using
all commands available with TSO batch connect.
5. After testing the program, end the session by using the QUIT command.
This returns you to native ROSCOE.
7.0 Chapter 7. Using the Test Case Facility (TCF)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Test Case Facility (TCF) lets you capture the records read by an
application program executed under XPEDITER/TSO control. These records
are written to a TCF repository from which they can be downloaded to a
repository on the PC. You can then use Compuware's File-AID/PC product to
browse and/or edit the records. For information about how to create the
TCF repository, refer to the Test Case Facility Reference Manual.
With TCF initiated during an XPEDITER/TSO session, the first time your
application program opens a QSAM or VSAM file, a TCF source record
(date/time stamp, test case name, version name, and user comments) and a
TCF file record (file name and attributes) are created and written to the
specified repository dataset. As records are read by the program, TCF
data records are created and written to the same repository dataset. Note
that all records are read by the program; no differentiation is made for
records read by altering the program logic with XPEDITER/TSO debugging
commands.
Note: Records written to files and databases are not captured.
TCF can be turned on in the following operating modes: interactive,
unattended batch, and batch connect. Be sure that the CBLTRAP option is
set to ON. TCF will not operate with CBLTRAP OFF.

7.1 Activating TCF from XPEDITER/TSO


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

TCF can be activated when you select one of the following from the
XPEDITER/TSO Primary Menu:
* Option 2 (XPEDITER) for testing in the TSO interactive mode.
* Option 4 (BATCH) for testing in unattended batch or batch connect
mode.
7.2 Exiting TCF
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

When you want to turn the capture function off, you can either:
1. Enter the TCF EXIT command to terminate the TCF capture function
without terminating XPEDITER/TSO.
2. Enter EXIT to terminate both the XPEDITER/TSO session and TCF.
Note: When the TCF EXIT command terminates TCF in the middle of a
debugging session, TCF cannot be reactivated without exiting the
XPEDITER/TSO session (EXIT) or restarting another session with the RETEST
command.
7.3 Activating TCF in Interactive Mode
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Use the DEFAULT profile and select option 2 from the Primary Menu to
access the STANDARD test environment screen shown in Figure 7-1. This
environment is used when you want to test programs that process OS files,
IDMS, DATACOM/DB, and DB2 databases.
To activate TCF, fill in the setup screen and enter YES in the Test Case
Facility field.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------ XPEDITER/TSO - STANDARD (2.1) -------------------
----- |
| COMMAND ===> SETUP
|
|
|
| COMMANDS: SEtup (Display Setup Menu) LOG (Browse LOG)
|
|
|
| TEST SELECTION CRITERIA:
|
| Program ===> TRIMAIN
|
| Entry Point ===>
|
| Load Module ===>
|
|
|
| Initial Script ===>
|
| Post Script ===>
|
|
|
| PARM String ===>
|
|
|
|
|
|
|
| File Allocation List ===> XPEDITER.FLIST(TRIMAIN)
|
|
|
| Is This a DB2 Test? ===> NO Plan ===> System ===>
|
| Test Case Facility? ===> YES Test Case Name ===>
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 7-1. STANDARD Screen
The fields on this screen are described below:
Program Required. Enter the name of the load module if it is from the
link-edited entry point.
Note: If executing other than the linked entry name, then the
program name is the CSECT name and the load module name must be
specified under Load Module.
Entry Point
Enter an alternate entry point if execution is to start at a
point other than the link-edited entry point.
Load Module
Enter only if executing a CSECT other than the link-edited
entry point of a load module, such as unit testing CSECTS
within a load module.
Initial Script
Enter the member name of a test script if you wish to execute a
predefined command stream at the beginning of the debugging
session.
Post Script
Enter the member name of a test script if you wish to execute a
predefined command stream at the end of the debugging session.
PARM String
Enter the parameter string if the program (and any called
programs) expects a run-time parameter. You can enter up to
100 characters in this field.
If the run-time parameter consists of several substrings
separated by commas, or if it contains special characters (/,
=, etc.), enclose the entire parameter in quotes (single or
double).
File Allocation List
Enter the dataset name that contains the file list, CLIST, or
JCL. The File Allocation Utility (FAU) preallocates files and
databases that will be processed by the program upon entry to
the debugging session.
If the member name of a PDS is omitted, a member list is
displayed.
If the dataset contains a CLIST, XPEDITER/TSO immediately
executes it and begins the debugging session.
If the dataset contains a file list or JCL, the FAU is invoked
to dynamically allocate the specified files before beginning
the debugging session. See Appendix B, "Allocating Your Test
Data Files" in topic B.0 for detailed information about the
FAU.
Is This a DB2 Test?
Enter YES if the program executes EXEC SQL statements.
XPEDITER/TSO executes the DSN RUN command and establishes the
DB2 environment upon entry to the debugging session. The
default value is NO.
Plan Enter the DB2 plan name generated during the bind process. If
omitted, the plan name defaults to the name specified in the
Program field.
System Enter the DB2 subsystem name. The subsystem name depends on
the release level of DB2 allocated to the DSNLOAD library
specified on the SETUP option.
Test Case Facility?
If you want the records that are read by the program captured
and written to the TCF repository, enter YES in this field.
The default is NO.
Test Case Name
If you are going to use the Test Case Facility, enter a dataset
name to be associated with the file records captured during the
XPEDITER session. If the Test Case Name field is left blank,
it defaults to the name in the Program field of the STANDARD
test screen.
To associate identifying comments with the captured records, go to the
Test Setup Menu by entering the SETUP command on the command line of the
STANDARD screen. The screen shown in Figure 7-2 is displayed.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------ XPEDITER/TSO - TEST SETUP MENU ------------------
----- |
| OPTION ===> t
|
|
|
| 0 ENVIRONMENT - Execution environments menu
|
|
|
| 1 LOADLIBS - Load module libraries
|
| 2 SIR - Shared Information Repository libraries
|
| 3 INCLUDES - Test script libraries
|
| 4 LOG - Session log data set disposition
|
| 5 SCRIPT - Test script data set disposition
|
| 6 DSNLOAD - DB2 system names and DSNLOAD libraries
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| T TCF - Test Case Facility repository dataset
|
|
|
| A ALL - Display all of the above in succession (ex
cept 0)|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 7-2. STANDARD Test Setup Menu
To access the TCF Repository Dataset screen shown in Figure 7-3, enter T
on the command line of the Test Setup Menu.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------------ TCF REPOSITORY DATASET ---------------------
------ |
| COMMAND ===>
|
|
|
| Specify TCF repository dataset:
|
| Dataset name ===> TECH.TEST.SESSIONS
|
| Test Case name ===> ACCRECV (Blank defaults to program name)
|
|
|
| Line Commands: D - (Delete line) I - (Insert line)
|
|
|
| Test Case Comments:
|
| _ ----+----1----+----2----+----3----+----4----+----5----+----6
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 7-3. TCF Repository Dataset Screen
The fields on this screen are:
Dataset Name The repository dataset where the captured information
will be stored. This is the VSAM KSDS dataset created
by the Test Case Facility (TCF) product.
Test Case Name If a test case name was specified on the STANDARD
screen, it is prefilled in this field. By blanking
out this field, you can default this name to the
Program name specified on the STANDARD screen.
Test Case Comments User comments. This area consists of an unscrollable
field 60 columns wide and 10 rows deep. Text that is
entered in the comments field must be formatted (i.e.,
there is no wrapping of text). Text can be entered in
upper- or lowercase, but when the <ENTER> key is
pressed, it is converted to uppercase.
The line command area of the Test Case Comments field accepts the I
(Insert) and D (Delete) line commands.
The I (Insert) line command inserts a line and can be entered only on one
line at a time. If multiple I commands are entered, the first one is
processed and the others are ignored. An I line command is not valid on
the last line of the comment area. If you try to insert after the maximum
number of lines have been used, the following message is displayed:
Maximum number of lines exceeded
The D (Delete) line command deletes a line. Multiple D commands can be
entered and they will be processed all at once. A D line command is not
valid on the template line of the comment area.
The test case name and comments are stored as the TCF source record
associated with the file records captured during the XPEDITER/TSO session.
TCF uses the date/time stamp to uniquely identify the new entries in the
repository.
When the TCF setup is complete, press <ENTER> to process the data. All
input is converted to uppercase and the following message is displayed:
Press ENTER again to proceed
Press <ENTER> again to return to the Test Setup Menu. Then, enter the END
command to return to the STANDARD screen. Make sure that YES is prefilled
in the Test Case Facility field on the STANDARD screen. Then, press
<ENTER> to begin the debugging session and perform the TCF initialization.
At this time, the TCF repository is allocated.
XPEDITER/TSO checks to see if the CBLTRAP option is set to ON (default)
and, if so, activates the TCF capture function and the source is
displayed. See Figure 7-4.
Note: TCF cannot operate with CBLTRAP OFF (the default is CBLTRAP ON).
If detected, a message is displayed on the SOURCE screen.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| Before Breakpoint Encountered
|
| ------ ---------------------------------------------------- Before UPDT
MSTR --|
| =====> B Procedure Division.
|
| 000669 *___________________
|
| 000671 000-maintain-master-file.
|
| 000672 *************************
|
| 000674 perform 100-initialize-variables
|
| 000676 perform 200-update-master-file
|
| 000677 until Tran-EOF
|
| 000679 perform 300-print-summary
|
| 000681 perform 900-terminate program.
|
| 000683 100-initialize variables.
|
| 000684 *************************
|
| 000686 perform 100-copy-24248
|
| 000687 move DT-DISPLAY-DATE to HR-Display-Date
|
| 000688 move DT-DISPLAY-TIME to HR-Display-Time
|
| 000690 open i-o Mstr-File
|
| 000691 input Tran-File
|
| 000692 output Audit-Error-File
|
| 000694 perform 120-write-report-headers
|
| 000696 set Tran-More-Recs to true
|
| 000697 set No-Add-Found to true
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 7-4. SOURCE Screen
On the COMMAND line of the source screen, enter GO. When an open is
performed, XPEDITER/TSO opens the TCF repository and the TCF SOURCE record
(date/time stamp, test case name, version number, and user comments) and
the TCF FILE record that contains the file attribute and file name
information are written to the repository. As records are read by the
program, TCF data records are created and written to the same repository
dataset. This process continues until the program has run to completion
and TCF has captured the read activities of all the files.
Note: It is possible to qualify the number of records captured by using
the COUNT command to set a breakpoint for the number of records to be read
and then entering the TCF EXIT command to deactivate TCF. For example:
COUNT 46 MAX 15; GO
would capture activities until after the fifteenth record is read. Then
entering TCF EXIT would terminate the TCF capture function and the
repository dataset would contain only the fifteen records. Remember, if
you use this process, you cannot reactivate TCF without exiting the
XPEDITER/TSO session (EXIT) or restarting another session with the RETEST
command.
When the debugging session is complete, you can use a workstation to
download the captured records for this session from the TCF repository on
MVS. You can then use the File-AID/PC product to browse and/or edit the
records.

7.3.1 Starting a New Session


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

To start a new session, you can either:


1. Use the RETEST command to load a new copy of the program.
2. Use the EXIT command to terminate the current session and start again
from the STANDARD test screen.

7.3.1.1 Using the RETEST Command


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
The RETEST command reloads a new copy of the program and resets any
breakpoints that were set in the previous test. The data records captured
so far are saved, TCF initialization takes place again, and a new entry
with an updated date/time stamp is created.
Note: You cannot delete records captured from the previous session or
append the new records to the previous entry. You must use the TCF host
or workstation maintenance utility to perform these functions.
7.3.1.2 Using the EXIT Command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The EXIT command can be used to terminate the XPEDITER/TSO session. A new
TCF session can then be started from the Test Menu.
Note: You can use TCF EXIT to terminate the TCF capture function without
terminating XPEDITER/TSO. However, you cannot reactivate TCF without
exiting the XPEDITER/TSO session (EXIT) or restarting another session with
the RETEST command.
7.4 Activating TCF in Batch Mode
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

There are two modes of batch testing: unattended and batch connect
(interactive). You can use TCF capturing for both modes but it is
particularly effective in the unattended mode.
Select option 4 (BATCH) from the Primary Menu to access the batch test
panels. Select option 1 (SUBMIT) on the Batch Menu to display the Process
JCL Screen shown in Figure 7-5. To activate TCF, fill in the Process JCL
screen and enter YES in the TCF Option field.
|---------------------------------------------------------------------------
-------|
|
|
| ----------------------- XPEDITER/TSO - PROCESS JCL (4.1) -----------------
----- |
| COMMAND ===>
|
|
|
| PRIMARY COMMANDS: blank - process JCL Edit - Edit JCL SEtup - Setup Men
u |
|
|
| SPECIFY JCL NAME BELOW:
|
|
|
| ISPF LIBRARY:
|
| PROJECT ===> AXPTSO
|
| GROUP ===> BATCON ===> ===> ===>
|
| TYPE ===> JCL
|
| MEMBER ===> (Blank or pattern for member selection list
) |
|
|
| OTHER PARTITIONED OR SEQUENTIAL DATA SET:
|
| DATA SET NAME ===>
|
| VOLUME SERIAL ===> (If not cataloged)
|
|
|
| COMPUWARE PRODUCT OPTIONS:
|
| Test Case Facility? ===> YES Test Case Name ===>
|
| Command Center Results Interface User ID ===>
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 7-5. Process JCL Screen
The following commands are available on this screen:

Primary Commands:

blank: If the COMMAND line is left blank and you press <ENTER>,
XPEDITER/TSO scans the JCL and extracts the job step information in
the background. If the JCL is a procedure, it is expanded prior to
scanning. A progress message is displayed during processing. If the
JCL is a PDS and the member name is not specified, a member selection
list is displayed.

Edit: Invokes the ISPF edit facility and displays the specified JCL.
If the JCL is a PDS and the member name is not specified, a member
selection list is displayed.

Setup: Displays the XPEDITER/TSO Test Setup Menu.


The fields on this screen are:

ISPF LIBRARY Area: This area has four entries:


PROJECT: The common name given to all ISPF libraries belonging to the
same programming project.

GROUP: The name given to the group of ISPF libraries; i.e., the level
of the libraries within the library hierarchy.

TYPE: The identifier for the type of information in the ISPF library.

MEMBER: The name of an ISPF library or other partitioned dataset


member. If this field is left blank, a member list is displayed.

OTHER PARTITIONED OR SEQUENTIAL DATA SET: This area has two entries:

DATA SET NAME: Any dataset name. If you include your TSO user
prefix, you must enclose the dataset name in apostrophes. If you omit
the apostrophes, the XPEDITER dataset name high-level qualifier is
automatically added to the beginning of the dataset name.

VOLUME SERIAL: A real DASD volume or a virtual volume residing on an


IBM 3850 Mass Storage System. You must also have MOUNT authority to
access the 3850 virtual volumes. This is acquired through the TSO
ACCOUNT command. Datasets that contain more than one volume are not
allowed.

COMPUWARE PRODUCT OPTIONS: This area has three entries:

Test Case Facility: If you want to capture the records read by the
program and write them to the TCF repository, enter YES in this field.
The default is NO.

Test Case Name: If you are going to use the Test Case Facility, enter
the test case name to be associated with the file records captured
during the XPEDITER session. If the TCF Test Case Name field is left
blank, it defaults to the Program name.

Programmer Command Center Results Interface ID: Enter the Command


Center user ID if you are accessing the batch connect facility from a
TSO session under Command Center. The Results Interface pop-up window
will be opened at the time the job is ready to connect for interactive
testing.
When JCL processing is completed, a list of job steps in the selected JCL
is displayed on the Select Job Step screen shown in Figure 7-7.
Enter SETUP on the command line of the Select Job Step screen to display
the Test Setup Menu. This menu is similar to the one displayed in
Figure 7-2 in topic 7.3 for testing in the STANDARD environment. Enter T
on the command line of the Test Setup Menu to access the Test Case
Facility Repository Dataset screen shown in Figure 7-6. The information
on this screen will be associated with all the captured records for the
selected job steps.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ---- XPEDITER/TSO - TCF REPOSITORY DATASET --------------
------ |
| COMMAND ===>
|
|
|
| Specify TCF repository dataset:
|
| Dataset name ===> TECH.TEST.SESSIONS
|
| Test Case name ===> ACCRECV (Blank defaults to program name)
|
|
|
| Line Commands: D - (Delete line) I - (Insert line)
|
|
|
| Test Case Comments
|
| _ ----+----1----+----2----+----3----+----4----+----5----+----6
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 7-6. TCF Repository Dataset Screen
The fields on this screen are:
Dataset Name The dataset where the captured information will be
stored.
Test Case Name If a test case name was specified on the Process JCL
screen, it is prefilled in this field. By blanking
out this field, you can default this name to the
Program name.
Test Case Comments User comments. This area consists of an unscrollable
field 60 columns wide and 10 rows deep. Text that is
entered in the comments field must be formatted (i.e.,
there is no wrapping of text). Text can be entered in
upper- or lowercase, but when the <ENTER> key is
pressed, it is converted to uppercase.
The line command area of the Test Case Comments field accepts the I
(Insert) and D (Delete) line commands.
The I (Insert) line command inserts a line and can be entered only on one
line at a time. If multiple I commands are entered, the first one is
processed and the others are ignored. The I line command is not valid on
the last line of the comment area. If you try to insert after the maximum
number of lines have been used, the following message is displayed:
Maximum number of lines exceeded
The D (Delete) line command deletes a line. Multiple D commands can be
entered and they will be processed all at once. The D line command is not
valid on the template line of the comment area.
The test case name and user comments are stored as the TCF source record
associated with the file records captured during the XPEDITER/TSO session.
TCF uses the date/time stamp to uniquely identify the new entries in the
repository.
When the TCF setup is complete, press <ENTER> to process the data. All
input is converted to uppercase and the following message is displayed:
Press ENTER again to proceed
When <ENTER> is pressed again, you are returned to the Select Job Step
screen shown in Figure 7-7.
|---------------------------------------------------------------------------
-------|
|
|
| ----------------- XPEDITER/TSO - SELECT JOB STEP (4.1) ----- ROW 00001 OF
00020 |
| COMMAND ===> SCROLL ===>
CSR |
|
|
| LINE COMMANDS: PRIMARY COMMANDS:
|
| I - Interactive testing Edit - Convert JCL and review
|
| U - Unattended testing END - Exit without processing
|
| blank - Reset I/U RUN - Submit with connect
|
| SEtup - Setup work data sets
|
| SUBmit - Convert selected steps and sub
mit |
|
|
| JCL DATA SET: 'AXPQA.TSO5300.JCL(BATCH)'
|
|
|
| PROGRAM INITSCR STEPNAME PROCNAME PROCSTEP EXEC PGM
|
| ------------------------- ----------------------------------------------
|
| _ LOADTBL ________ XMULT1 MULT1 GOBATCH
|
| _ SORTADDR ________ XMULT1 MULT1 GOBATCH
|
| U GENLABEL ________ XMULT1 MULT1 GOBATCH
|
| **END**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 7-7. Select Job Step Screen
The following commands are available on this screen:

LINE COMMANDS: Used to specify how each job step is to be executed.


There are 3 selections in this area:

(I) Interactive testing: Select the step for interactive testing.


The EXEC PGM field is changed to XPTSO when you press <ENTER>. The
job step is replaced by the XPEDITER/TSO step to enable terminal
connection to the batch job.
(U) Unattended testing: Select the step for unattended testing. The
EXEC PGM field is changed to XPBATCH when you press <ENTER>. The job
step is replaced by the XPEDITER/TSO step to enable script driven
batch testing. Refer to "Unattended Testing" in topic 6.5 for
additional information.

(blank) Reset I/U: Blank the line command area and press <ENTER> to
remove an I or U line command set on a job step.

PRIMARY COMMANDS: Use the primary commands after specifying how each step
is to be processed.

END: Exits without converting the JCL or submitting the job and
returns to the Process JCL screen.

Edit: Converts the steps selected by the I and U commands to


XPEDITER/TSO steps and invokes the ISPF edit facility. You can
confirm the JCL conversion or make additional modifications to the
JCL.
After editing is complete, use the SUBMIT command to submit the JCL.

SEtup: Displays the Setup Menu so you can access the setup libraries
to be used for JCL conversion. Refer to Appendix C, "Specifying SETUP
Options" in topic C.0 for more information.

SUBmit: Converts the steps selected by the I and U commands to


XPEDITER/TSO steps and submits the job. If no steps are selected, the
SUBMIT is not performed.
The fields on this screen are:

JCL DATA SET: This field is prefilled with the name of the dataset that
is being processed.

PROGRAM: The program name to be tested.

INITSCR: The test script member of an INCLUDE library specified on the


Setup panel. The INITSCRIPT field can be typed over to specify the test
script to be processed at the beginning of a debugging session.

STEPNAME: The job step name.

PROCNAME: The in-stream or cataloged procedure name.

PROCSTEP: The step name within the called procedure.


EXEC PGM: The program name that is executed for the step. This field is
left blank if the name is the same as the one entered in the PROGRAM
field.
Request Interactive or Unattended testing with the TCF option. When
unattended batch or batch connect is run with the TCF option, the JCL
processor inserts the XPTCF DD and TCF parameter into the XPIN control
card. See Figure 7-8.
|---------------------------------------------------------------------------
-------|
|
|
| EDIT -- ASJRNS1.SPFTEMP1.CNTL -- 01.02 ------------- LINE 00000000 COL 001
072 |
| COMMAND ===> SCROLL ===>
CSR |
|
|
| ''''' //STEP1 EXEC PGM=XPBATCH,REGION=512K
|
| ''''' // PARM='ATLCTLMTNPAC'
|
| ''''' //STEPLIB DD DSN=&&XDYNAM,DISP(OLD,PASS)
|
| ''''' // DD DSN=AXPTSO.XT53S2.LOADLIB,DISP=SHR
|
| ''''' // DD DSN=ASJRNS1.COBOL.LOADLIB,DISP=SHR
|
| ''''' // DD DSN=COBOL.C2V132X.COB2LIB,DISP=SHR
|
| ''''' //INMASTER DD DSN=ASJRNS1.COBOL.LONGDATA(MASTER1),DISP=SHR
|
| ''''' //OUTLABEL DD SYSOUT=*
|
| ''''' //*
|
| ''''' //XCOMPILE DD DSN=ASJRNS1.COBOL.SIR9111,DISP=SHR
|
| ''''' //XDYNAMIC DD DSN=&&DYNAM,DISP=(OLD,DELETE),
|
| ''''' // VOL=REF=*.XDYNAM.XDYNAMIC
|
| ''''' //XINCLUDE DD DSN=ASJRNS1.XPEDITER.INCLUDE,DISP=SHR
|
| ''''' //XMSG DD DSN=AXPSIR.PROD9111.XMESSAGE,DISP=SHR
|
| ''''' //XPTCF DD DSN=ASJRNS1.TECH.SESSIONS,DISP=SHR TCF rep
ository|
| ''''' //XOPTIONS DD DSN=AXPSIR.PROD9111.XOPTIONS,DISP=SHR
|
| ''''' //XPOUT DD SYSOUT=*
|
| ''''' //XPIN DD *
|
| ''''' //XPED BATCH
|
| ''''' TEST GENLABEL
|
| ''''' TCF YES TCF parameter
|
| ''''' TCFNAME ACCRECV
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 7-8. Editing JCL for TCF Parameters
Enter SUBMIT on the COMMAND line of the Select Job Step screen to convert
the selected steps and submit the job. A message appears at the bottom of
the screen indicating that the job has been submitted. When the job
completes, the file activities for the steps requested for testing are
captured. You can then logon to the workstation and download the relevant
test data from the TCF repository on MVS. Once on the PC, you are able to
browse and/or edit the records using the FIle-AID/PC product.
8.0 Chapter 8. Handling Run-Time Errors
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
XPEDITER/TSO intercepts program abends before the offending instruction
is executed and prevents the system from producing a dump.
When an abend occurs in a program for which the source is available,
execution automatically pauses, the execution arrow points to the
offending statement, and a message indicating the action to take is
displayed.
Figure 8-1 illustrates how XPEDITER/TSO responds to an abend.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| S0C7 abend encountered, use "AA SNAP" for additional information
|
| 000014 05 A > ???????? INVALID D
ECIMAL |
| 000017 05 NUMRS > ? INVALID D
ECIMAL |
| ------ ------------------------------------------------ Abend at OSABEND
.59 -- |
| 000058 MOVE HIGH-VALUES TO DIVIDE-FIELDS.
|
| =====> ADD A TO NUMBRS.
|
| 000060 ABEND-B.
|
| 000061 DIVIDE A BY GIVING NUMBRS.
|
| 000062 ABEND-806.
|
| 000063 CALL DUMMY-CALL.
|
| ****** **************************** BOTTOM OF MODULE *******************
*******|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 8-1. XPEDITER/TSO Responding to a S0C7 Abend
Note: When an abend occurs in a program without source, the log is
automatically displayed with a message indicating the action to take. For
example:
ABEND IN MODULE WITHOUT SOURCE; USE AA SNAP COMMAND FOR MORE INFORMATION
To assist you in determining the cause of the abend, and how to correct
the problem, XPEDITER/TSO provides the following:
* If Abend-AID (Release 6.1.4 or higher) is installed at your site, you
can use the AA SNAP command to display the Abend-AID Snapshot report.
This report contains context sensitive diagnostic information, a
comprehensive analysis of the abend, and environmental information.
* If you do not have Abend-AID installed, use the LOG command to display
the diagnostic summary contained in the log.
* Display help information about the abend.
* Use debugging commands to investigate the cause of the abend.

8.1 Displaying the Abend-AID Snapshot Report


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

When an abend occurs in your program during an XPEDITER/TSO test session


and Abend-AID (Release 6.1.4 or higher) is installed at your site, you
can display the Abend-AID Snapshot report. This report contains context
sensitive diagnostic information, in-depth fault diagnosis, and an abend
analysis in the familiar Abend-AID format.
In a non-abending situation, you can request the Snapshot report to
display environment specific run-time characteristics and subsystem
related debugging information for VSAM, IDMS, IMS, and DB2 (if you have
these Abend-AID options). Please refer to "Displaying Environmental Data"
in topic 5.7 for more information.
To display the Snapshot report, enter the command AA SNAP on the command
line of any run-time screen. The Snapshot report is formatted according
to your terminal size (80 or 133) and written to a temporary dataset DD
called ABENDAID.
Note: If you want to save the abend information for printing, you must
allocate the ABENDAID DD to a permanent dataset.
The Snapshot report contains the following sections:
1. Header Information
2. Next Sequential Instruction Section
Provides information about the next statement to be executed, the
program compile date and number of bytes, the load module name, link
edit date, and the last I/O operation or call.
3. Supporting Environmental Data
Provides information about the PSW and GPREGS at the time of the
abend. Only application data is shown.
In a non-abending situation, the report displays subsystem related
debugging information for VSAM, IDMS, IMS, and DB2 and environment
specific run-time characteristics. Please refer to "Displaying
Environmental Data" in topic 5.7.
4. Diagnostic Section
Provides context sensitive information about the abend--what caused
the abend, detailed information about the data causing the error, and
recommended actions to take. This section is not included when the
Snapshot report is requested in a non-abending situation.
5. Call Trace Summary
Provides a listing of all the calls made during the test session,
including XPEDITER calls.
6. Application Program Attributes
Provides information about the application programs that are being
tested.
7. Working Storage Section
Provides information about the state of working storage at the time of
the abend.
Figure 8-2 shows the Header page of the Snapshot report:
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - BROWSE ---------------------
------ |
| COMMAND ===> SCROLL ===
> CSR |
| PROGRAM: OSABEND MODULE: OSABEND COMP DATE: 07/29/92 COMP TIME: 16.
41.59 |
| ------------------------------------------------------- Abend at OSABEND.
59 -- |
| SYS92092.T160057.RA000.FLGRNS1.R0000146 dd ABENDAID line
000000 |
| ********************************** TOP OF DATA ***************************
****** |
| 1 A B E N D - A I D S N A P S H O T PAGE 1
|
| 0WEDNESDAY 29 JUL 92 920602-R 6.1.4
|
| 0 *******************************************************************
|
| * A b e n d - A I D S n a p s h o t *
|
| * *
|
| * Copyright (c) 1976, 1991 by Compuware Corporation *
|
| * All Rights Reserved *
|
| * Licensed for use at: *
|
| * YOUR COMPANY NAME *
|
| * COMPANY NUMBER: XXXXXX *
|
| *******************************************************************
|
|
|
| MODEL - 3090 OPSYS - MVS/SP 4.2.2 JOB - FLGRNS1 Z
|
| CP FMID - JBB4422 STEP - TSOPROC
|
| SYSTEM - CW01 TIME - 16.51.23
|
| DFP - V3R3M0
|
| JES2 - SP 4.2.0
|
|
|
| Completion Code - SNAP
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 8-2. Abend-AID Snapshot Report Header
Note: You can bypass the Header section and go directly to a specific
section of the Snapshot report from the source display. For example, to
go directly to the Next Sequential Statement section, enter the following
on the source display screen.
aa snap; find 'next seq'
The Snapshot report is formatted according to your terminal size (80 or
133).
Optionally, you can display a column template at the top of the report by
using the SET COLS ON command. The column template can be useful when
viewing records or data. Use SET COLS OFF (the default) to turn off the
column template.
8.2 Browsing the Snapshot Report
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Snapshot report can be browsed using the <PF8> (DOWN) and <PF7> (UP)
keys.
You can also view specific sections of the report using the FIND command.
For example, to look at the Next Sequential Instruction Section, enter the
following on the command line of the Snapshot report screen:
find 'next seq'
The Next Sequential Instruction Section of the report is displayed as
shown in Figure 8-3.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - BROWSE ---------------------
------ |
| COMMAND ===> SCROLL ===
> CSR |
| CHARS 'NEXT SEQ' FOUND
|
| -------------------------------------------------------- Abend at OSABEND
.59 -- |
| SYS92092.T160057.RA000.FLGRNS1.R0000146 dd ABENDAID line
000000 |
| * Next Sequential Instruction Section *
|
| ********************************************
|
|
|
| The next sequential instruction to be executed in program
|
| OSABEND was at displacement 0005FC.
|
|
|
| The program was compiled on 29 JUL 92 and is 0077E bytes long.
|
|
|
| It is part of load module OSABEND.
|
| 0 The module was dynamically loaded from XTASKLIB library
|
| FLGRNS1.ABEND.LOADLIB
|
| It was link edited on 29 JUL 92 and is 000780 bytes long.
|
|
|
| The last known I/O operation or call was issued from program
|
| OSABEND at displacement 000502.
|
| 1 A B E N D - A I D S N A P S H O T PAGE 2
|
| 0
|
|
|
|
|
| --------------------------------------------------------------------------
------ |
|
|
|---------------------------------------------------------------------------
-------|
Figure 8-3. Snapshot Report Next Sequential Instruction Section
If you want to look at the Diagnostic Section, you can enter
find diagnostic
An example of the Diagnostic Section is shown in Figure 8-4.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - BROWSE ---------------------
------ |
| COMMAND ===> SCROLL ===
> CSR |
| CHARS 'DIAGNOSTIC' FOUND
|
| -------------------------------------------------------- Abend at OSABEND
.59 -- |
| SYS92092.T160057.RA000.FLGRNS1.R0000146 dd ABENDAID line
000075 |
| * Diagnostic Section *
|
| **********************
|
|
|
| Both Fields are in error
|
|
|
| * First field in error *
|
|
|
| Abend S0C7 was caused by data referenced at displacement 030 from the
|
| start of BL cell 01. The field contains X'FF'. Refer to the data
|
| division map in the program listing to locate the field name.
|
|
|
| The first field causing the abend is located in a temporary work field
|
| in the TGT. The actual field in error is in Working-Storage of
|
| program OSABEND.
|
|
|
| The last known I/O operation or call was issued from program
|
| OSABEND at displacement 000502. Z
|
| 1 A B E N D - A I D S N A P S H O T PAGE 2
|
| 0
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 8-4. Snapshot Report Diagnostic Section
When you have finished viewing the Snapshot report, press <PF3> (END) to
return to the source display.
If you inadvertently press <PF3> (END) while viewing the Snapshot report,
you can enter BROWSE ABENDAID on the command line of the source or log
display to redisplay the Snapshot report.
8.3 Viewing the Log
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

XPEDITER/TSO records the cause of the abend, the exact location, and a
diagnostic summary in the log file. To look at the log, type the LOG
command in the command line on the source display screen.
Note: If you have Abend-AID (Release 6.1.4 or higher) installed at your
site, you can also display the log from the Snapshot report.
An example of the diagnostic summary in the log is shown in Figure 8-5.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - LOG ------------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| PROGRAM: OSABEND MODULE: OSABEND COMP DATE: 07/29/92 COMP TIME: 16.4
1.59 |
| ------------------------------------------------------------ Before OSABEN
D.59 --|
|
|
| ** S0C7 ABEND IN USER MODULE OSABEND AT STATE 000059 AT OFFSET 0005FC
|
| IN PROC ABEND-7
|
| ** ACTIVE APPLICATION MODULE AT TIME OF ABNORMAL TERMINATION IS OSABEND *
* |
|
|
| ** LAST INTERCEPTED CALL BY MODULE OSABEND PRIOR TO TERMINATION WAS MADE T
O |
| MODULE ASMSUBD FROM STATE 000034 IN PROC MAINLINE
|
|
|
| ** APPLICATION MODULE CONTROL HIERARCHY AT TIME OF ABNORMAL TERMINATION **
* |
| LVL MODULE ENTRY MEMBER RETURN LOCATION FOR MOST RECENT CA
LL |
| 1 XPEDITER
|
| 2 ABTOPOS ABTOPOS ABTOPOS STATE 000028 MAINLINE
|
| 3 X OSABEND OSABEND OSABEND STATE 000034 MAINLINE
|
| 4 ASMSUBD ASMSUBD ASMSUBD OFFSET 00036
|
| 5 ASMSUBS ASMSUBS ASMSUBD
|
|
|
| DATA EXCEPTION INTERRUPT INSTRUCTION AND OPERANDS
|
| MNEMONIC AP INSTRUCTION FA44D213D21B OP1 00000000FF
|
| OP2 0000000004
|
| AA SNAP
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 8-5. Diagnostic Summary in the Log
The first part of the diagnostic summary identifies the error message,
PSW, data at PSW, general-purpose registers, offset, and the module in
which the error occurred.
The middle part shows the abend type, module name, statement number,
offset, paragraph name, and the failing verb. This information is
followed by the module stack that identifies the last call that took
place.
The last part defines the problem and gives the next sequential
instruction to be executed in the assembler format.
If desired, the link-edit map of the load modules can also be displayed by
entering the SHOW MODULES command.
8.4 Displaying HELP Information
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The HELP library can be accessed to obtain further information to


determine the cause and possible resolution of the abend. Any of the most
commonly occurring abends (listed below) can be entered as a keyword with
the HELP command.
SB14 S0C1 S0C7 S031 S806
SB37 S0C4 S001 S106
SD37 S0C5 S013 S213
Figure 8-6 shows HELP information for a S0C7.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - BROWSE ---------------------
------ |
| COMMAND ===> SCROLL ===
> CSR |
| PROGRAM: OSABEND MODULE: OSABEND COMP DATE: 07/29/92 COMP TIME: 16.4
1.59 |
| -------------------------------------------------------- Abend at OSABEND
.59 -- |
| ******************************* TOP OF DATA ******************************
* |
| S0C7
|
|
|
| Data in a field was of incorrect format for the instruction attempting to
|
| process it.
|
|
|
| POSSIBLE CAUSES
|
|
|
| 1. A data-element was not initialized.
|
|
|
| 2. JCL error resulted in the wrong file being read into the program.
|
|
|
| 3. MOVE at group level was executed to a COMP or COMP-3 field. No data
|
| conversion was performed on the element level.
|
|
|
| 4. The Linkage Section data item was improperly defined.
|
|
|
| WHAT TO DO
|
|
|
| 1. DISPLAY data-elements in abending statement and MOVE valid data to the
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 8-6. HELP Information on S0C7
8.5 Using Debugging Commands
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

When an abend occurs, you can use XPEDITER/TSO debugging commands to


investigate the cause of the abend. For example, you can view the
contents of the data referenced on the statement causing the abend,
analyze the data flow and control structure, and optionally, review the
path and data values that lead to the error.

8.5.1 Displaying Working Storage


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

XPEDITER/TSO automatically points to the statement causing the abend in


the source display screen. Pressing <PF6> (LOCATE *) switches you from
the Abend-AID report or the log to the source display screen, starting
with the statement pointed to by the execution arrow.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| PROGRAM: OSABEND MODULE: OSABEND COMP DATE: 07/29/92 COMP TIME: 16.4
1.59 |
| ------ ------------------------------------------------ Abend at OSABEND
.59 -- |
| =====> ADD A TO NUMBRS.
|
| 000060 ABEND-B.
|
| 000061 DIVIDE A BY GIVING NUMBRS.
|
| 000062 ABEND-806.
|
| 000063 CALL DUMMY-CALL.
|
| ****** **************************** BOTTOM OF MODULE *******************
*******|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 8-7. Locating the Statement that Caused the Abend
There is no need to figure out where your program abended by
cross-referencing the PMAP (CLIST) and the displacement given in the
diagnostic summary. Since all the XPEDITER/TSO facilities are available
at the time of an abend, all the data areas can be examined at the source
level to understand the state of the program just before the abend. You
do not have to locate the data fields in the Working Storage by matching
the DMAP and BLCELLs.
All the data referenced by the problem statement can be investigated "on
the fly" by entering the P(eek) line command on the statement that caused
the abend (for example, statement 59 in Figure 8-7).
XPEDITER/TSO automatically scrolls to the DATA DIVISION statement and
displays the variable content next to the data definition, as seen in
Figure 8-8.
Note: If applicable, the second and third data referenced by the problem
statement can be displayed in the same manner by entering the P2 and P3
line commands.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| PROGRAM: OSABEND MODULE: OSABEND COMP DATE: 07/29/92 COMP TIME: 16.4
1.59 |
| ------ ------------------------------------------------- Abend at OSABEN
D.59 --|
|
|
| 000017 05 A > ? INVALID D
ECIMAL |
| 000018 05 B PIC 9(1) VALUE 0.
|
| 000019 01 X PIC X VALUE 'X'
|
| 000020 01 COBSUBD PIC X(8) VALUE 'COBSUBD'.
|
| 000021 01 ASMSUBD PIC X(8) VALUE 'ASMSUBD'.
|
| 000022 01 DUMMY PIC X.
|
| 000023 77 WS-IDEN2 PIC X(17)
|
| 000024 VALUE ' W-S ENDS HERE '.
|
| 000025 LINKAGE SECTION.
|
| 000026 01 LINK-FIELD.
|
| 000027 05 ABEND-TYPE PIC X(04).
|
| 000028 01 NOT-LINKED PIC X(04).
|
| 000029 B PROCEDURE DIVISION USING LINK-FIELD, NOT-LINKED.
|
| 000030 MAINLINE.
|
| 000031 CALL 'ASMSUBS' USING DUMMY.
|
| 000032 CALL COBSUBD USING DUMMY.
|
| 000033 CALL 'COBSUBS' USING DUMMY.
|
| 000034 CALL ASMSUBD USING DUMMY.
|
| 000035 IF ABEND-TYPE = 'S0C1'
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 8-8. The Result of Entering a P Line Command on the Statement
(00059) that Caused the Abend
If the variable contains data other than the declared data type,
XPEDITER/TSO flags it as "INVALID." The hexadecimal form can be displayed
by entering the H line command on the data definition statement. However,
if you want to display data in the hexadecimal dump format, you can access
the memory display screen by entering the MEM(ory) command. Figure 8-9
shows the result of entering MEMORY NUMBRS.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - MEMORY ---------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| PROGRAM: OSABEND MODULE: OSABEND COMP DATE: 07/29/92 COMP TIME: 16.4
1.59 |
| --------------------------------------------------------- Abend at OSABEND
.59 -- |
|
|
| BASE = 000E6110 0 - 2 - 4 - 6 - 8 - A - C - E - = 0-2-4-6-8-A-C-E
- |
| ****************************** TOP OF DATA ******************************
** |
| 0000CO ===> 40404040 40404040 40404040 40404040 =
|
| 0000D0 ===> FFFF0000 00000000 E7000000 00000000 = ........X......
. |
| 0000E0 ===> C3D6C2E2 E4C2C440 C1E2D4E2 E4C2C440 = COBSUBD ASMSUBD
. |
| 0000F0 ===> F240E660 E24040C5 D5C4E240 40C8C5D9 = 2 W-S ENDS HE
. |
| 000100 ===> C5400000 00000000 00300000 0010VE80 = E..............
. |
| 000110 ===> 0010C498 000E0E6E 000930F8 00000000 = ..D....>...8...
. |
| 000120 ===> 000E6378 00062050 000E61F8 00000008 = .......&../8...
. |
| 000130 ===> 000B4498 000E61B0 80096745 000B4498 = ....../........
. |
| 000140 ===> 000E687C 000E6110 000E64F4 000E6488 = ...@../....4...
. |
| 000150 ===> 2102214B 00000000 00000000 000E64F4 = ...............
. |
| 000160 ===> 00000000 30F80000 00000000 00000000 = .....8.........
. |
| 000170 ===> 00000000 000E0E6E 000E4EA2 00000000 = .......>..+....
. |
| 000180 ===> 000E6378 00062050 000E61F8 00000008 = .......&../8...
. |
| 000190 ===> 000B4498 000E61B0 80096745 000B4498 = ....../........
. |
| 0001A0 ===> 000E687C 000E6110 000E64F4 000E6488 = ...@../....4...
. |
| 0001B0 ===> 00000000 00000000 00000000 00000000 = ...............
. |
| 0001C0 ===> 800E5028 00000000 00000000 00000000 = ..&............
. |
|
|
|---------------------------------------------------------------------------
-------|
Figure 8-9. Result of Entering MEMORY NUMBRS
8.5.2 Tracing Execution and Data Flow
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Once you have found where the program is abending and the possible cause,
the next question you might ask yourself is "How did I get here?", or
"Where is it coming from?". XPEDITER/TSO provides facilities to help you
answer these questions by letting you interactively walk through your
program.
The SHOW PREVIOUS command displays a list of the last 100 statements
associated with the last 100 breakpoints. Only those statements active
when the breakpoints were reached are recorded. Figure 8-10 illustrates
the results of entering the SHOW PREVIOUS command after the program was
executed with the TRACE ALL STATEMENT breakpoint.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SHOW -----------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| PROGRAM: OSABEND MODULE: OSABEND COMP DATE: 07/29/92 COMP TIME: 16.4
9.59 |
| ------------------------------------------------------------ Before OSABEN
D -- |
| ******************************* TOP OF DATA ******************************
* |
| 000025 PROCEDURE DIVISION USING LINK-FIELD, NOT-LINKED. ABTOPO
S |
| 000026 MAINLINE. ABTOPO
S |
| 000027 IF LANG-OS ABTOPO
S |
| 000028 THEN CALL 'OSABEND' USING ABEND-TYPE ABTOPO
S |
| 000029 PROCEDURE DIVISION USING LINK-FIELD, NOT-LINKED. OSABEN
D |
| ***************************** BOTTOM OF DATA *****************************
* |
|
|
|---------------------------------------------------------------------------
-------|
Figure 8-10. Result of Entering the SHOW PREVIOUS Command
If you can recreate the abend, enter the MONITOR ALL command after a new
copy of the program is loaded in memory. This command asks XPEDITER/TSO
to monitor and record all the executed statements to an internal buffer.
By monitoring the execution path in the background, the execution history
can be displayed later in the reverse direction. The MONITOR command also
allows you to later redisplay the data values as you trace backwards.
When you run your program and the abend is encountered again, enter the
REVERSE command. Stepping through the code by pressing <PF9> (GO 1) lets
you review the path that lead to the abend. You can observe the cross
module effect of calls and returns in the reverse order. Displaying
variables in the Keep window redisplays the original values at the time of
the execution. The FIND command using data references (DEFine, MODify,
USE) as arguments lets you search statements that reference a particular
data item. For instance, entering
FIND NUMBRS MOD
searches for all the procedure statements that potentially alter the value
of NUMBRS. Only two modifications were found as shown in Figure 8-11.
You can trace the data flow and pinpoint the possible cause of the abend
by looking up only the relevant statements.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| PROGRAM: OSABEND MODULE: OSABEND COMP DATE: 07/29/92 COMP TIME: 16.4
9.59 |
| ------ ----------------------------------------------------- Before OSAB
END -- |
| 2 DATA MODS FOUND FOR NUMBRS
|
| 000039 THEN PERFORM ABEND-4
|
| 000040 ELSE
|
| 000041 IF ABEND-TYPE = 'S0C7'
|
| 000042 THEN PERFORM ABEND-7
|
| 000043 ELSE
|
| 000044 IF ABEND-TYPE = 'S0CB'
|
| 000045 THEN PERFORM ABEND-B
|
| 000046 ELSE
|
| 000047 IF ABEND-TYPE = 'S806'
|
| 000048 THEN PERFORM ABEND-806.
|
| 000049 GOBACK.
|
| 000050 ABEND-1.
|
| 000051 MOVE 'S0C1' TO LETTERS.
|
| 000052 ABEND-4.
|
| 000053 MOVE SPACES TO NOT-LINKED.
|
| 000054 ABEND-7.
|
| 000055 MOVE LETTERS TO NUMBRS. MOD
|
| 000056 ADD 1 TO NUMBRS. MOD
|
| 000057 MOVE SPACES TO USED-FIELDS.
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 8-11. Result of Entering FIND N-CNTR MOD
8.5.3 Displaying the File Area
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The SHOW FILE command presents file information such as the DDNAME, DCB,
I/O status, last I/O operation performed, and the file status code. The
function provides pertinent debugging information in the event of an I/O
abend. Figure 8-12 illustrates the file attributes shown for the MSTRUPDT
program.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SHOW -----------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| PROGRAM: MSTRUPDT MODULE: MSTRUPDT COMP DATE: 07/29/92 COMP TIME: 16.4
1.59 |
| --------------------------------------------------------- After MSTRUPDT.1
003 -- |
| ******************************* TOP OF DATA ******************************
* |
| *** FILE ATTRIBUTES FOR APPLICATION MODULE MSTRUPDT
|
|
|
| VSAM FILE FOR DDNAME INMSTR IS CLOSED
|
| ORGANIZATION = INDEXED ACCESS MODE=RANDOM
|
| OPEN VERB OPTION = I-O LAST I/O STATEMENT = READ STATUS = 23
|
| DD ASJUSR1.VSAM.CUSTMAST
|
| DSORG RECFM BLKSI LREC
L |
| NON-VSAM FILE FOR DDNAME INTRAN OPEN DCB = PS FB 6160 8
0 |
| DSN=ASJUSR1.COBOL.DATA JFCB= PO FB 6160 8
0 |
| MBR=CICS2462
|
| DATA SET ALLOCATED ON VOLUME TS0001 DSCB= PO FB 6160 8
0 |
|
|
| DSORG RECFM BLKSI LREC
L |
| NON-VSAM FILE FOR DDNAME OUTPRINT OPEN DCB = PS FBA 133 13
3 |
| DSN=ASJUSR1.COBOL.OUTPUT JFCB= PS FBA 133 13
3 |
| DATA SET ALLOCATED ON VOLUME TS0003 DSCB= PS FBA 133 13
3 |
| *** END OF FILE ATTRIBUTE DISPLAY ***
|
| **************************** BOTTOM OF DATA ******************************
* |
|
|
|---------------------------------------------------------------------------
-------|
Figure 8-12. File Attributes Information
Missing files can be verified by the SHOW ALLOCATES command, which lists
all the files currently allocated to the TSO region, as shown in
Figure 8-13.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SHOW -----------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| PROGRAM: MSTRUPDT MODULE: MSTRUPDT COMP DATE: 07/29/92 COMP TIME: 16.4
1.59 |
| --------------------------------------------------------- After MSTRUPDT.1
003 -- |
|
|
| 082 " SYS1.ISPFMODS.ISPFTLIB IN-USE SHR KEE
P |
| 083 " SYS1.ISPFTLIB IN-USE SHR KEE
P |
| 084 " SYS1.ISFTLIB IN-USE SHR KEE
P |
| 085 " SYS1.INHOUSE.ISPFTLIB IN-USE SHR KEE
P |
| 086 " SUPPORT.INHOUSE.ISPFTLIB IN-USE SHR KEE
P |
| 087 XPOUT ASJUSR1.XPLOG.JUL07.T1430 IN-USE MOD KEE
P |
| 089 ISP14302 ASJUSR1.SPFLOG5.LIST IN-USE NEW CAT
LG |
| 090 XINCLUDE ASJUSR1.XPEDITER.INCLUDE IN-USE SHR KEE
P |
| 091 XCOMPILE ASJUSR1.COBOL.SIRLIB IN-USE SHR KEE
P |
| 092 " IN-USE SHR KEE
P |
| 093 XDYNAMIC SYS90188.T153613.RA000.ASJUSR1.R0000115 IN-USE NEW DEL
ETE |
| 094 XTASKLIB SYS90188.T153513.RA000.ASJUSR1.R0000115 IN-USE SHR KEE
P |
| 095 " ASJUSR1.COBOL.LOADLIB IN-USE SHR KEE
P |
| 096 " IN-USE SHR KEE
P |
| 097 " COBOL.C2V131X.COB2LIB IN-USE SHR KEE
P |
| 098 " IN-USE SHR KEE
P |
| 099 XPHELP AXPTSO.XPPROD51.HELP IN-USE SHR KEE
P |
| 100 XPSHOW SYS90188.T153614.RA000.ASJUSR1.R0000120 IN-USE NEW DEL
ETE |
| 101 XMSG AXPSIR.PROD8920.XMESSAGE IN-USE SHR KEE
P |
| 102 XOPTIONS ASPSIR.PROD8920.XOPTIONS IN-USE SHR KEE
P |
| 103 SYS00098 ASJUSR1.XPEDITER.FAU SHR KEE
P |
|
|
|---------------------------------------------------------------------------
-------|
Figure 8-13. File Allocation Information
8.6 Applying Fixes
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Even when XPEDITER/TSO intercepts an abend, you have the opportunity to


temporarily apply fixes to the problem and resume execution as if the
abend had never occurred. The GO (PF12) command resumes execution;
however, you will not be able to continue normal program execution until
the abend is resolved.
Using all of the information provided by the Abend-AID Snapshot report,
you can experiment with possible solutions and test the fixes. For
example, to try out a fix for the S0C7 shown in the previous examples, you
can type over the parameter values displayed in the Keep window to correct
the data exception. The result is shown in Figure 8-14.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| PROGRAM: OSABEND MODULE: OSABEND COMP DATE: 07/29/92 COMP TIME: 16.4
1.59 |
| 000014 05 A > 00000005 D
ECIMAL |
| 000017 05 NUMRS > 2 D
ECIMAL |
| ------ ------------------------------------------------ Abend at OSABEND
.59 -- |
| 000058 MOVE HIGH-VALUES TO DIVIDE-FIELDS.
|
| =====> ADD A TO NUMBRS.
|
| 000060 ABEND-B.
|
| 000061 DIVIDE A BY GIVING NUMBRS.
|
| 000062 ABEND-806.
|
| 000063 CALL DUMMY-CALL.
|
| ****** **************************** BOTTOM OF MODULE *******************
*******|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 8-14. Applying a Fix to a S0C7 Abend
You can then resume execution by entering GO 1 to single step through the
program. As shown in Figure 8-15, the abend is successfully recovered in
this case.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL ===
> CSR |
| PROGRAM: OSABEND MODULE: OSABEND COMP DATE: 07/29/92 COMP TIME: 16.4
1.59 |
| 000014 05 A > 00000005 D
ECIMAL |
| 000017 05 NUMRS > 2 D
ECIMAL |
| ------ ------------------------------------------------------ After OSAB
END -- |
| 000048 THEN PERFORM ABEND-806.
|
| =====> GOBACK.
|
| 000050 ABEND-1.
|
| 000051 MOVE 'S0C1' TO LETTERS.
|
| 000052 ABEND-4.
|
| 000053 MOVE SPACES TO NOT-LINKED.
|
| 000054 ABEND-7.
|
| 000055 MOVE LETTERS TO NUMBRS.
|
| 000056 ADD 1 TO NUMBRS.
|
| 000057 MOVE SPACES TO USED-FIELDS.
|
| 000058 MOVE HIGH-VALUES TO DIVIDE-FIELDS.
|
| 000059 ADD A TO NUMBRS.
|
| 000060 ABEND-B.
|
| 000061 DIVIDE A BY GIVING NUMBRS.
|
| 000062 ABEND-806.
|
| 000063 CALL DUMMY-CALL.
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 8-15. Resuming Execution After Applying a Fix
Some other ways of trying out fixes for abends are as follows:

* The SKIP command can be used to stub out procedures that could
potentially be deleted.
* The GOTO command can be used to redirect the execution path.
* The MOVE command (and typing over variables displayed by the PEEK or
KEEP command) can be used to modify program data that is to be
processed and to change the control flow.
* Insert XPEDITER/TSO commands in the program source display as if they
were part of your code.
8.7 Obtaining a Memory Dump
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

If a dump is necessary, the SET DUMP ON command can be issued to direct


XPEDITER/TSO to allow the dump to be written if the DDNAME SYSUDUMP is
preallocated. (See Appendix B, "Allocating Your Test Data Files" in
topic B.0.)
You can also turn off XPEDITER/TSO's ability to intercept the abend by
issuing the SET ABNDEXIT OFF command.
In the case of a S0C1 abend, you must enter the SET ESPIE OFF command in
conjunction with the SET ABNDEXIT OFF command before the failing
instruction is executed.
9.0 Chapter 9. Testing in the IMS/DC Region
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
XPEDITER/IMS, an IMS/DC debugging product, executes Message Processing,
Fast Path, and Batch Message Processing programs in an IMS-dependent
region within your TSO address space. Operation of the product requires
one logical TSO terminal and one logical IMS terminal (can be an ATM
terminal), both on the same CPU. XPEDITER/IMS does not work with two IMS
terminals. XPEDITER/IMS is executed on Releases 1.3, 2.1, 2.2, and 3.1 of
IMS/VS. XPEDITER/IMS does not support multiple IMS control regions that
communicate with one another. However, the product can be installed on
each IMS system.

9.1 Functions Supported


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Database support is available with XPEDITER/IMS through the IMS control


region. All databases are supported, along with the following types of
transactions:
* Conversational and Nonconversational
* Response and Nonresponse Mode
* Wait-for-Input and non-Wait-For-Input
The type of transaction you can process is determined by the way your IMS
system is defined.

9.1.1 Conversational and Nonconversational Transactions


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Programs that process nonconversational transactions have no knowledge of


previous transactions or responses. Programs that process conversational
transactions retain knowledge of each transaction in a scratch pad area.
When each succeeding transaction is received, the scratch pad area is read
to determine what happened during the previous execution of that program.
In XPEDITER/IMS, the two transaction types are processed the same
way--there is no difference between the two.
9.1.2 Response Mode and Nonresponse Mode
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

When response mode is in effect, IMS does not accept any input from the
communication line or terminal until the program has sent a response to
the previous input message. The originating terminal is unusable (i.e.,
the keyboard locks) until a reply is sent back to the terminal.
When nonresponse mode is in effect, the keyboard is not locked. Multiple
requests can be sent before a response is received.
9.1.3 WFI and Non-WFI Transactions
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

When a program is defined as processing Wait-For-Input (WFI)


transactions, the program remains in main storage, even when there are no
more messages for it to process. This ensures that the program and region
are immediately available when a transaction comes in.
If a program is defined as processing non-Wait-For-Input (non-WFI)
transactions, the program can process one or more transactions and end,
then have to start again when another transaction is received for
processing.
9.2 Types of Programs You Can Debug
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

With XPEDITER/IMS, you can debug three types of programs:


* Message Processing Programs (MPPs)
* Batch Message Processing Programs (BMPs)
* Message-driven Fast Path Programs (IFPs)
These three types of programs can access various resources under
XPEDITER/IMS. Available to them are full function databases, DB2, GSAM
(BMP only), and Fast Path databases.

9.2.1 Message Processing Programs


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The primary purpose of the MPP is to quickly process your requests from
the terminal or from another application program. Ideally, the requests
are small, and processing is set up to respond to them quickly. MPPs
process messages as their input, and send messages as responses.
An MPP can access full function databases, Fast Path databases, and DB2
databases. Unlike BMP programs, MPPs cannot access GSAM databases.
In XPEDITER/IMS, multiple MPP transactions can be debugged in the same
session.
9.2.2 Batch Message Processing Programs
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

You might use a BMP program when processing time is long, but an
immediate response is not required. There are two types of BMP
programs--message-driven and nonmessage-driven. A message-driven BMP
program is used to process information received from a terminal or other
program, but held by IMS in a message queue.
A nonmessage-driven program is often used when no access to messages is
required. It is also typically a long-running program, used when you have
a large number of updates to do or are running a report.
Both types of BMP programs can access OS/VS files, GSAM databases, full
function databases, Fast Path databases, and DB2 databases.
In XPEDITER/IMS, a BMP program is executed in its own region, and when the
program is terminated, the region is also terminated.
9.2.3 Fast Path Programs
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

An IFP program functions the same way an MPP does, but it is scheduled by
IMS in a manner similar to a BMP program. An IFP program increases the
performance of certain types of database applications. It provides
efficient access to large volumes of data which are broken up into areas
that can be accessed independently of each other.
Note: IFP programs, like MPP and BMP programs, can access Fast Path
databases, as well as full function databases and DB2 databases.
In XPEDITER/IMS, an IFP program is executed in a Fast Path region, and
when the program is terminated, so is the region.
9.3 Using XPEDITER/IMS Effectively
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Some information in the following areas can help you run MPP, BMP, and IFP
debugging sessions effectively:
* Attention key processing
* MPP test setup
* Scheduling difficulties
* Interrupting a debugging session
* Fast Path considerations

9.3.1 Attention Key Processing


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
If you press the attention key when using XPEDITER/IMS, the response is
different from the TSO default, which takes you out of your program to
ISPF. Under XPEDITER/IMS when you press the attention key, you are
presented with a choice of options, depending on the situation.
If you are debugging an MPP under XPEDITER control, you receive the
following options:
ENTER ENDTRAN, ENDMPR, OR PRESS <ENTER> TO CONTINUE
If debugging a BMP or IFP program under XPEDITER control:
ENTER EXIT, OR PRESS <ENTER> TO CONTINUE
There are times when XPEDITER is not in control; for example, at the
beginning and end of a debugging session. Then, the following prompt
appears:
ENTER EXIT, OR PRESS <ENTER> TO CONTINUE
When you press <ENTER>, execution resumes. When you enter EXIT, you see
a system 33E abend reported as you return to the starting test panel.
Message XPD1202 is recorded in the log showing the same S33E abend, which
is caused by XPEDITER/IMS when it detaches the user's IMS region.
CAUTION: Do not press the attention key twice in a row. When you do this,
the session is terminated with the TSO default, and you are returned
either to ISPF or native TSO. In addition, XPEDITER/IMS is not terminated
normally; i.e., your datasets cannot be closed safely.
The various options available to you:
ENDTRAN Terminates the IMS transaction.
ENDMPR Terminates the message region.
EXIT Terminates the debugging session.
(ENTER) Resumes program execution.
9.3.2 MPP Test Setup
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

For an MPP debugging session, if a PSB is defined to your IMS system as


capable of handling more than one transaction, you must enter the specific
transaction code you wish to debug.
9.3.3 Scheduling Difficulties
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

There are two XPEDITER/IMS capabilities that can help if you are unable to
schedule a transaction or program:
* The Intercepts display invoked by the INTER command on your test
screen
* The session log
When you cannot schedule a particular transaction, another person may be
using it. The transaction a user sets up, either by entering a
transaction code (MPP, BMP, or IFP) or through the PSB name (IFP) or
program name (MPP), is allocated to that user for the duration of the
session. The Intercepts display tells you the transactions that are
allocated and the users to whom they are allocated.
XPEDITER/IMS records in the log many conditions that prevent a
transaction or program from being scheduled. If, after setting
intercepts, you still receive the test screen, browse the log for more
information. XPEDITER/IMS can determine whether a program or transaction
is locked or stopped, or not able to be scheduled for other reasons.
XPEDITER/IMS can also capture IMS scheduling abends, which are noted in
the log. Without XPEDITER/IMS, these conditions can cause your IMS
terminal to lock or not respond, requiring master terminal operator
intervention to find the cause of the problem.
9.3.4 Interrupting a Session
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

If you want to end a session and you are debugging a Wait-For-Input (WFI)
transaction (MPP, BMP, or IFP), you can issue the EXIT command when the
program is paused before it begins a DL/I call for retrieving a message,
or after it completes the call. But if the program already entered the
DL/I call to the IOPCB and is waiting for a message, you cannot enter the
EXIT command or any other command. To end a session in this case, you
must press the attention key and wait for XPEDITER/IMS to process the
attention interrupt.
Attention key processing can be delayed under certain conditions. If you
press the attention key while your program is executing a DL/I database or
SQL call, for example, attention processing is deferred. When this
happens, pressing the attention key several times does not help. On the
contrary, it takes you out of XPEDITER/IMS and into TSO, which
necessitates a restart of your XPEDITER/IMS session.
9.3.5 Fast Path Caution
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

If your IMS system includes a Fast Path exit routine to route


transactions to programs not originally genned to handle these
transactions, you can experience the following difficulties:
* The program being executed can receive a transaction you did not
enter.
* A transaction you entered can be routed to another program in another
region. In this case, you do not see any source code displayed. If
the other program is active, the transaction is processed, or the
transaction is rejected with an appropriate message.
9.4 The Debugging Process
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

XPEDITER/IMS consists of menus and screens accessed through ISPF, and an


IMS terminal from which all IMS input and output can be entered or viewed.
XPEDITER/IMS displays are viewed on a TSO terminal; and the IMS
application format screens are viewed on an IMS terminal.
From the Primary Menu, select option 2 (XPEDITER) to receive the
Environments Menu.
Note: The Environments Menu is automatically displayed if this is your
first time to invoke a test session. Otherwise, access the Environments
Menu by entering SETUP from the command line of the displayed test screen
and selecting option 0 (ENVIRONMENT) from the Test Setup Menu.

1. Select the appropriate IMS test screen (option 8 or 9) from the


Environments Menu.
2. On the test screen, enter the program, transaction code, or PSB names.
Optionally, fill in an initial script, post script, start, and maximum
values.
3. Wait for the intercepts to be set; then logon to IMS and enter the
transaction(s).
4. View the XPEDITER/IMS source display on the TSO terminal. Switch to
the IMS terminal for all input and output operations.
5. At the end of each MPP transaction, enter GO to continue debugging, or
EXIT to terminate.
6. At the end of a BMP or Fast Path program, you are returned to the
BMP/IFP screen. Press <ENTER> to go into the same debugging session
again, or END to return to the Environments Menu.

9.4.1 Debugging an MPP Program


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Select option 8 from the Environments Menu to debug an MPP program. The
MPP screen displayed in Figure 9-1 lets you enter either a command on the
command line or, in appropriate columns, the name of a program to be
debugged and the various parameters that determine how it is run.
The four commands listed on the screen and one other are listed here:
SETUP Displays the Setup Menu from which you can select screens for
entering or reviewing debug parameters.
Log Browses the session log after you execute a program. The log
file contains a record of the commands that were entered during
the debugging session and the responses to them.
INTER Displays the Intercepts screen showing you what IDs are logged
on to XPEDITER/IMS, what programs are being used, etc.
DOWN Scrolls to a continuation MPP screen. From this screen UP is
available for returning to the first debugging screen.
ALLOC This command takes you to the File Allocation Utility (FAU)
screens to create a file allocation list, which your program may
require for the debugging session.
END is available to terminate any display. HELP is also available from
any screen.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ----------- XPEDITER/TSO - MPP (2.8) --------------------
------ |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu) Log (Browse LOG)
|
| INter (Display Intercepts) DOwn (Scroll Do
wn) |
|
|
| INTERCEPTS
|
|
|
| PROGRAM TRAN CODE INITSCR POSTSCR START MA
X |
| ===> TRIMPP ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
|
|
|
|
|
|
| NBA ===> 10 (Normal Buffer Allocation)
|
| OBA ===> 10 (Overflow Buffer Allocation)
|
|
|
| File Allocation List ===>
|
|
|
| Is this a DB2 Test? ===> NO System ===>
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 9-1. MPP Screen
MPP programs are invoked through program names, transaction codes, or
both, as follows:
* If just the program name is entered and only one transaction code is
associated with the program, that transaction code is used for the
intercept.
* If just the transaction code name is entered, there can be only one
program name associated with it and XPEDITER/IMS will find it.
* If both the program and transaction code name are entered,
XPEDITER/IMS verifies that the program is associated with the
transaction and sets the intercepts for that combination.
In Figure 9-2, a program name (TRIMPP) and a transaction code (XPEDTRAN)
are entered, therefore the transaction code that is associated with
program TRIMPP and the program that is associated with transaction code
XPEDTRAN are used for the intercepts.
If your site does not use OS/VS files for input or output, you need not
make an entry in the File Allocation List field. If you do not use Fast
Path databases, the options NBA and OBA will not appear on the screen.
If you fill the first screen and need more space, enter DOWN (<PF8>), and
a second (continuation) screen is invoked. See Figure 9-2.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ----------- XPEDITER/TSO - MPP (2.8) --------------------
------ |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu) Log (Browse LOG)
|
| INter (Display Intercepts) UP (Scroll Up) DOwn (Scroll Down)
|
|
|
| INTERCEPTS Row 1 of 1
|
|
|
| PROGRAM TRAN CODE INITSCR POSTSCR START MA
X |
| ===> TRIMPP ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> XPEDTRAN ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
| ===> ===> ===> ===> ===> ===>
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 9-2. Second MPP Screen
When entries for the screen are complete and you press <ENTER>, the
screen clears. If the intercepts are set, the following messages appear
on the screen:
THE IMS INTERCEPTS ARE BEING SET
INTERCEPTS SET - STARTING THE IMS REGION
THE TEST TRANSACTION CAN BE ENTERED
The terminal is then locked. If an error is encountered, however, the
intercepts are not set and you are returned to the test screen. A message
indicating an error is displayed on the message line. You can access the
log for more information.
Note: There are several reasons the intercepts might not be set:
* You may have entered a program type other than TP (Message Processing
Program).
* The program may be TP, but someone else can be debugging the same
transaction. In a message processing region, two users cannot debug
the same transaction at the same time. XPEDITER/IMS changes the class
code of each transaction, but it does not change the high-level
program associated with the transaction. Therefore, if the
transaction is being used by another person, you receive an error
message.
If the intercepts are set successfully, go to the IMS terminal and start
the transaction you want to debug by entering the transaction code that
invokes your program. Note that you should invoke the program the way you
would without XPEDITER/IMS; e.g., by going through a signon screen or
another transaction. If a format screen is invoked, enter any data needed
by the transaction.
When you press <ENTER>, IMS schedules the transaction for execution and
locks your terminal if it is in response mode. Now return to the TSO
terminal where either the source code or the log is displayed. If you
have a SIR dataset for the high-level module, you will see the source code
as illustrated in Figure 9-3.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| Before Breakpoint Encountered
|
| ------ ------------------------------------------------------- Before TR
IMPP --|
| 000091 PROCEDURE DIVISION.
|
| =====> B ENTRY 'DLITCBL' USING IOPCB, DBPCB.
|
| 000093 PERFORM INIT-PARA.
|
| 000094 PERFORM GET-MSG UNTIL GU-FLAG = 1.
|
| 000095 PERFORM PROCESS-MSG.
|
| 000096 PERFORM SEND-MSG.
|
| 000097 PERFORM PGM-END.
|
| 000098 INIT-PARA.
|
| 000099 MOVE ZEROES TO N-CNTR(1) N-CNTR(2) N-CNTR(3) N-CNTR(4).
|
| 000100 GET-MSG.
|
| 000101 CALL 'CBLTDLI' USING GU, IOPCB, INPUT-MSG.
|
| 000102 IF IO-STCODE EQUAL TO SPACES
|
| 000103 MOVE IN-DATA TO KEY-VALUE1
|
| 000104 CALL 'CBLTDLI' USING GU, DBPCB, DB-INAREA, SSA1
|
| 000105 MOVE 1 TO GU-FLAG
|
| 000106 ELSE
|
| 000107 IF IO-STCODE = 'QC'
|
| 000108 GO TO PGM-END
|
| 000109 ELSE
|
| 000110 MOVE IN-TC TO OUT-TC
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 9-3. TSO Terminal Displaying Source Code
If you do not have a SIR dataset, you will see the log as shown in
Figure 9-4.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------- XPEDITER/TSO - LOG -----------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| NO SIR DATASET MEMBER FOR TRIMPP
|
| ---------------------------------------------------------------- Before TR
IMPP --|
| ******************************* TOP OF DATA ******************************
* |
| --------------------------------------------------------------------------
- |
| : JOB: ASJTDC1
: |
| : XPEDITER/IMS RELEASE 5.02.B4 CUSTOMER # STEP: IKJUSER
: |
| : TAPE CREATE DATE 91288 DATE: 07/26/92
: |
| : COMPUWARE CORPORATION TIME: 09.53.12
: |
| :
: |
| --------------------------------------------------------------------------
- |
|
|
| XPED MSG SPF
|
| *** IMS TRANSACTION CODE TRIMPP LTERM NAME D82SJK02 MEMBER TRIMPP **
* |
| INTERCEPT TRIMPP
|
| PARM 'MSG,035000000000,N00000000,,,,,2,1,R13P'
|
| LINK 07/19/9
2 |
| XPD0523 RA151 NO SIR DATASET MEMBER FOR TRIMPP
|
| ***************************** BOTTOM OF DATA *****************************
* |
|
|
Figure 9-4. TSO Terminal Displaying Log
To begin execution from the log screen, you must establish your
breakpoints before entering GO. One of the following methods can be used:

1. Enter BEFORE module-name.


2. Enter SOURCE module-name and set breakpoints.
3. Enter INCLUDE with the name of a test script that contains
breakpoints.
To begin execution from the source screen, enter the GO command. From
this point, all interactive XPEDITER/TSO commands are valid except USE and
RETEST. At any point during execution if the application program is
waiting for input, or you want to see the output, go to the IMS terminal
to do it.
At the "TEST COMPLETED" message, you can enter GO to retest this
transaction or test another one, or enter EXIT to return to the MPP
screen. At the end of the debugging session, the log is available for
viewing. You can also save a script of the commands entered, for future
use.
9.4.2 Debugging a BMP/IFP Program
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

After selecting option 9 from the Environments Menu to debug a BMP or


Fast Path program, you receive the BMP/IFP screen (Figure 9-5). The same
commands are available (except DOWN) from the command line, or you can
select a program to be debugged along with the various parameters that
determine how it is run.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT -------- XPEDITER/TSO - BMP/IFP (2.9) -------------------
----- |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Menu)
|
| INter (Display Intercepts)
|
|
|
| TEST SELECTION CRITERIA:
|
|
|
| Program ===> TRIFP
|
| PSB ===> TRIFP
|
| TRAN CODE ===>
|
|
|
| Initial Script ===>
|
| Post Script ===>
|
|
|
|
|
| NBA ===> 10 (Normal Buffer Allocation)
|
| OBA ===> 10 (Overflow Buffer Allocation)
|
|
|
| File Allocation List ===>
|
|
|
| Is This a DB2 Test? ===> NO System ===>
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 9-5. BMP/IFP Screen
If your site does not use OS/VS files for input or output or GSAM
databases, do not make an entry in the File Allocation List field. If
your site does not use Fast Path databases, the options NBA and OBA do not
appear on the screen.
When all values have been entered and you press <ENTER>, the screen
clears. If the intercepts have been set, the following messages appear on
the screen:
THE IMS INTERCEPTS ARE BEING SET
INTERCEPTS SET - STARTING THE IMS REGION
The terminal is then locked until the screen changes. If an error is
encountered, you are returned to the Test screen. A message indicating an
error is displayed on the message line. You can access the log for more
information.
When the intercepts have been set, go to the IMS terminal to begin the
transaction you want to debug by entering the transaction code that
invokes your program. Note that you should invoke the program in the
usual way (without XPEDITER/IMS); e.g., going through a signon screen or
other transaction if necessary. Once the format screen appears, you can
enter any data needed by the transaction. IMS schedules the transaction
for execution, then locks the IMS terminal if it is in response mode.
Note: If you are debugging a non-Wait-For-Input message-driven BMP, the
transaction for the program must be entered before the first GU to the
message queue is executed.
Return to the TSO terminal where the source or the log is displayed.
From this point, directions are the same for BMP and Fast Path programs as
they are for MPP programs.
1. If there is a SIR dataset, the source is displayed, otherwise the log
is displayed. To begin execution from the source screen, enter the GO
command. To begin execution from the log screen, you must establish
your breakpoints before entering GO. Choose one of the following.

* Enter BEFORE module-name.


* Enter SOURCE module-name and set breakpoints.
* Enter INCLUDE with the name of a test script that contains
breakpoints.

2. All XPEDITER/TSO commands are valid except USE and RETEST.


3. To enter or review data at any point in execution, go to the IMS
terminal.
If OS/VS files are involved in input or output, you can see the data at
the terminal (if it was allocated to the terminal), or browse the output
(if it was allocated to a dataset).
To end a BMP debugging session, type EXIT.
For ending an IFP debugging session, the directions are different. You
can type EXIT if you have a breakpoint. If you do not have a breakpoint,
press the attention key to end the session. Then, when prompted, type
EXIT. Note that XPEDITER/IMS records the attention break in the log with
message XPD1202.
When the debugging session is terminated, you are returned to the BMP/IFP
screen. At this point, log and script datasets are available. You can
press <ENTER> to go into the same debugging session again, or END to go
back to the Environments Menu.
9.5 Abends and Recovery Processing
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

If an abend situation occurs, XPEDITER/IMS provides the following


benefits:

* If the application program abends, XPEDITER/IMS intercepts the abend


and displays a message indicating that information about the abend can
be viewed by accessing the Abend-AID Snapshot report (if Abend-AID
release 6.1.4 is installed) or the log.
* You can generate a memory dump in the same manner as
XPEDITER/TSO--allocate DD SYSUDUMP and include the command SET DUMP in
the initial script.
* If the IMS dependent region comes down for some reason, XPEDITER/IMS
intercepts the abend.

Note: When debugging a message-driven transaction if you exit the


session before the first GU to the message queue, IMS generates a U468
abend. If the transaction is in response mode, the terminal node must be
restarted by the appropriate operator.
If you require a dump from an XPEDITER/IMS debugging session, you must
allocate the following DDNAME to bypass the XPEDITER abend interception:
XPIMSDMP. Since this is a TSO allocation, it can be entered from the
command line as follows:
TSO ALLOC FI(XPIMSDMP) DUMMY
It can also be allocated from within XPEDITER/IMS by issuing the ALLOC
command and using the File Allocation Utility.
10.0 Chapter 10. Debugging Programs With Special Conditions
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

10.1 SP, XA, and ESA Support


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

XPEDITER/TSO runs as an ISPF dialog in the TSO region under the MVS/370
(SP), MVS/XA, or MVS/ESA operating system. XPEDITER/TSO modules reside
above the 16 MB line, except for the I/O modules. You can execute any
programs that are AMODE(31), RMODE(ANY) with XPEDITER/TSO.
10.2 Code Generator Support
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Any code generators that produce COBOL source code, such as Sage APS and
Pansophic Telon, can be compiled with SIR, and debugged with XPEDITER/TSO
at the generated COBOL level. Code generators that produce object modules
are executed with XPEDITER/TSO, however, you may not be able to do any
symbolic debugging, such as setting breakpoints and displaying variable
contents.
10.3 Optimized Code Support
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COBOL programs that are optimized using the CA-OPTIMIZER or the OPTIMIZE
compiler option can be debugged symbolically under XPEDITER/TSO without
altering the load module. Depending on the optimizing algorithm applied
to the code, however, execution trace and code step throughs under
XPEDITER/TSO can appear to be incorrect. For instance, PERFORM of an
out-of-line paragraph, switches within an EVALUATE statement, or complex
COMPUTE statements can produce a misleading execution trace. The logic
optimization also impacts the data flow in the program. Data values
cannot be updated correctly as you step through each MOVE statement.
Also, no GOTOs will be allowed to a procedure name or statement number
that was streamlined by the optimizer.
The side effects of optimization can be verified by comparing the test
results against unoptimized code, or by analyzing the PMAP/LIST
information generated at compile time. When processing the SIR member
with the VS COBOL II compiler, the LIST option is required with the OPT
option, although the OFFSET option is accepted with the NOOPT option. The
CA-OPTIMIZER II is not supported by the SIR processor.
10.4 VS COBOL II Release 3.1 and 3.0 (COBOL 85) Support
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COBOL programs compiled with VS COBOL II Release 3.1 (3.0) can be


processed by SIR without the CMPR2 option, and can be debugged with
XPEDITER/TSO. The ANSI 85 features such as mixed lower- and uppercase,
use of external data and files, reference modifications, in-line performs,
and scope terminators are supported. However, nested programs and
omission of the PROCEDURE DIVISION are not supported by the SIR processor.
Also, OS/VS COBOL and VS COBOL II Release 2.0 compiled programs executed
with the VS COBOL II Release 3.1 (3.0) run-time library can be debugged
under XPEDITER/TSO. Programs using MIXRES and IGZBRIDGE options are also
supported.
COBOL II compile options WORD and EXIT (suboptions INEXIT, LIBEXIT, and
PRTEXIT) are not supported.
10.5 Mixed Language Support
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

You can debug mixed COBOL and assembly language applications under the
same debugging session, provided you are licensed for the assembly
language version so that the SIR records can be created for the assembly
program. XPEDITER/TSO automatically enables the appropriate language
commands and run-time environment for the qualified program. The source
is displayed if you created the SIR member for the program; the language
dependencies are transparent to the user. Otherwise, the assembly module
is treated as an executable module without SIR. You are not allowed to
perform any symbolic debugging tasks; however, you can execute through the
module.
10.6 Subroutine Testing Support
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

You can debug COBOL subroutines in the unit testing mode or in the
integration testing mode. When debugging a COBOL subroutine standalone,
specify the subroutine name on the test screen. If the subroutine name
differs from the load module name, also specify the load module name.
When the source is displayed, you must initialize the Linkage Section by
moving in parameters, as if the call had just been made by the driver
program. You can facilitate this process and create the SIR member only
for the subroutine that you are debugging. Specify the driver program
name on the test screen even though there is no SIR member available for
the driver.
When the debugging session starts, the log file is displayed, however,
the execution status indicates that the program is at the beginning of the
driver. Enter a BEFORE module breakpoint on the subroutine, then resume
execution. XPEDITER/TSO executes the driver, the driver calls the
subroutine, and the source is displayed as soon as the breakpoint is
encountered.
10.7 Database Support
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
There are three types of databases that XPEDITER/TSO supports. The first
category is third-party software in general, the second is IMS/DB, and the
last is DB2.

10.7.1 IDMS/DB, ADABAS, and SUPRA


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

You can debug batch programs that issue calls to IDMS/DB, ADABAS, and
SUPRA (TIS/TOTAL) under the STANDARD environment (option 1). The
databases are treated as if the programs are issuing I/O operations to the
VSAM files. You must preallocate the databases using the File Allocation
Utility. There are no special parameters that you must set in order to
debug ADABAS and SUPRA programs, however, you must SET STATIC OFF to
access IDMS database programs.
10.7.2 IMS/DB
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Batch programs that make database calls using CALL to 'CBLTDLI' are
debugged in the IMS/DB environment (option 3). Make sure that the
IMS-related libraries, such as RESLIB, PSB, and DBD, and the parameter
information are correctly defined in the SETUP Options screens as well as
on the test IMS screen.
During the debugging session, you can dynamically issue DLI function
calls on behalf of your program and access the IMS databases through the
use of the DLI command.
IOPCB and return codes can be kept in the Keep window to monitor the DLI
calls that are issued.
The last function code and its return code can be retrieved to monitor
the DLI activities through the use of the SHOW IMSFUNC command.
10.7.3 DBT HSSR
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

DBT HSSR is the abbreviation for the IBM IMS/VS Data Base Tool High Speed
Sequential Retrieval utility. XPEDITER can be used to test both DBT HSSR
application programs and user exits.
These programs are debugged using the IMS/DB environment option (option 3
on the XPEDITER/TSO Environments Menu). To support HSSR, you must add one
or more PARMs on the XPEDITER/TSO IMS Parameter Lists screen. For
example:
TYPE PARM LIST
HSD DFSRRC00/DLI,MODULE,PSB,...
HSB DFSRRC00/DBB,MODULE,PSB,...
HSU DFSRRC00/ULU,MODULE,DBD,...
The PARM must follow HSSR standards. To get the proper PARM values, refer
to the working batch JCL or to the IBM IMS/VS DBT HSSR User's Guide.
Begin the PARM with the name of the control program, normally DFSRRC00,
followed by a slash (/), followed by the environment type.
The subparameters following the first and second commas, that is MODULE
and either PSB or DBD, are dummy values which are replaced at execution
time by values from the IMS test screen.
On the IMS test screen, specify the program type that matches the HSSR
PARM you want; i.e., HSD, HSB, or HSU.
In the PROGRAM field on the IMS test screen, specify the highest level
HSSR application program. This is the program name that is normally
specified as the MBR keyword in the JCL PARM. For testing HSSR user
exits, the name would be either FABHFSU or FABHURG1.
XPEDITER uses the value in the PSB field internally to replace the data
string between the second and third commas. This can be either a PSB or a
DBD depending on the HSSR function to be performed.
Since the XPEDITER/TSO IMS Setup Menu has screens only for IMS related
datasets, allocate the HSSR datasets in your file allocation list.
When you press the <ENTER> key from the XPEDITER/TSO IMS test screen, the
presence of the slash (/) in the specified PARM causes XPEDITER to
automatically invoke the HSSR driver program FABHX034. BEFORE and AFTER
module breakpoints are set automatically on the program specified on the
test screen. If no SIR member exists for this program, the XPEDITER log
is displayed. From the log you can set additional breakpoints and then
enter the GO command.
10.7.4 DB2
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Batch programs that make EXEC SQL calls without IMS/DB are debugged in
the STANDARD environment (option 1). The DSNLOAD libraries and the
associated DB2 subsystem name need to be identified on the SETUP screen.
Enter YES in the "Is this a DB2 Test?" field. In this case, XPEDITER/TSO
issues a DSN RUN command to establish the DB2 environment. The plan name
and the system name also need to be filled out correctly to successfully
execute the DSN RUN.
When the source is displayed, you will notice that XPEDITER/TSO defaults
to suppressing the DB2-translated statements, except for the
initialization statements. The EXEC SQL statements can be optionally
expanded to be debugged at the generated COBOL statement level instead of
at the EXEC SQL level (GEN command). Also, if you are licensed for
XPEDITER for DB2 Extension and File-AID for DB2, you can insert EXEC SQL
statements to prototype DB2 calls in addition to browsing and editing DB2
tables while in XPEDITER/TSO.
ISPF dialog applications that have programs that make EXEC SQL calls are
debugged in the DIALOG environment (option 2).
Batch programs that make DB2 calls as well as IMS/DB calls must be
debugged in the IMS/DB environment (option 3).
IMS/DC programs that make DB2 calls are debugged with BTS in the BTS
environment (option 4) or by using XPEDITER/IMS options 8 and 9. In an
IMS/DC test session with DB2, split screen cannot be used with any product
that causes another attach to DB2. This is an IMS restriction.
10.8 Shared DL/I Database (DFHDRP) Support
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Programs that access DL/I databases shared between the CICS region and
TSO can be debugged through XPEDITER/TSO by executing a CLIST through TSO
or by executing a CLIST as a USEREXIT.
The XPEDITER/TSO support for DFHDRP is provided for users who have already
installed DFHDRP (Shared DL/I Database) at their sites. See the
CICS/OS/VS Installation and Operations Guide, order number SC33-0071,
"Running a Batch Region for DL/I Shared Databases," for details of this
IBM feature.
There are two methods of installing XPEDITER/TSO DFHDRP support:
1. USEREXIT CLIST Invoked from within XPEDITER/TSO and is
panel driven.
2. CLIST to execute DFHDRP Invoked through TSO. Requires modification
for each program to be tested under
XPEDITER/TSO.
To install this support, refer to "Appendix D. Shared DL/I Database
(DFHDRP) Support" in the XPEDITER/TSO and XPEDITER/IMS Installation Guide.
After the CLIST is executed, the program source appears. At this point,
normal XPEDITER/TSO commands are in effect.
Note: The RETEST command does not work in this environment since the
program is treated as an IMS/VS batch program by XPEDITER/TSO.
10.9 SORT EXIT Support
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

SORT EXITs for DFSORT and SYNCSORT can be debugged with XPEDITER/TSO
provided you follow the steps described below:
1. Enter XPDSORT as the program name on the test screen in lieu of your
SORT EXIT program name. XPDSORT is a dummy program supplied by
XPEDITER/TSO to create a link to SORT. You must specify the name of
the load library and SIR that contains XPDSORT on the LOAD MODULE
LIBRARIES and SIR LIBRARIES screens. These screens can be accessed
from the TEST SETUP MENU selected from the Standard test environment
screen.
2. Enter the following, plus any parameters required by your specific
SORT, in the PARM string field of the test screen:
NOSTAE,NOSTIMER,VSIO=NONE
3. Create an initial test script member that contains the following
commands:
* SET DYNAMIC eeeeeeee
where eeeeeeee is the name of your SORT EXIT.
Notes:
a. Ensure the specified SORT EXIT exists in the user load library
under SETUP.
b. You must also have a SORT control statement such as "MODS
Enn=(eeeeeeee,10,,C)" in your SYSIN or SORTPARM dataset. This
SORT control statement must point to XTASKLIB.
* SET DYNAMIC xxxxxxxx
where xxxxxxxx is the name of any dynamically called load module
to be debugged.
Note: Ensure the specified load module exists in the user load
library under SETUP.
* BEFORE xxxxxxxx.
where xxxxxxxx is the name of any module, to be debugged, compiled
by JCL calling XPEDITER/TSO.
Note: Remember to place a period (.) at the end to specify that
this is a compiled module.
* AFTER xxxxxxxx.
where xxxxxxxx is the name of any module, to be debugged, compiled
by JCL calling XPEDITER/TSO.
Note: Remember to place a period (.) at the end to specify that
this is a compiled module.
* SET EXCLUDE zzzzzzzz
where zzzzzzzz is the name of any assembly module that does VCON
modifications.
Note: If the SORT EXIT being tested has a load module name different
than the CSECT name, use the INTERCEPT command instead of the SET
DYNAMIC, BEFORE, and AFTER commands. For example, use the following
format:
INTercept sort-exit LOAdm load-mod-name
4. Make sure that the file specified on the test screen contains all your
SORT work files, SORTPARM dataset, and SORT control statements, in
addition to the files your application programs are expecting.
Note: If a testing and debugging session must be terminated prematurely
while SORT is active, try not to use the EXIT command (it can cause a S0C4
abend), but use the following primary commands instead:
MOVE 16 TO SORT-RETURN
GO 1
GOTO <RELEASE statement number> or GOTO <RETURN statement number>
depending on whether the SORT is active in the INPUT procedure or
the OUTPUT procedure
GO 1 (Enter GO 1 until you are out of the INPUT or OUTPUT procedure
depending on where the SORT is active. You should be at the
statement after the SORT.)
GOBACK
CAUTION: Repetitive premature EXITs from SORT can diminish the region
size.
10.10 PANEXEC Support
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

PANEXEC programs can be debugged using XPEDITER/TSO. The installer must


enter YES in the 'PANEXEC Load Module Support Installed' field on the
Installation Options screen. This allows the PANEXEC Load Libraries
screen to appear during installation.
On the PANEXEC Load Libraries screen, the dataset name allocated to DDNAME
PANESRL must be entered in the 'PANEXEC Load Library DSNAMES' field and
the DDNAME associated with your PANEXEC control cards must be entered in
the 'PANEXEC Control Card File DSNAMES' field.
10.11 COBOL/370 Support
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

XPEDITER/TSO supports COBOL/370 and LE/370 in the toleration mode. Users


will be restricted from debugging programs that utilize any of the new
COBOL/370 and LE/370 features.
1. SIR Processing with COBOL/370 - The SIR processor supports the use of
the COBOL/370 compiler for the purpose of recompiling existing
programs. The following restriction applies:
a. The COBOL program input to the compiler must not use the new
COBOL/370 features, such as the LE/370 support constructs.
2. Debugging under LE/370 - XPEDITER/TSO supports the existing debugging
functions under the following two conditions: (1) the existing
application load modules were executed under CEE and (2) the existing
application programs were recompiled with the COBOL/370 compiler,
relinked with LE/370, and executed under CEE.
The following restrictions apply:
a. The user must not exploit the LE/370 run-time options, such as
TRAP ON. If TRAP ON (default) was requested, XPEDITER/TSO
automatically turns TRAP OFF.
b. The COBOL programs, or any other programs running under the
control of XPEDITER/TSO, must not use the LE/370 features such as
the call services; (e.g., CEESGL (signal condition), ILC
(inter-language call) conventions, and multitasking).
11.0 Chapter 11. Debugging in Batch Mode
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
This chapter explains how to debug your program with XPEDITER/TSO in
unattended and interactive batch mode. Unattended batch mode can be
effective in debugging a job stream that has multiple job steps, programs
that require a large region size or tape input, or simply running a
regression test using a predefined test script. XPEDITER/TSO processes a
command stream and outputs the results to the log file.
Interactive batch mode (batch connect) lets you connect to a batch
submitted job, see the source, and manipulate data as it executes
interactively in its native environment. No File Allocation Utility is
required and you can even use your production JCL for IMS/DB, BTS, DB2,
and DFHDRP programs.

11.1 Setting Up the Batch XPEDITER/TSO JCL


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

To test your Standard XPEDITER/TSO program with unattended or interactive


batch, follow the steps listed below:
1. Retrieve your standard TSO program execution JCL.
2. Follow the instructions in member BATCHTSO from the SAMPLIB or SORCMAC
dataset and make the appropriate changes.
3. If you are using a PROC, change the XPIN DDNAME to "//XPIN DD DUMMY".
4. When you execute the PROC, insert the //stepname.XPIN DD * statement
in the override JCL.
5. Submit the job. If you are running unattended batch, your test
results will be saved in the XPOUT file. If you are using interactive
batch, you must connect to your job to complete your testing.
Figure 11-1 and Figure 11-2 show "before" and "after" examples of
modifying JCL statements for a simple job.
|---------------------------------------------------------------------------
---|
|
|
| //MYJOB JOB (ACCOUNTING),
|
| //* NOTIFY=TSOUSER, <=== TSO USERS SHOULD MODIFY
|
| // CLASS=A,MSGCLASS=A, <=== CHANGE TO YOUR SITE'S
|
| // MSGLEVEL=(1,1),TIME=(,10) STANDARD VALUES
|
| //*
|
| //* RUN TRIMAIN IN BATCH WITHOUT XPEDITER/TSO
|
| //*
|
| //MYTEST EXEC PGM=TRIMAIN
|
| //STEPLIB DD DSN=USER.LOADLIB,DISP=SHR <=== MODIFY
|
| //* TO YOUR USERLIB
|
| //* ALLOCATE ALL INPUT AND OUTPUT DDNAMES
|
| //*
|
| //INFILE DD DSN=HLVLNODE.XPEDITER.SAMPLIB(TRIDATA), <=== MODIFY
|
| // DISP=SHR TO YOUR SAMPLIB
|
| //OUTFILE DD SYSOUT=(*)
|
| //
|
|
|
|---------------------------------------------------------------------------
---|
Figure 11-1. "Before" - JCL to Run a Program Without XPEDITER/TSO
|---------------------------------------------------------------------------
---|
|
|
| //MYJOB JOB (ACCOUNTING),
|
| //* NOTIFY=TSOUSER, <=== TSO USERS SHOULD MODIFY
|
| // CLASS=A,MSGCLASS=A, <=== CHANGE TO YOUR SITE'S
|
| // MSGLEVEL=(1,1),TIME=(,10) STANDARD VALUES
|
| //*
|
| //* RUN TRIMAIN IN BATCH WITH XPEDITER/TSO RELEASE 5.3
|
| //*
|
| // EXEC PGM=IEFBR14
|
| //XPOUT DD DISP=(NEW,PASS),DSN=&&XPLOG, <=== NOT NECESSARY FOR
|
| // UNIT=SYSDA,SPACE=(TRK,(2,2)) UNATTENDED BATCH
|
| //*
|
| //MYTEST EXEC PGM=XPTSO /* EXECUTE XPEDITER/TSO
|
| //XDYNAMIC DD DISP=(NEW,DELETE),UNIT=SYSDA, /* WORK DATA SET
|
| // DCB=(RECFM=U,BLKSIZE=32760,DSORG=PO),
|
| // SPACE=(CYL,(5,0,10))
|
| //*
|
| //STEPLIB DD DISP=(OLD,DELETE),DSN=*.XDYNAMIC,VOL=REF=*.XDYNAMIC
|
| // DD DSN=HLVLNODE.XPEDITER.LOADLIB,DISP=SHR /* XP LOAD LIB
|
| // DD DSN=USER.LOADLIB,DISP=SHR <=== MODIFY TO
|
| //* YOUR USERLIB
|
| //* ALLOCATE ALL INPUT AND OUTPUT DDNAMES
|
| //*
|
| //INFILE DD DSN=HLVLNODE.XPEDITER.SAMPLIB(TRIDATA), <=== MODIFY TO
|
| // DISP=SHR YOUR SAMPLIB
|
| //OUTFILE DD SYSOUT=(*)
|
| //*
|
| //XCOMPILE DD DISP=SHR,DCB=BLKSIZE=23440,DSN=HLVLNODE.XPEDITER.SIR
|
| //XINCLUDE DD DISP=SHR,DSN=HLVLNODE.XPEDITER.INCLUDE /* INCLUDE LIBRARY
|
| //XPHELP DD DISP=SHR,DSN=HLVLNODE.XPEDITER.HELP <=== NOT NECESSARY
|
| //* FOR UNATTENDED BAT
CH |
| //XMSG DD DISP=SHR,DSN=HLVLNODE.XPEDITER.XMESSAGE
|
| //XOPTIONS DD DISP=SHR,DSN=HLVLNODE.XPEDITER.XOPTIONS
|
| //XPSCRIPT DD DISP=(NEW,PASS),UNIT=SYSDA, <=== NOT NECESSARY
|
| // SPACE=(TRK,(2,2)) FOR UNATTENDED BAT
CH |
| //*XPOUT DD SYSOUT=* /* SUGGESTED FOR UNATTENDE
D |
| //XPOUT DD DISP=(MOD,PASS),DSN=&&XPLOG /* SUGGESTED FOR INTERACTIV
E |
| //XPSHOW DD DISP=(NEW,DELETE),UNIT=SYSDA, <=== NOT NECESSSARY FOR
|
| // DCB=(RECFM=FB,BLKSIZE=6160,LRECL=80), UNATTENDED BATCH
|
| // SPACE=(TRK,(2,2))
|
| //XPIN DD * /* COMMANDS (INPUT)
|
| XPED TSO /* OR XPED IMS OR XPED BTS
|
| TEST YOUR PROGRAM NAME
|
| //* ADD OTHER XPEDITER/TSO COMMANDS HERE
|
| // EXEC PGM=IEBGENER,COND=EVEN <=== NOT NECESSAY FOR
|
| //SYSPRINT DD SYSOUT=* UNATTENDED BATCH
|
| //SYSIN DD DUMMY
|
| //SYSUT1 DD DISP=(OLD,PASS),DSN=&&XPLOG
|
| //SYSUT2 DD SYSOUT=*
|
|
|
|---------------------------------------------------------------------------
---|
Figure 11-2. "After" - JCL to Run a Program With XPEDITER/TSO
Specify program XPTSO on the EXEC statement and allocate the XPEDITER/TSO
product library to the STEPLIB DD. If you are using unattended batch, use
program XPBATCH instead of XPTSO.
Allocate the following additional datasets:
XCOMPILE DD SIR dataset
XDYNAMIC DD Temporary work area
XINCLUDE DD Test script file
XPHELP DD Help dataset
XMSG DD Error message file
XOPTIONS DD Enhanced FIND function parameters
XPSCRIPT DD Script dataset
XPOUT DD Log file
XPIN DD Command stream file
XPSHOW DD Used for SHOW command
11.2 Steps for Creating Batch JCL for XPEDITER/TSO Options
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

11.2.1 ISPF Support


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

There is currently no batch support for ISPF; that is, there are no
Compuware ISPF panels to interactively create JCL for submitting a batch
job. In addition, there is currently no support for batch testing of
COBOL programs with ISPF dialog management or library management services.
11.2.2 Database Support (including IMS/DB and IMS/DB with DB2 testing under TSO
)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

To test your IMS/DB program with unattended or interactive batch, use the
steps listed below:
1. Retrieve your IMS/DB program execution JCL.
2. Copy the member BATCHIMS from the SAMPLIB dataset and follow the
instructions in it.
3. If you are using a PROC, change the XPIN DDNAME to "//XPIN DD DUMMY."
4. When you are executing the PROC, insert the //stepname.XPIN DD *
statement in the override JCL.
For more information regarding the use of the //XPIN DD statement in a
PROC, see "Usage Notes" in topic 11.3.
5. Submit the job. If you are running unattended batch, your test
results will be saved in the XPOUT file. If you are using interactive
batch, you must connect to your job to complete your testing.
11.2.3 BTS Support
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
To test your BTS program with unattended or interactive batch, use the
steps listed below:
1. Retrieve your BTS program execution JCL.
2. Copy the member BATCHBTS from the SAMPLIB dataset and follow the
instructions in it.
3. If you are using a PROC, change the XPIN DDNAME to "//XPIN DD DUMMY."
4. When you are executing the PROC, insert the //stepname.XPIN DD *
statement in the override JCL.
For more information regarding the use of the //XPIN DD statement in a
PROC, see "Usage Notes" in topic 11.3.
5. Submit the job. If you are running unattended batch, your test
results will be saved in the XPOUT file. If you are using interactive
batch, you must connect to your job to complete your testing.
11.2.4 DB2 Support
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

To test your DB2 program with unattended or interactive batch, use the
steps listed below:
1. Retrieve your DB2 program execution JCL.
2. Copy the member BATCHDB2 from the SAMPLIB dataset and follow the
instructions in it.
3. If you are using a PROC, change the XPIN DDNAME to "//XPIN DD DUMMY."
4. When you are executing the PROC, insert the //stepname.XPIN DD *
statement in the override JCL.
For more information regarding the use of the //XPIN DD statement in a
PROC, see "Usage Notes" in topic 11.3.
5. Submit the job. If you are running unattended batch, your test
results will be saved in the XPOUT file. If you are using interactive
batch, you must connect to your job to complete your testing.
11.2.5 DFHDRP Support
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

To test your DFHDRP program with unattended or interactive batch, use the
steps listed below:
1. Retrieve your DFHDRP program execution JCL.
2. Copy the member BATCHDRP from the SAMPLIB dataset and follow the
instructions in it.
3. If you are using a PROC, change the XPIN DDNAME to "//XPIN DD DUMMY."
4. When you are executing the PROC, insert the //stepname.XPIN DD *
statement in the override JCL.
For more information regarding the use of the //XPIN DD statement in a
PROC, see "Usage Notes" in topic 11.3.
5. Submit the job. If you are running unattended batch, your test
results will be saved in the XPOUT file. If you are using interactive
batch, you must connect to your job to complete your testing.
11.3 Usage Notes
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

1. If you direct the output of XPOUT DDNAME to a dataset rather than to


SYSOUT, you should specify the disposition as MOD not NEW or SHR. The
DCB attributes are:
DCB=(RECFM=VB,LRECL=137,BLKSIZE=6854)
2. If you are using a job that checks condition codes or abends for
recovery or follow-up steps, be aware that XPEDITER/TSO usually
produces a condition code of zero regardless of how the application
program or XPEDITER/TSO actually ends.
3. You will discover, while testing interactively, that certain I/O
problems can be intercepted by XPEDITER/TSO when the COBOL subroutine
library is included. For unattended batch, however, no I/O intercepts
are performed; therefore, you need not include a COBOL subroutine
library in the STEPLIB unless it is required without XPEDITER/TSO.
4. If you create XPEDITER/TSO batch PROCs using the BATCHTSO member,
remember that JCL rules for PROCs prohibit the use of DD * inline data
streams. For that reason, each reference to XPIN should be coded:
//XPIN DD DUMMY
or
//XPIN DD DDNAME=SYSIN
or omitted entirely.
Then in the actual JCL that invokes your new PROC, you must override
the XPIN DDNAME with your inline XPED and TEST (or INTERCEPT for BTS)
commands.
5. No additional tasks are required to implement batch testing of
programs compiled with CA-OPTIMIZER. However, it is important to note
that XPEDITER/TSO dynamically turns off DTECT, PFLOW, and XCOUNT if
specified. Therefore, a batch job run with both XPEDITER/TSO and
CA-OPTIMIZER receives only XPEDITER/TSO debugging output.
11.4 Command Stream
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Batch mode XPEDITER/TSO reads in a command stream from the XPIN DD,
performs the debugging functions, and writes the results to the XPOUT DD.
A command stream is a predefined set of XPEDITER/TSO commands stored in a
PDS member or a sequential file, or edited as instream data.
The first step in editing a command stream is to specify the environment
in which the program is to be debugged. Enter the XPED command along with
the type of environment (TSO corresponds to the interactive STANDARD
environment).
The next step is to specify the name of the program to be debugged.
Enter the TEST command along with the program name if the execution
environment was specified as BATCH or IMS. Enter the INTERCEPT command
along with the program name if the execution environment was specified as
BTS.
Example 1:
XPED TSO
TEST TRIMAIN
Example 2:
XPED IMS
TEST TRIIMSM
Example 3:
XPED BTS
INTERCEPT TRIMPP
The third step is to list all the debugging tasks to be performed during
the batch debugging session. Under the BATCH or IMS environment, you can
enter other XPEDITER/TSO commands following the TEST command; however, you
can also alternatively execute a test script stored in a separate file.
All XPEDITER/TSO commands must be entered in uppercase when editing a
command stream. At least one space is required to delimit the keyword
from its value. Commands can be entered on one line or on consecutive
lines.
If you are running interactive batch via batch connect, additional
XPEDITER/TSO commands can be entered, once you connect to the batch job
and the source is displayed.
11.5 Using XPEDITER/TSO Commands for Unattended Batch Mode Debugging
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Since all of the commands entered in batch mode are executed before the
first statement in the program is encountered, careful planning of the
debugging procedure is critical.
Here are some considerations:

* AFTER, BEFORE, and TRACE give approximately the same information. All
three update the Keep window.
When an AFTER command is issued, the log entry for the command
identifies the statements before and after the place where execution
is paused. Therefore, use of the AFTER command is a good means of
tracking the flow of execution. It is especially useful following a
conditional statement when you are uncertain of the execution path.
If you are monitoring all statements, the use of the BEFORE or TRACE
command is probably best because AFTER gives the most output.
If you are monitoring just a few statements, the AFTER command is
best.
* To track a value change in a variable, use of the WHEN command is
better than using the TRACE command, which produces a large amount of
output in the log file.
* PEEK is an "immediate" command, which means the display to the log
occurs as soon as the PEEK command is encountered. PEEK is most
useful if you want to see a field at the very beginning or at the very
end of a program, and you only want to see the value once. It can
also be useful within inserted code. You could insert a display after
the statement you want executed. The PEEK command would be executed
each time the statement was executed.
* In general, KEEP is used more often than PEEK because a KEEP causes
the value of a data item to be displayed repeatedly. KEEP displays a
value only at the location of a breakpoint and only when a value has
changed. Therefore the best way to watch data change within a program
is to set breakpoints (AFTER, BEFORE, or TRACE) on key statements or
sections, and KEEP all the data items you want to monitor.
Caution: In post and abend scripts, Peek should be used instead of
KEEP.
* The COUNT command can be used to monitor statement execution in a
batch program that processes large amounts of data. To see the
results of the COUNT command, issue the SHOW COUNTS command at the end
of the debugging session.
* Store all your command streams as members of your INCLUDE library.
This way you are able to keep track of all data streams you have used.
It also saves you time by not having to reenter all the commands for
each debugging session.
* One of the problems with batch debugging is that normally all commands
need to be executed at the beginning of the debugging session. This
can create more output than the user needs. An INSERT command allows
XPEDITER/TSO commands to have "delayed" execution. The XPEDITER/TSO
commands within an INSERT are not executed until the inserted code is
executed; in other words, when the previous statement is executed.
INSERT can be a very powerful command in a batch debugging session.

11.5.1 Valid XPEDITER/TSO Commands


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The following XPEDITER/TSO commands can be used in COBOL unattended batch


mode:
AFTER GOTO PAUSE TRACE
BEFORE IF PEEK USE
COUNT INSERT SHOW WHEN
DELETE INTERCEPT SKIP XPED
EXIT KEEP SOURCE
GO MOVE TEST
Notes:
1. The GOTO, IF, and PAUSE commands are allowed only within an insert.
2. Some SET commands are allowed.
3. The INCLUDE command works if it is used with another valid command.
4. To view data, use the PEEK command instead of the KEEP command in post
and abend scripts.
11.5.2 Invalid XPEDITER/TSO Commands
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The following XPEDITER/TSO commands cannot be used in COBOL unattended


batch mode:
ACCEPT FADB2 EXPLAIN INSERT SQL RETEST
ALLOC FADB2 LEFT REVERSE
AT FIND LOAD RIGHT
BOTTOM GEN LOCATE TOP
BROWSE GO n LOG TSO
DLI GO n PARA MEMORY UP
DOWN GO n STATE MONITOR
END GPREGS NOLINES
EXCLUDE HELP RESUME
11.5.3 Interactive Batch Connect Commands
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

All XPEDITER/TSO commands can be used when debugging a COBOL program in


interactive batch connect mode except the following:
ALLOC
FADB2
SET PFnn
SHOW PFkeys (when connected through a TSO terminal)
TSO
11.5.4 Using Test Scripts
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

In batch mode, XPEDITER/TSO test scripts can be used to issue a set of


commands before the debugging session, during the session, at the end of
the session, and when an abend occurs.
Test scripts must be members of the PDS allocated in the XINCLUDE DD.
An initial test script can be used to set up the debugging session. An
include test script can be used to execute specific commands when an event
or condition occurs during a debugging session. A post script can be
executed at the end of a debugging session. Additionally, an abend script
can be executed following the occurrence of an abend. Test scripts can be
nested to any depth (nested INCLUDEs).
See the INCLUDE command in the XPEDITER/TSO Reference Manual (COBOL
version) for complete information.
11.5.5 Intercepting Abends
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The SET ABENDSCR command can be used to specify a set of commands to be


executed when an abend occurs during batch debugging.
Any number of XPEDITER/TSO commands can be entered within a command
stream. The abend-script specified in the SET ABENDSCR command prior to
the occurrence of the abend is executed following the abend. This allows
you to specify unique abend scripts containing special commands to be
executed at different points in your code should an abend occur.
The abend scripts specified must be members of the PDS allocated to the
XINCLUDE DD. In the following SET ABENDSCR command,
SET ABENDSCR TRIMABN1
TRIMABN1 is a member of a partitioned dataset allocated to the XINCLUDE
DD.
The following information is written to the log when an abend occurs:
* Normal abend output received in an interactive debugging session.
* Source line where the abend occurred.
* A display for each field referenced in the source line where the abend
occurred.
11.5.6 Specifying Multiple Debugging Sessions Within the Same Job Stream
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Although you cannot change environments during a debugging session, it is


expected that you will debug various programs, thus TEST or INTERCEPT can
be used as many times as necessary.
Multiple programs within the same environment can be debugged in one batch
run. The TEST command is used to specify the program to be debugged in
batch mode. Any number of debugging sessions can be run within a single
job stream (except for IMS debugging sessions). All XPEDITER/TSO commands
following a TEST command are executed in relation to the program specified
by the TEST command--until another TEST or INTERCEPT command is
encountered.
For example, in the first of the two debugging sessions shown in
Figure 11-3, the command KEEP WORK-REC refers to (is qualified to)
TRIMAIN, but the command BEFORE ALL PARA refers to TRITST. The same rules
of qualification apply to the INTERCEPT command.
|---------------------------------------------------------------------------
---|
|
|
| XPED BATCH
|
| TEST TRIMAIN (This is the first debugging session)
|
| INITSCR SETCNT
|
| POSTSCR SHOWCNT
|
| AFTER ALL STATE
|
| KEEP WORK-REC
|
| KEEP TRIANGLE-TYPE
|
| INTERCEPT TRITST
|
| INITSCR DISPLINK
|
| BEFORE ALL PARA
|
| GO
|
| EXIT
|
|
|
| TEST TRITST (This is the second debugging session)
|
| LOADM TRIMAIN
|
| MOVE '990' to TST-REC
|
| MOVE 0 to TYPE-OF-TRIANGLE
|
| GO
|
| PEEK TRIANGLE-TYPE
|
| EXIT
|
|
|
|---------------------------------------------------------------------------
---|
Figure 11-3. Multiple Programs Debugged in a Single Batch Run
The INTERCEPT command is used to change module qualification. Any
commands entered following the INTERCEPT command and before another TEST,
INTERCEPT, or EXIT command are executed in relation to the program
specified on the INTERCEPT command.
For BTS debugging, only the XPED and INTERCEPT commands are allowed
within a command stream. All debugging session commands are included in a
test script associated with the program specified on the INTERCEPT
command.
12.0 Chapter 12. Using XPEDITER for DB2 Extension
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
XPEDITER/TSO DB2 capabilities are greatly extended when you have XPEDITER
for DB2 Extension and File-AID for DB2 installed at your site. This
powerful union lets you debug, prototype SQL calls, and analyze COBOL DB2
programs in XPEDITER/TSO, and at the same time dynamically access File-AID
for DB2, Compuware's interactive DB2 database management tool that lets
you create, view, change, and customize the DB2 table data associated with
the program without coding SQL. File-AID for DB2 also provides facilities
for interactive SQL development and analysis and a host of utilities.
Refer to the File-AID for DB2 Reference Manual for information about using
File-AID for DB2.
Note: XPEDITER/TSO supports debugging of any DB2 program within any
execution environment selectable under the Environments Menu. The
XPEDITER for DB2 Extension cannot be accessed from within an XPEDITER/TSO
Dialog environment.
This section describes how to:
* Access File-AID for DB2 from your XPEDITER/TSO session.
* Browse and edit DB2 table data while testing your program.
* Analyze SQL statement execution with the FADB2 EXPLAIN command.
* Prototype SQL logic by inserting SQL statements.

Note: You must bind your program application plan with File-AID for DB2
if any of the following apply:
1. The program executes statically compiled SQL statements. If the
program executes only dynamically inserted SQL statements; you can
either bind your application plan with File-AID for DB2 or use the
File-AID for DB2 default plan in place of your application plan.
2. The program executes in the IMS environment.
Refer to Appendix F, "Binding the Application Plan" in topic F.0 for
information about binding.

12.1 Accessing File-AID for DB2 From XPEDITER/TSO


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

There are two ways to access File-AID for DB2 from XPEDITER/TSO.
1. Select the FADB2 menu item on the XPEDITER/TSO Primary Menu.
2. Enter the FADB2 command on any XPEDITER/TSO source display screen.

The File-AID for DB2 Primary Option Menu shown is displayed. The menu
lists all File-AID for DB2 facilities. A sample of this menu is shown in
Figure 12-1.
Notes:
1. The SQL Development and Analysis facility is available from
XPEDITER/TSO only when File-AID for DB2 is accessed by entering "FD"
(FADB2) on the XPEDITER/TSO Primary Menu.
2. The plan name and DB2 subsystem you specified to start your
XPEDITER/TSO test session are also in effect when you invoke File-AID
for DB2 from an XPEDITER/TSO source display screen. However, a
subsystem switch is not permitted under File-AID for DB2 when it is
accessed from XPEDITER/TSO,
|---------------------------------------------------------------------------
-------|
|
|
| File-AID for DB2 - 2.01 --------- PRIMARY OPTION MENU --------------------
---- |
| OPTION ===>
|
| USERID - USERID
|
| 0 DEFAULTS and USER PARMS TIME - 21:33
|
| 1 BROWSE TERMINAL - 3278
|
| 2 EDIT PF KEYS - 24
|
| 3 UTILITIES DB2 SSID - DSN2
|
| 3.2 - CREATE, DROP, ALTER DB2 OBJECTS
|
| 3.3 - COPY Rows Between TABLES
|
| 3.4 - Object List Processing
|
| 3.5 - SQL Command Manager
|
| 3.6 - Display, Grant, Revoke or Modify DB2 Privileges
|
| 3.7 - EXTRACT, LOAD Tables
|
| 4 SQL ANALYSIS - SQL Development and Analysis
|
| R REPORTS - Browse or Print DB2 EXPLAIN Reports
|
| XP XPEDITER - Transfer to XPEDITER for DB2
|
| T TUTORIAL - Display Information about File-AID for DB2
|
|
|
| X EXIT - Exit File-AID for DB2
|
|
|
|
|
|
|
| - Copyright (c) 1989, 1991 by Compuware Corporation -- All Rights Reserved
- |
|
|
|---------------------------------------------------------------------------
-------|
Figure 12-1. Sample File-AID for DB2 Primary Option Menu

You can bypass the File-AID for DB2 Primary Option Menu by entering the
FADB2 command with the keyword or one-character number or letter that
directly accesses a specific File-AID for DB2 function. For example, to
directly access the File-AID for DB2 Browse function from XPEDITER/TSO,
enter:
FADB2 BROWSE
or
FADB2 1
The keywords and 1 character number or letter that accesses File-AID for
DB2 functions are:
PARMS/0 Lets you specify user-definable parameters, such as,
display options, default values, and function key
definitions.
BROWSE/1 Lets you view the contents of DB2 tables.
EDIT/2 Lets you change the contents of DB2 tables.
UTILITY/3 Gives you access to various File-AID for DB2 utilities
that enable you to create, populate, authorize, drop,
alter, and obtain information about DB2 objects.
REPORTS/R Lets you generate Explain reports.
TUTORIAL/T Provides online information about how to use File-AID for
DB2.
Refer to the File-AID for DB2 Reference Manual for information about
File-AID for DB2 functions and how to use them.
12.2 Exiting File-AID for DB2
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

When you finish using File-AID for DB2 functions, you can either:
1. Enter =X to return to the XPEDITER/TSO source display screen
displaying your source program.
2. Enter END, which will take you to the File-AID for DB2 Primary Option
Menu from which you can select another File-AID for DB2 function.
12.3 Browsing and Editing DB2 Table Data
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

When debugging DB2 programs, you can access File-AID for DB2 to inspect
and manipulate the DB2 table data associated with SQL statements being
executed.
For example, you can experiment with program SQL statements and then enter
the FADB2 EDIT command to access File-AID for DB2 and change the test data
associated with the statements. Figure 12-2 shows an example of pausing
execution after an EXEC SQL statement, and then entering the FADB2 BROWSE
command to access the File-AID for DB2 Browse function.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> FADB2 BROWSE SCROLL ===
> CSR |
| Next logical instruction is BIGMAIN.1358
|
| ------ -------------------------------------------------- After BIGMAIN.
1355 --|
| 001354 IDESCR.
|
| ====>> A EXEC SQL OPEN CURSE1 END-EXEC.
|
| 001358 IF SQLCODE < 0 GO TO 1400-SQL-ERROR ELSE
|
| 001359 IF SQLCODE > 0 AND SQLCODE NOT = 100
|
| 001360 OR SQLWARN0 = 'W' GO TO 1400-SQL-ERROR ELSE
|
| 001361 MOVE 1 TO SQL-INIT-FLAG.
|
| 001362 EXEC SQL OPEN CURSE2 END-EXEC.
|
| 001365 IF SQLCODE < 0 GO TO 1400-SQL-ERROR ELSE
|
| 001366 IF SQLCODE > 0 AND SQLCODE NOT = 100
|
| 001367 OR SQLWARN0 = 'W' GO TO 1400-SQL-ERROR ELSE
|
| 001368 MOVE 1 TO SQL-INIT-FLAG.
|
| 001369 EXEC SQL OPEN CURSE3 END-EXEC.
|
| 001372 IF SQLCODE < 0 GO TO 1400-SQL-ERROR ELSE
|
| 001373 IF SQLCODE > 0 AND SQLCODE NOT = 100
|
| 001374 OR SQLWARN0 = 'W' GO TO 1400-SQL-ERROR ELSE
|
| 001375 MOVE 1 TO SQL-INIT-FLAG.
|
| 001376 EXEC SQL FETCH CURSE1 INTO
|
| 001377 :CCUSTID:CCUSIND, :CITEMID:CITEMIND,
|
| 001378 :CLASTNME:CLSTNMEIND, :CFRSTNME:CFSTNMEIND,
|
| 001379 :CMIDINIT:CMIDINITIND, :CSTATUS:CSTATIND,
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 12-2. Entering the FADB2 BROWSE Command
The FADB2 BROWSE command transfers control directly to the File-AID for
DB2 Browse function and displays the Browse Options screen shown in
Figure 12-3. On this screen, you specify the information to access the
table data you want to view. Refer to the File-AID for DB2 Reference
Manual for information about using the Browse and Edit functions.
|---------------------------------------------------------------------------
-------|
|
|
| File-AID for DB2 - 2.10 ---------- BROWSE OPTIONS ------------------------
----- |
| OPTION ===>
|
|
|
| Blank - FULL TABLE/VIEW BROWSE
|
| T - Selection Template
|
| S - SQL Selection (SPUFI)
|
|
|
|
|
| Enter: (for options Blank and T)
|
| Creator ===> CWX0230 (* - for selection list)
|
| TABLE/VIEW Name ===> (* - for selection list)
|
|
|
|
|
| Optional:
|
| Database ===>
|
| Tablespace ===>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ***** ************************ BOTTOM OF DATA ****************************
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 12-3. File-AID for DB2 Browse Options Screen
The specified table data is displayed as shown in Figure 12-4.
To exit the File-AID for DB2 Browse or Edit facility, enter /end or press
the <PF3> key. You are returned to the XPEDITER/TSO debugging session.
|---------------------------------------------------------------------------
-------|
|
|
| File-AID for DB2 - 2.10 ---- BROWSE - CWX0230.TSQLSAMP -------------------
------ |
| COMMAND ===> SCROLL ===>
CSR |
|
|
| SSNR LASTNAME FIRSTNAME
|
| CHAR(11) VARCHAR(15) VARCHAR(15)
|
| <---------- <-------------- <--------------
|
| ****** **************************** TOP OF DATA ************************
* |
| 000001 111-23-5438 DOE JOHN
|
| 000002 888-53-8867 CHANBERLAIN JANE
|
| 000003 151-04-8735 LINCOLN FRED
|
| 000004 181-73-7496 KENNEDY MIKE
|
| 000005 214-58-3869 ROGERS ROBERT
|
| 000006 216-97-4975 ADAMS DONALD
|
| ****** *************************** BOTTOM OF DATA **********************
* |
|
|
Figure 12-4. File-AID for DB2 Browse Display Screen
12.4 Analyzing SQL Statement Execution with FADB2 EXPLAIN
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The FADB2 EXPLAIN command (XP line command) can be entered for any
SELECT, DELETE, INSERT, or UPDATE SQL statement in your program to display
information about the execution of the statement.
The Explain data is also stored in a DB2 table called user id.Plan_Table.
The stored Explain data can be used to generate reports using the File-AID
for DB2 Reports facility, or view the Plan_Table using the File-AID for
DB2 Browse facility.
Note: The Plan_Table must exist before you use the FADB2 EXPLAIN command.
For example, in Figure 12-5, the XP line command is entered on the EXEC
SQL INSERT statement number 1325.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------------ XPEDITER/TSO - SOURCE ---------------------
-------|
| COMMAND ===> SCROLL===
> CSR |
| PROGRAM: BIGMAIN MODULE: BIGMAIN COMP DATE: 07/29/92 COMP TIME: 14
.41.59 |
| ------ ------------------------------------------------------ Before BIG
MAIN --|
| 001313 EXEC SQL SELECT *
|
| 001314 INTO :ONEROW
|
| 001315 FROM QASQL.SQLSTOCK
|
| 001316 WHERE ITEMID = 'baby'
|
| 001317 END-EXEC.
|
| 001320 IF SQLCODE < 0 GO TO 1400-SQL-ERROR ELSE
|
| 001321 IF SQLCODE > 0 AND SQLCODE NOT = 100
|
| 001322 OR SQLWARN0 = 'W' GO TO 1400-SQL-ERROR ELSE
|
| 001323 MOVE 1 TO SQL-INIT-FLAG.
|
| XP 25 EXEC SQL INSERT INTO QASQL.LONEROW
|
| 001326 (ITEMID, MINSTOCK, REORDQTY, QTYAVAIL)
|
| 001327 VALUES
|
| 001328 (:ONEITEM, :ONEMIN, :ONEREORD, :ONEAVAIL)
|
| 001329 END-EXEC.
|
| 001332 IF SQLCODE < 0 GO TO 1400-SQL-ERROR ELSE
|
| 001333 IF SQLCODE > 0 AND SQLCODE NOT = 100
|
| 001334 OR SQLWARN0 = 'W' GO TO 1400-SQL-ERROR ELSE
|
| 001335 MOVE 1 TO SQL-INIT-FLAG.
|
| 001338 450-WRITE-HEADERS.
|
| 001339 WRITE PRINT-REC FROM PRINT-OUT-HEADER.
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 12-5. Using the FADB2 EXPLAIN Line Command
When the FADB2 EXPLAIN command is entered, File-AID for DB2 is accessed
and the Explain (TABLE FORMAT) report shown in Figure 12-6 is displayed.
|---------------------------------------------------------------------------
-------|
|
|
| File-AID for DB2 -------------- EXPLAIN (TABLE FORMAT) -------------------
------ |
| COMMAND ===> SCROLL ===>
CSR |
|
|
| Line Commands: B (Browse)
|
|
|
| QUERYNO QBLOCKNO APPLNAME PROGNAME PLANNO METHOD CREATOR TNAME
|
| ----------- -------- -------- -------- ------ ------ ------- -----------
- |
| * ***************************** TOP OF DATA ******************************
* |
| ' 1325 1 ADSQID00 0 0 QASQL LONEROW
|
| ' 1325 1 ADSQID00 0 0 QASQL LONEROW
|
| * *************************** BOTTOM OF DATA *****************************
* |
|
|
Figure 12-6. Explain Report - Table Format

The report contains a list of the statements for which Explain data is
available. When you select a statement from the list, the Explain (ROW
FORMAT) report shown in Figure 12-7 is displayed. This report provides
detailed information about the statement. Fields on the Explain report
that are highlighted indicate potential problem areas.
|---------------------------------------------------------------------------
-------|
|
|
| File-AID for DB2 -------------- EXPLAIN (ROW FORMAT) ---------------------
------ |
| COMMAND ===>
|
|
|
| 86 The Explain report (Row Format).
|
|
|
| For an explanation of a field, enter the associated index number.
|
| T1. Timestamp: 1991071214332255
|
| Q1. QueryNo : 1325 Q6. Creator : QASQL
|
| Q2. QBlockNo: 1 Q7. TName : LONEROW
|
| Q3. ProgName: ADSQID00 Q8. TabNo : 1
|
| Q4. ApplName: Q9. AccessCreator:
|
| Q5. PlanNo : 0 QA. AccessName :
|
|
|
| PERFORMANCE/CONCURRENCY: SORT ON NEW TABLE: SORT ON COMP. TABLE:
|
| P1. Method : 0 S1. SortN_Uniq : N C1. SortC_Uniq : N
|
| P2. IndexOnly : N S2. SortN_Join : N C2. SortC_Join : N
|
| P3. AccessType : S3. SortN_Orderby: N C3. SortC_Orderby : N
|
| P4. MatchCols : 0 S4. SortN_Groupby: N C4. SortC_Groupby : N
|
| P5. Mixopseq : 0
|
| P6. Prefetch :
|
| P7. Column_Fn_Eval:
|
| P8. TsLockMode : IX
|
|
|
| R1. Remarks: INSERT INTO QASQL.LONEROW (ITEMID, MINSTOCK, REORDQTY, QTY
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure 12-7. Explain Report - Row Format
You can obtain an explanation of any field on the Explain report by
entering the associated index value.
12.5 Inserting Program SQL Statements
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

You can dynamically insert and execute SQL statements from within your
XPEDITER/TSO source. SQL statements are inserted with the INSERT command.
Refer to "Modifying Program Logic" in topic 5.5 for detailed information
about the INSERT command.
The inserted statements are executed after the last logical statement as
if they are part of the source code. The capability to insert SQL
statements allows you to test fixes before you update the source code and
actually recompile the program.
Each inserted SQL statement must be prefixed by EXEC SQL and suffixed by
END-EXEC. Otherwise, XPEDITER/TSO issues a syntax error message. Any
data entered after the END-EXEC statement, on the same line, is ignored.
Error messages regarding inserted SQL statements are displayed in the same
manner as error messages regarding other inserted statements. Additional
help is available for negative SQL return codes by entering the primary
command FADB2 HELP after the error message is displayed.
SQL statements are allowed within an inserted IF construct. For example,
IF A = B
EXEC SQL
SELECT
END-EXEC
MOVE 1 TO A
EXEC SQL
SELECT
END-EXEC
END-IF.
Inserted SQL statements appear in the XPEDITER/TSO log and script in the
same manner as other inserted statements. You can keep or display host
variables in inserted SQL statements.

12.5.1 SQL Statements That Can Be Inserted in Your Program


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The following SQL statements are supported (i.e., the statements can be
inserted in your source and are valid in a debugging session):
ALTER INDEX Changes the description of an index.
ALTER STOGROUP Changes the description of a storage group.
ALTER TABLE Changes the description of a table.
ALTER TABLESPACE Changes the description of a table space.
BEGIN DECLARE Marks the beginning of a host variable
declaration section.
CLOSE Closes the cursor and deletes the temporary
application-specific result table.
COMMENT ON Replaces or adds a comment to the
description of a table, view, or column.
COMMIT Terminates a unit of recovery and commits
the DB2 table changes made by that unit of
recovery.
CREATE DATABASE Defines a database.
CREATE INDEX Creates an index on a table.
CREATE STOGROUP Defines a storage group or set of volumes,
controlled by a VSAM catalog, on which
storage can later be allocated for table
spaces and indexes.
CREATE SYNONYM Defines an alternate name for a table or
view.
CREATE TABLE Creates a table.
CREATE TABLESPACE Allocates and formats table spaces.
CREATE VIEW Defines a view of one or more tables.
DECLARE CURSOR Associates a cursor name with OPEN, FETCH,
and CLOSE statements, which declare and
retrieve data from an application specific
result table row-by-row. DECLARE CURSOR can
be inserted into the executable portion of a
program.
DECLARE STATEMENT Declares a statement for dynamic SQL.
DECLARE TABLE Declares a table. The DECLARE TABLE
declarative statement can be inserted into
the application program. It causes host
variable locations to be defined in
accordance to the columns of the declared
table. You can reference these columns in
subsequent SQL statements.
DELETE Deletes one or more rows from a table.
DESCRIBE Provides a description of the columns in a
table or view.
DROP Removes an object and its description in the
DB2 catalog.
END DECLARE Marks the ending of a host variable
declaration section.
EXECUTE Executes a prepared SQL statement.
EXECUTE IMMEDIATE Prepares and executes an SQL statement.
EXPLAIN Obtains information about how an SQL
statement will be executed. An example
showing the use of EXPLAIN is given in
"Analyzing SQL Statement Execution with
FADB2 EXPLAIN" in topic 12.4.
FETCH Positions the cursor on the next row of the
application-specific result table and
assigns the values of that row to host
variables in the application program.
GRANT Grants privileges.
INSERT Inserts rows into a table or view.
LABEL ON Adds or replaces labels in the catalog
descriptions of tables, views, columns, or
sets of columns.
LOCK TABLE Acquires a shared or exclusive lock on a
table.
OPEN Opens a cursor so that it can be used by
FETCH to fetch rows from the
application-specific result table.
PREPARE Dynamically prepares an SQL statement for
execution.
REVOKE Revokes privileges.
ROLLBACK Terminates a unit of recovery and backs out
database changes made by that unit of
recovery.
SELECT Specifies a result table and selects rows to
view.
SET Changes the value of the authorization ID.
UPDATE Updates the values of specified columns in
rows of a table or view.
Notes:
1. The syntax for all SQL statements is explained in the IBM Database 2
Reference manual.
2. Host variables can be used within inserted SQL. XPEDITER/TSO requires
that each host variable be preceded by a colon even though DB2 does
not always require it.
3. Within the BTS/DLI setup, recovery of DB2 tables and IMS databases is
uncoordinated. The SQL COMMIT and ROLLBACK commands commit and
rollback changes made to DB2 tables only; they do not affect your IMS
databases.
A.0 Appendix A. Compiler and Assembler Options
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
This appendix provides lists of all the compiler options that are required
by XPEDITER/TSO when compiling with OS/VS COBOL, CA-OPTIMIZER, VS COBOL
II, and COBOL/370, or when assembling with Assembler H and F. Additional
SIR options are also listed.

A.1 Required Compiler Options for OS/VS COBOL


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|------------|-----------------------------------------------------------|
| Required | |
| Compiler | |
| Option | Remarks |
|------------|-----------------------------------------------------------|
| BUF=256K | This is a minimum. Individual programs may require more. |
|------------|-----------------------------------------------------------|
| NOCOUnt | |
|------------|-----------------------------------------------------------|
| NOFLOw | |
|------------|-----------------------------------------------------------|
| NOPRint | The SIR processor requires the standard OS/VS COBOL |
| | output in the SYSPRINT DDNAME (only significant for TSO |
| | foreground compiles). |
|------------|-----------------------------------------------------------|
| SIZe=512K | This is a minimum. Individual programs may require more. |
|------------|-----------------------------------------------------------|
| SOUrce | |
|------------|-----------------------------------------------------------|
| NOSTAte | |
|------------|-----------------------------------------------------------|
| NOSYMdmp | |
|------------|-----------------------------------------------------------|
| NOTESt | |
|------------|-----------------------------------------------------------|
| VERb | |
|------------|-----------------------------------------------------------|
Table A-1. OS/VS COBOL Compiler Options Required by the SIR Processor
Notes:
1. If neither CLIST nor PMAP is specified by the user, the SIR processor
forces on CLIST.
2. If DMAP is not specified by the user, the SIR processor forces it on.
3. If ENDJOB is specified by the user, the SIR processor supports it, but
XPEDITER/TSO forces on NOENDJOB at execution time.
4. If NUM is specified by the user, the SIR processor forces on NONUM.
A.2 Required Compiler Options for CA-OPTIMIZER
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

|------------|-----------------------------------------------------------|
| Required | |
| Compiler | |
| Option | Remarks |
|------------|-----------------------------------------------------------|
| BUF=256K | This is a minimum. Individual programs may require more. |
|------------|-----------------------------------------------------------|
| COPT | |
|------------|-----------------------------------------------------------|
| NOCSL | |
|------------|-----------------------------------------------------------|
| NOPFLow | |
|------------|-----------------------------------------------------------|
| NOPRInt | The SIR processor requires the standard OS/VS COBOL |
| | output in the SYSPRINT DDNAME (only significant for TSO |
| | foreground compiles). |
|------------|-----------------------------------------------------------|
| SIZe=512K | This is a minimum. Individual programs may require more. |
|------------|-----------------------------------------------------------|
| SOUrce | |
|------------|-----------------------------------------------------------|
| NOTRAce | |
|------------|-----------------------------------------------------------|
| VS | The SIR processor supports either VS (for OS/VS COBOL) or |
| or | V4 (for ANS COBOL, Version 4). It does not support the |
| V4 | V2 compiler option. |
|------------|-----------------------------------------------------------|
| NOXCOunt | |
|------------|-----------------------------------------------------------|
Table A-2. CA-OPTIMIZER Compiler Options Required by the SIR Processor
Notes:
1. If DTECT is specified by the user, the SIR processor supports it, but
XPEDITER/TSO will turn on NODTECT at execution time.
2. If MDMAP is not specified by the user, the SIR processor forces it on.
3. If ENDJOB is specified by the user, the SIR processor supports it, but
XPEDITER/TSO forces on NOENDJOB at execution time.
4. If MLIST is not specified by the user, the SIR processor forces it on.
5. If NUM is specified by the user, the SIR processor forces on NONUM.
A.3 Required Compiler Options for VS COBOL II and COBOL/370
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

|------------|-----------------------------------------------------------|
| Required | |
| Compiler | |
| Option | Remarks |
|------------|-----------------------------------------------------------|
| LIST | The SIR processor accepts either LIST or OFFSET output |
| | for establishing the location of verbs in user load |
| | modules if NOOPTIMIZE is used. However, LIST must be |
| | used if OPTIMIZE is used. |
|------------|-----------------------------------------------------------|
| MAP | |
|------------|-----------------------------------------------------------|
| NOFDUmp | |
|------------|-----------------------------------------------------------|
| NONUMber | |
|------------|-----------------------------------------------------------|
| OFFset | The SIR processor accepts either LIST or OFFSET output |
| | for establishing the location of verbs in user load |
| | modules if NOOPTIMIZE is used. However, LIST must be |
| | used if OPTIMIZE is used. |
|------------|-----------------------------------------------------------|
| SOUrce | |
|------------|-----------------------------------------------------------|
| NOTESt | |
|------------|-----------------------------------------------------------|
Table A-3. VS COBOL II Compiler Options Required by the SIR Processor
Notes:
1. If you specify NOCompile, you must also code a subparameter: i.e.,
NOC(W), NOC(E), or NOC(S).
2. COBOL II options WORD and EXIT and their suboptions are not supported.
A.4 Assembler Options
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

|--------------|---------------------------------------------------------|
| Required | |
| Assembler | |
| Option | Remarks |
|--------------|---------------------------------------------------------|
| ESD | |
|--------------|---------------------------------------------------------|
| LIST | |
|--------------|---------------------------------------------------------|
| OBJECT | |
|--------------|---------------------------------------------------------|
| TEST | The SIR processor requires the assembler option TEST, |
| | but allows the link-edit option NOTEST. |
|--------------|---------------------------------------------------------|
| XREF | |
|--------------|---------------------------------------------------------|
Table A-4. Assembler Options Required by the SIR Processor
Notes:
1. If using Assembler F rather than Assembler H, you must also use the
SIR processor $FASM option. In addition, all references to SYSLGO DD
should be changed to SYSLIN DD.
2. When you assemble a program with the $FASM option, the SIR processor
flags the literals with warnings at assembly time. At run time, you
are not able to display (PEEK) or verify (VERIFY) the literals.
A.5 Additional SIR Options
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

|---------|-------------------|------------------------------------------|
| Compiler| | |
| Option | Where Available | Remarks |
|---------|-------------------|------------------------------------------|
| $ERRor | OS/VS COBOL | Write out only error messages and lines |
| | CA-OPTIMIZER | in error if compiler condition code is |
| | | greater than 4 (6 for CA-OPTIMIZER). |
| | | See note at the end of this table. |
|---------|-------------------|------------------------------------------|
| $FASm | Assembler F | Assemble a program using Assembler F. |
| | | Without this parameter, the SIR |
| | | processor defaults to Assembler H. |
|---------|-------------------|------------------------------------------|
| $LET | OS/VS COBOL | Complete compiler or assembler |
| | CA-OPTIMIZER | processing even if the SIR processor |
| | VS COBOL II | cannot create a SIR data set because of |
| | Assembler H | an error. |
| | Assembler F | |
|---------|-------------------|------------------------------------------|
| $NC | OS/VS COBOL | Store SIR records in uncompressed |
| | CA-OPTIMIZER | format. |
| | VS COBOL II | |
| | Assembler H | |
| | Assembler F | |
|---------|-------------------|------------------------------------------|
| $NDMap | OS/VS COBOL | Do not print out DMAP or MAP output even |
| | VS COBOL II | though they are required. |
|---------|-------------------|------------------------------------------|
| $NG | Assembler H | When preceded by a PRINT GEN, create SIR |
| | Assembler F | records for macros without expanded |
| | | instructions. The default creates SIR |
| | | records for all macros fully expanded |
| | | when a PRINT GEN is entered. |
|---------|-------------------|------------------------------------------|
| $NLIst | VS COBOL II | Suppress the LIST output. |
|---------|-------------------|------------------------------------------|
| $NPMap | OS/VS COBOL | Suppress the PMAP output. |
|---------|-------------------|------------------------------------------|
| $NOCics | OS/VS COBOL | Suppress the records used by CICS in the |
| | CA-OPTIMIZER | SIR. |
| | VS COBOL II | |
|---------|-------------------|------------------------------------------|
| $NOCmt | Assembler H | Suppress any comments from your source |
| | Assembler F | program in the SIR. |
|---------|-------------------|------------------------------------------|
| $NOFind | OS/VS COBOL | Disable the enhanced FIND feature for |
| | CA-OPTIMIZER | this program. |
| | VS COBOL II | |
|---------|-------------------|------------------------------------------|
| $NONav | OS/VS COBOL | Create a SIR member without |
| | CA-OPTIMIZER | PATHVU/Interactive records. |
| | VS COBOL II | |
|---------|-------------------|------------------------------------------|
| $NRED | OS/VS COBOL | Do not save unreferenced redefined data |
| | CA-OPTIMIZER | items in the the SIR data set. Items |
| | VS COBOL II | not saved in the SIR can have no PEEKs, |
| | | KEEPs, MOVEs, or other XPEDITER/TSO |
| | | operations performed on them. |
|---------|-------------------|------------------------------------------|
| $NXRef | OS/VS COBOL | Suppresses the XREF parameter, which is |
| | CA-OPTIMIZER | required by $NRED. |
| | VS COBOL II | |
|---------|-------------------|------------------------------------------|
| $PMAp | CA-OPTIMIZER | Print out the CA-OPTIMIZER PMAP with the |
| | | compiler listing. |
|---------|-------------------|------------------------------------------|
| $SUBsys | OS/VS COBOL | Required when you use the SUBSYS |
| | CA-OPTIMIZER | parameter on the SYSLIB DD statement. |
| | VS COBOL II | |
|---------|-------------------|------------------------------------------|
| $Time=n | OS/VS COBOL | Change the default TIME limit on the SIR |
| | CA-OPTIMIZER | analysis for PATHVU/Interactive |
| | VS COBOL II | compiles. |
|---------|-------------------|------------------------------------------|
| $8 | OS/VS COBOL | Create a SIR data set even if the |
| | CA-OPTIMIZER | compiler has a condition code 8. |
| | VS COBOL II | |
|---------|-------------------|------------------------------------------|
Table A-5. Additional SIR Processor Compiler and Assembler Options
Note: If the condition code for $ERROR is greater than 6, the SIR is not
created unless $8 is specified. SYSPRINT contains the listing (up to the
first error) and the diagnostic messages. The compiler condition code
contained in MSGPRINT and the condition code for the step are the same.
B.0 Appendix B. Allocating Your Test Data Files
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
This chapter tells you how to use the XPEDITER File Allocation Utility.
It also describes the screen formats and valid commands.

B.1 Using the FAU


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The File Allocation Utility (FAU) lets you interactively


create/copy/modify a file allocation list which you use at execution time
to allocate the files your program needs. All files used by your program
must be allocated, or your program will abend just as if you had omitted a
DD statement from a batch run. Since the screens available with the FAU
cover all file possibilities, many of which you may not need, they are
described later in this chapter.
You can use the FAU to:
* Copy file allocations from existing file lists, CLISTs, and JCL.
* Edit an existing file allocation list. Use the D and I line commands
to delete or insert file names. Use the R line command to repeat a
line.
* Save and allocate the file list for immediate use, or save the file
list and allocate it at another time.
* Allocate any number of files at one time, up to the limit defined by
your shop.
The FAU is available to you from any location in XPEDITER/TSO:
1. By selecting option 1 from the Primary Menu.
2. By entering the ALLOCATE command from any screen.
3. By entering the dataset name of a file allocation list or JCL on a
test screen.
Each of these methods is used for a somewhat different purpose and
provides a different operation, as follows:
1. Option 1 from the Primary Menu is used mainly to create and maintain
file allocation lists for later use. When you enter option 1, you are
immediately presented with the Allocate (1) screen without data (see
"The Allocate Screens" in topic B.2). You can then enter the required
allocation information manually or use the COPY command to copy
allocations from an existing file allocation list, JCL, or CLIST (see
"Copy (1) - Copying Files From Other File Lists, CLISTs, and JCL" in
topic B.3). Changes are made to the allocation by typing over data
and using the line commands.
After making changes and pressing the END key (or entering the END
command), you are prompted for the name of the dataset in which the
new file allocation is to be saved, or you can bypass this step. If
you wish to allocate at this time, you enter the ALLOCATE command
before terminating the FAU.
If you are copying an existing file allocation list without making any
changes, you must enter the SAVE command after copying the file list.
2. The ALLOCATE command is generally used to allocate files from within
an XPEDITER test session. When you enter it, you see essentially the
same facilities as in 1. above. The main difference is that when you
end the FAU, the files are automatically allocated. If you wish to
leave the FAU without allocating the files, use the CANCEL command.
If you enter the ALLOCATE command with a dataset name, the FAU does an
automatic COPY of that dataset and on successful completion of the
COPY, an automatic END. If the dataset contains a file allocation
list and the allocations are successful, you will not see any FAU
screens. If the dataset contains JCL, you see the Select DDNAMES
screen (see Figure B-9 in topic B.3.1). When you complete the DDNAME
selection, the selected files are allocated and you are prompted to
save the generated file allocation list.
If an error occurs during the allocation, the Allocate screen is
displayed with an error message. At this time, you can make any
desired changes to fix the problem. When you enter END, the
allocations are made with the new file allocation list and you are
prompted to save the updated list.
3. By entering a dataset name on a test screen, you allocate files for
the debugging session you are about to start. The process is similar
to entering the ALLOCATE command with a dataset name specified.
If the dataset contains JCL, two additional steps are done
automatically:
a. If the JCL executes a PROC, an EXPAND command is performed (see
"Selecting DDNAMEs from JCL" in topic B.3.1).
b. If XPEDITER finds a JOB step that executes the program named on
the test screen, the file is selected.
If no errors occur, the entire conversion and allocation process is
completed automatically and you do not see any FAU panels. If a
problem occurs, you see only the panels needed to correct the error.
The FAU process is simple and easy to use. The screens are described in
detail in the following sections.
B.2 The Allocate Screens
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The information needed for a file allocation list is contained on the five
screens of the allocation process. To reach each screen, you simply
scroll the screen to the right, as represented in Figure B-1.

|---------------------------------------------------------------------------
-------------|
|
|
| 1 2 3 4
5 |
||----------------|----------------|----------------|----------------|------
----------| |
|| | | | |
| |
|| | SPACE and | | |
| |
|| DSNAME | CATALOG | DCB PARMS | MODEL DCB | SUBSY
STEM | |
|| | | | |
| |
||----------------|----------------|----------------|----------------|------
----------| |
|
|
| | Scrollable
| |
| |-------------------------------------------------------------------------
---------| |
|
|
|---------------------------------------------------------------------------
-------------|
Figure B-1. Allocate Screens
Each screen is numbered and contains information for one of the following
categories:
1. Allocate (1) - DDNAME, DSNAME, and disposition
2. Allocate (2) - Space and catalog parameters
3. Allocate (3) - DCB parameters
4. Allocate (4) - Model dataset name for a generation data group or a PDS
5. Allocate (5) - Subsystem name and parameters

B.2.1 Scrolling
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The RIGHT and LEFT commands used with a keyword let you move from one
screen to another. The keywords 1 (default), 2, 3, 4, 5, and MAX indicate
screens 1 to 5 from your starting point. For example:
* If RIGHT 2 is entered from Allocate (1) (DSNAME), you are scrolled to
Allocate (3) (DCB Parameters).
* If RIGHT MAX is entered, the screen is scrolled to Allocate (5)
(Subsystem).
* If LEFT MAX is entered, the screen is scrolled to Allocate (1).
The commands UP and DOWN are also available. The Scroll Amount field
(second line, flush right) controls how far UP or DOWN the screen is
scrolled. Values for the Scroll Amount field are:
1-9999 (lines)
Scrolls by the number of lines specified.
PAGE, P Scrolls by one full screen.
DATA, D Scrolls by a page minus one line when scrolling up or down.
HALF, H Scrolls by a half page.
MAX, M Scrolls to the top or bottom of the file.
CSR, CUR, C Scrolls to the position of the cursor within the data (or by
a page if the cursor is off the data or already positioned in
the top or bottom margin).
B.2.2 Primary and Line Commands
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Allocate screens list primary and line commands at the top of each
screen. Note that the primary commands listed per screen vary, depending
on the manner in which the FAU is entered. All commands are described
below:
CANcel Exits the File Allocation Utility without allocating or saving
the file list. The CANCEL command returns you to the calling
screen.
COPY Copies an existing file list, JCL, or CLIST. The COPY command
displays the Copy (1) screen for entering the file list name,
etc. (Figure B-7 in topic B.3). You can enter the dataset name
as an operand of the COPY command and skip this screen. If the
data being copied is JCL, you receive the Select DDNAME (1)
screen to select specific lines of data (Figure B-9 in
topic B.3.1).
ALLOCate Allocates the information and returns you to the Allocate
screen.
SAVE Saves the information and returns you to the Allocate screen.
END Terminates the FAU. Depending on the way you entered the FAU,
the END command also allocates and/or saves the file list.
HELP Invokes the interactive HELP support.
The line commands, also listed at the top of each screen, are entered by
typing over the line command area (leftmost column of each screen). You
can delete, insert, or repeat lines to make changes to the Allocate
screens.
Dn (DELETE) Deletes the file name. Where n is the number of lines you
want to delete. The DDNAME and any related allocation
parameters are deleted from the screen. The block form (DD)
of the command is also supported.
In (INSERT) Inserts a blank line. Where n is the number of lines you
want to insert.
Rn (REPEAT) Repeats the line. Where n is the number of lines that you
want repeated. The DDNAME and any related values are
repeated on the screen. The block form (RR) is also
supported.
B.2.3 Allocate (1) - DDNAME, DSNAME, and Disposition
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Allocate (1) screen, illustrated in Figure B-2, is used to enter the
DDNAME, dataset name, and disposition of the file to be allocated.

* The following DDNAMEs are not allowed:


JOBCAT STEPCAT
JOBLIB STEPLIB
* Dataset names can be fully qualified and enclosed in quotes. If the
name is not enclosed in quotes, the user's prefix is added at
allocation time. A member of a PDS can be allocated by including the
member name in parentheses with the dataset name. A temporary
dataset that you want to allocate to more than one file can be entered
in the form &&name (1-8 characters) with or without quotes. The
following names can also be entered: DUMMY, TEMP, TERM and SYSOUT.
They refer to a dummy dataset, temporary dataset with no name, dataset
sent to the terminal, and SYSOUT dataset, respectively.
The common types of datasets are discussed in "Types of Files" in
topic B.6.
* Valid values for the DISP field are:
MOD (M) OLD (O)
NEW (N) SHR (S)
For normal datasets, the default is SHR; for temporary datasets, the
default is NEW; for the other allocations (DUMMY, TERM, SYSOUT), the
DISP field is forced to blank.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------- XPEDITER/TSO - ALLOCATE/1 (1) ------------------
------ |
| COMMAND ===> SCROLL ===
> CSR |
| UP, DOWN, LEFT and RIGHT Scrolling Available
|
| LINE COMMANDS: D (Delete) PRIMARY COMMANDS: CAN (Quit without saving)
|
| I (Insert) COPY (Retrieve existing list
) |
| R (Repeat) ALLOC (Allocate and continue)
|
| END (Save and End)
|
|
|
| ------------------- DSNAME ----------------------
|
| DDNAME DUMMY,TEMP,TERM,SYSOUT, OR A FULLY QUALIFIED DSNAME DIS
P |
| --------------------------------------------------------------------------
- |
| ''''' INFILE JCL.CNTL(INPUT) SH
R |
| ''''' OUTFILE TEST.RESULTS NE
W |
| ''''' REPORT01 SYSOUT=A
|
| ''''' REPORT02 SYSOUT=*
|
| ''''' MASTERIN 'ABC.DATA.MASTER(+0)' SH
R |
| ''''' MASTEROU 'ABC.DATA.MASTER(+1)' NE
W |
| ''''' SORTWK01 TEMP
|
| ''''' SORTWK02 TEMP
|
| ''''' SORTWK03 TEMP
|
| ''''' ALTERNAT DUMMY
|
| ''''' TEMP1 TEMP
|
| ''''' SYSOUT TERM
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure B-2. Allocate (1) Screen--DDNAME, Dataset Name, and Disposition
B.2.4 Allocate (2) - Space and Catalog Information
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Allocate (2) screen in Figure B-3 lists the space and catalog
information required to allocate files with a disposition of NEW. When
file information is copied from existing file lists, CLISTs, or JCL, the
space and catalog information is prefilled on the Allocate (2) screen.
Enter the appropriate information or type over the copied information to
change the values.
If the file disposition is NEW, default values are prefilled for the
UNITS, PRIMARY, SECONDARY, RLSE, and DEL? fields.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------- XPEDITER/TSO - ALLOCATE/2 (1) ------------------
------ |
| COMMAND ===> SCROLL ===
> CSR |
|
|
| LINE COMMANDS: D (Delete) PRIMARY COMMANDS: CAN (Quit without saving)
|
| I (Insert) COPY (Retrieve existing list
) |
| R (Repeat) ALLOC (Allocate and continue)
|
| END (Save and End)
|
|
|
| ---------------- SPACE AND CATALOG INFO ----------------
|
| DDNAME UNITS PRIMARY SECONDARY DIR CONTIG RLSE VOLUME UNIT DEL?
|
| --------------------------------------------------------------------------
|
| ''''' INFILE
|
| ''''' OUTFILE TRK 4 2 YES YES
|
| ''''' REPORT01
|
| ''''' REPORT02
|
| ''''' MASTERIN
|
| ''''' MASTEROU TRK 40 20 YES YES
|
| ''''' SORTWK01 CYL 1 1 YES YES SYSDA
|
| ''''' SORTWK02 CYL 1 1 YES YES SYSDA
|
| ''''' SORTWK03 CYL 1 1 YES YES SYSDA
|
| ''''' ALTERNAT
|
| ''''' TEMP1 2048 200 200 YES
|
| ''''' SYSOUT
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure B-3. Allocate (2) Screen--Space and Catalog Information
Values for space and catalog information are:
UNITS Required for new or temporary datasets. Valid values are
TRACK (TRK, TRKS, TRA), CYL, or a block size of 0 to 65535
bytes.
PRIMARY Required for new or temporary datasets. Values are 0 to
99999.
SECONDARY Space is allocated if the primary allocation is exceeded.
Values are 0 to 99999.
DIR If a new dataset is a PDS, this field reserves space for the
member names. Values are 0 to 999.
CONTIG If the value is YES, all primary space is allocated on
contiguous tracks and cylinders when more than one cylinder is
needed. Can be blank (default/NO).
RLSE If the value is YES, all unused space is released when the
dataset is closed. YES is the default for new or temporary
datasets. Can be blank for NO.
VOLUME Required for an existing dataset that is not cataloged, or if
your installation requires it.
UNIT I/O unit--hardware address, device type, or group name. Enter
if your installation requires it.
DEL? Valid only if DISP=NEW. Values are YES (default), NO, and USE.
If YES is specified, the old DSNAME is deleted before the new
one is allocated. USE changes a DISP of NEW to OLD if the
dataset exists.
B.2.5 Allocate (3) - DCB Parameters
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Allocate (3) screen in Figure B-4 is used to specify the DCB (data
control block) parameters for each file to be allocated. When files are
copied from existing file lists, CLISTs, or JCL, their DCB parameters are
prefilled on the Allocate (3) screen.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------- XPEDITER/TSO - ALLOCATE/3 (1) ------------------
------ |
| COMMAND ===> SCROLL ===
> CSR |
|
|
| LINE COMMANDS: D (Delete) PRIMARY COMMANDS: CAN (Quit without saving)
|
| I (Insert) COPY (Retrieve existing list
) |
| R (Repeat) ALLOC (Allocate and continue)
|
| END (Save and End)
|
|
|
| ------------------- DCB PARAMETERS --------------------
|
| DDNAME RECFM DSORG BLKSIZE LRECL KEYLEN BUFNO BUFLEN OPTCD
|
| --------------------------------------------------------------------------
|
| ''''' INFILE
|
| ''''' OUTFILE FB PS 18997 121
|
| ''''' REPORT01 1330
|
| ''''' REPORT02 1330
|
| ''''' MASTERIN
|
| ''''' MASTEROU
|
| ''''' SORTWK01
|
| ''''' SORTWK02
|
| ''''' SORTWK03
|
| ''''' ALTERNAT 19069
|
| ''''' TEMP1 FB PS 6160 80
|
| ''''' SYSOUT
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure B-4. Allocate (3) Screen--Parameters
Values for the DCB parameters are:
RECFM Valid values are:
F FBM VB VBS
FB FBS VBA VS
FBA V VBM U
DSORG Values are PS, PO, and DA. If DISP=NEW or TEMP and DIR=0 or
blank, PS is the default.
BLKSIZE Values are 0 to 32760. If your program contains the clause
"BLOCK CONTAINS 0 RECORDS," supply a value to prevent an abend
when the allocated file is opened. If fixed block, the value
must be a multiple of the LRECL. If variable block, the value
must be equal to or greater than the LRECL plus 4.
If the RECFM and LRECL fields are specified for a new dataset, a
default value is provided for BLKSIZE.
LRECL Values are 0 to 32760. Do not specify a LRECL if the RECFM is U
(undefined-length records).
Note: If the LRECL and BLKSIZE fields contain values, it is
good practice to specify RECFM, but DSORG should be the default.
KEYLEN Indicates the length of the record key for an ISAM file. Values
are 1 to 255.
BUFNO Specifies the number of buffers to be used with the dataset.
Values are 1 to 255.
BUFLEN Indicates the buffer length. Values are 1 to 32760.
OPTCD Valid values are:
A F Q W
B H R Z
C J T
E O U
B.2.6 Allocate (4) - Model Dataset Name
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Allocate (4) screen in Figure B-5 is used to enter the DSNAME of a
model DCB (data control block). The model DCB name can contain up to 56
characters. If it is a PDS, do not include a member name.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------- XPEDITER/TSO - ALLOCATE/4 (1) ------------------
------ |
| COMMAND ===> SCROLL ===
> CSR |
|
|
| LINE COMMANDS: D (Delete) PRIMARY COMMANDS: CAN (Quit without saving)
|
| I (Insert) COPY (Retrieve existing list
) |
| R (Repeat) ALLOC (Allocate and continue)
|
| END (Save and End)
|
|
|
| ---------------- MODEL DCB -----------------
|
| DDNAME FULLY QUALIFIED DSNAME
|
| --------------------------------------------------------------------------
|
| ''''' INFILE
|
| ''''' OUTFILE
|
| ''''' REPORT01
|
| ''''' REPORT02
|
| ''''' MASTERIN
|
| ''''' MASTEROU 'ABC.DATA.MASTER'
|
| ''''' SORTWK01
|
| ''''' SORTWK02
|
| ''''' SORTWK03
|
| ''''' ALTERNAT
|
| ''''' TEMP1
|
| ''''' SYSOUT
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure B-5. Allocate (4) Screen--Model DCB DSNAME
A model DCB can be used to supply DCB information. The name of a
cataloged dataset with any dataset organization can be entered on the
Allocate (4) screen. For a new dataset, however, space parameters must be
entered on the Allocate (2) screen. You can override some model DCB
attributes by entering new values for them on the Allocate (3) (DCB)
screen.
If you are allocating a new generation data group (GDG), a model DSCB
(dataset control block) is required. You can specify the DSCB 1) on the
Allocate (4) screen, or 2) let it default to a DSCB with the same name as
the base GDG entry residing on the same volume. The model DSCB name
specified on the Allocate (4) screen cannot be a base GDG name or contain
a relative generation number. DCB parameters provided by a model DSCB can
be overridden.
B.2.7 Allocate (5) - Subsystem Name and Parameters
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Use the Allocate (5) screen in Figure B-6 to enter the dataset name and
parameters of a particular subsystem. The specified subsystem handles the
allocation of the dataset and uses the parameters to control the
allocation.
The fields are entered in free form, separated by blanks or commas. The
subsystem name should be 1 to 4 characters with an alphabetic first
character. Check with your local system group for valid subsystem names
and parameters used at your installation.
Fields can be entered as they are passed to the subsystem or enclosed in
single quotes ('). If a field is enclosed in quotes, any quotes
considered part of the value must be specified as double quotes. A field
must be enclosed in quotes if :
1. It contains unmatched quotes.
2. It starts with a quote.
3. It contains unmatched parentheses outside of quotes.
4. It contains blanks or commas (,) not in quotes or parentheses.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------- XPEDITER/TSO - ALLOCATE/5 (1) ------------------
------ |
| COMMAND ===> SCROLL ===
> CSR |
|
|
| LINE COMMANDS: D (Delete) PRIMARY COMMANDS: CAN (Quit without saving)
|
| I (Insert) COPY (Retrieve existing list
) |
| R (Repeat) ALLOC (Allocate and continue)
|
| END (Save and End)
|
|
|
| ----------------- SUBSYSTEM INFORMATION ----------------
|
| DDNAME SUBSYSTEM NAME AND SUBSYSTEM PARAMETERS
|
| --------------------------------------------------------------------------
-- |
| ''''' INFILE
|
| ''''' OUTFILE
|
| ''''' REPORT01
|
| ''''' REPORT02
|
| ''''' MASTERIN
|
| ''''' MASTEROU
|
| ''''' SORTWK01
|
| ''''' SORTWK02
|
| ''''' SORTWK03
|
| ''''' ALTERNAT
|
| ''''' TEMP1 SYSA, WRITE, NOCHECK, PW=?
|
| ''''' SYSOUT
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure B-6. Allocate (5) Screen--Subsystem Name and Parameters
B.3 Copy (1) - Copying Files From Other File Lists, CLISTs, and JCL
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

To copy existing file allocations into the FAU, you can move from the
Allocate screens to the Copy (1) screens by entering the COPY command.
The COPY command displays the screen shown in Figure B-7. In the DSNAME
field, enter the name of the dataset to be copied. Enter a value for the
VOLUME field only if the dataset is not cataloged. The dataset can be
either sequential or partitioned, fixed or variable block, with a record
length of 80 or greater. The copy process begins when you press <ENTER>.
If the COPY command is entered with a dataset name as an operand, this
screen is bypassed.
|---------------------------------------------------------------------------
-------|
|
|
| ---------------------------- XPEDITER/TSO - COPY (1) ---------------------
------ |
| COMMAND ===>
|
|
|
|
|
|
|
| Copy An Existing File Allocation List, CLIST, Or JCL
|
|
|
|
|
|
|
| Enter/Verify the dataset to be copied:
|
|
|
| DSNAME ===> 'ADSA99X.JCL.CNTL(TRIPROGM)'
|
| VOLUME ===> (If not cataloged)
|
|
|
| If the dataset contains JCL, a DDNAME selection list will be displayed
|
|
|
|
|
|
|
|
|
| Press ENTER To Process Or END To Terminate The COPY Function
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure B-7. Copy (1)--Specifying the DSNAME

If the name of a PDS is entered without a member name, a member selection


list is shown (Figure B-8). Enter S in the line command field to select a
member for processing. Enter B in the line command field to browse the
contents of a member. To return to the Copy (1) screen, enter END.
|---------------------------------------------------------------------------
-------|
|
|
| --------------------------- XPEDITER/TSO - COPY (1) --------- ROW 00001 OF
00018 |
| COMMAND ===> SCROLL ===>
PAGE |
|
|
| LINE COMMANDS: S (Select Member) B (Browse Member)
|
|
|
| Select From Copy Data Set: 'ASJJTG1.ALLOC'
|
| NAME VV.MM CREATED CHANGED SIZE INIT MOD ID
|
| --------------------------------------------------------------------------
-- |
| _ CHERFIND 01.00 90/06/20 90/06/20 15:03 17 17 0 ASJJT
G2 |
| _ SYSUDUMP 01.00 89/11/01 89/11/01 15:45 1 1 0 ASJJT
G1 |
| _ TRIJCL 01.00 90/03/22 90/03/22 13:01 2 2 0 ASJJT
G2 |
| _ TRIJCLX 01.00 90/08/10 90/08/10 14:39 2 2 0 ASJJT
G2 |
| _ TRIJCL1
|
| _ TRIMAI2 01.00 90/06/14 90/06/14 15:50 5 5 0 ASJJT
G2 |
| _ TST1
|
| _ TST2
|
| _ TST3
|
| _ TST4
|
| _ TST5
|
| _ TTRJCL1
|
| _ X 01.00 89/11/28 89/11/28 17:01 18 18 0 ASJJT
G1 |
| _ XX
|
|
|
| Press ENTER To Process Or END To Terminate The COPY Function
|
|
|
|---------------------------------------------------------------------------
-------|
Figure B-8. Copy (1) - Member Selection List
When the data to be copied is JCL, the Select DDNAME (1) screen shown in
Figure B-9 in topic B.3.1 is displayed.

B.3.1 Selecting DDNAMEs from JCL


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The screen information shown in Figure B-9 can be typed over; e.g.,
commented lines can be changed to uncommented lines. Use the S (Select)
and SS (block form) line commands to select the DDNAMEs you wish to copy
to the Allocate screen. The I(nsert), R(epeat), and D(elete) line
commands are also available. From the command area, the commands END,
CANCEL, EDIT, EXPAND, and SETUP can be entered. Also, the primary
commands UP and DOWN, or PF keys can be used to scroll the screen.
|---------------------------------------------------------------------------
-------|
|
|
| ----------------------- XPEDITER/TSO - SELECT DDNAME (1) -----------------
------ |
| COMMAND ===> SCROLL ===
> CSR |
|
|
| LINE COMMAND: S (Select) PRIMARY COMMANDS: END (Process selected statemen
ts) |
| CAN (Quit without processing)
|
| Edit (Edit JCL using ISPF Edito
r) |
| SEtup JOB Card EXP (Expand JCL procedures)
|
|
|
| SELECT the DDNAMES to br copied to the allocate screen
|
|
|
| SEL JCL DATA SET: 'ADSA99X.JCL.CNTL(TRIPROGM)'
|
| --------------------------------------------------------------------------
|
| ''''' //ADSA99XA JOB (ACCNT),'USER',MSGCLASS=X,
|
| ''''' // NOTIFY=ADSA99X
|
| ''''' //*
|
| ''''' //STEP1 EXEC PGM=TRIMAINX,PARM='YES'
|
| ''''' //STEPLIB DD DSN=ADSA99X.WORK.LINKLIB,DISP=SHR
|
| ''''' //INFILE DD DSN=ADSA.CLASS.SOURCE(TRIDATA),DISP=SHR
|
| ''''' //OUTFILE DD SYSOUT=A,COPIES=3
|
| ''''' //*
|
| ''''' //STEP2 EXEC PGM=PROGRAM2
|
| ''''' //STEPLIB DD DSN=ADSA.TEST.LOAD,DISP=SHR
|
| ''''' //NEWFILE DD DSN=ADSA99X.NEW.OUT,DCB=(RECFM=FB,BLKSIZE=200),
|
| ''''' // SPACE=(TRK,(10,10)),DISP=(NEW,KEEP)
|
|
|
|---------------------------------------------------------------------------
-------|
Figure B-9. Select DDNAME (1) Screen
Enter the S line command by typing over the SEL column. The DDNAME
information is copied to the appropriate sections of the Allocate screen
(space and catalog information, DCB parameters, etc.).
Use the primary commands as follows:
END Copies the selected DDNAMEs. After you enter the END command,
but before the files are copied, any selection errors are
reported. The errors must be corrected before the copying
process is completed.
CANcel Cancels the DDNAME selection.
Edit Puts you into an ISPF edit session where you can make changes to
your JCL.
EXPand Expands references to cataloged, in-stream procedures and
performs symbolic parameter replacement, making procedures
available for use.
SEtup Displays a screen on which you can enter and change the skeleton
JOB card needed for the EXPAND function.

B.3.1.1 Using the Select Line Command


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

When you select DD statements, you are basically selecting file names
which cause the allocation and all concatenated DD statements to be copied
as a unit. Enter "S" on a line to select a single statement. Enter a
beginning and ending "SS" to select all file names between the two
entries, inclusively. When you enter an S for an EXEC statement, all file
names up to the next EXEC statement are selected. Any combination of
these entries can be used to select all the allocations you require.
B.3.1.2 Using the EXPAND Function
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Use the EXPAND command to submit the current JCL as a job. If there are
multiple jobs in the JCL, only the first is processed; therefore, delete
any jobs preceding the one you wish to process. If there is a JOB card
present in the JCL, it is not used for this process. The SETUP command
can be used to look at and change the JOB card that is used. Consider the
following:
* MSGCLASS, MSGLEVEL, and TYPRUN are supplied by the EXPAND process and
should not be included on the JOB card.
* The JOB card should be valid, to avoid job-not-found or no-held-output
conditions.
* Include only the minimum operands required to pass the installation
validation routines. Since the job does not actually run, extra
operands tend to cause undesired results such as extra asynchronous
messages to the terminal.
B.3.2 Unsupported Keywords and Subparameters
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Not all JCL parameters in the JCL dataset are copied to the file list; DEN
is one, for example. The following JCL items are not supported:
* Special DDNAMEs - JOBCAT, JOBLIB, STEPCAT, STEPLIB
* Lines without a DDNAME (except as part of a concatenation)
* Commented statements
* Lines other than DD statements
* In-stream data (DD * or DD DATA)
* ABSTR, ALX, MXIG, ROUND (space subparameters)
* Volume subparameters other than VOL=SER
* Datasets extending onto more than one volume
* Unresolved symbolic references
* DCB parameters other than model dataset name, BLKSIZE, BUFLEN, BUFNO,
DSORG, KEYLEN, LRECL, OPTCD, and RECFM
* Other parameters not corresponding to fields on the Allocate panels
* BFTEK parameter defaults to A; cannot be overwritten with any other
value.
Errors are reported in the upper right corner of the screen.
If a DDNAME is selected that contains keywords not specified on the
Allocate screens, the warning screen in Figure B-10 is displayed. A
message in the upper right-hand corner indicates what rows are displayed.
Errors are identified by DDNAME, keyword, and JCL statement. If an error
is found on a concatenated file, the name appears in the form ddname+nn.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------ XPEDITER/TSO - ALLOCATE/COPY (ERRORS) ---- ROW 00001 OF
00003 |
| COMMAND ===>
|
|
|
| LINE COMMAND: S (Select ) PRIMARY COMMANDS: CAN (Quit without processing
) |
|
|
| WARNING: The following keywords and subparameters are not supported.
|
|
|
| Press END to continue processing and ignore all these parameters
|
| or Select a DD statement you wish to correct.
|
|
|
| ------------------------------------------------------------------------
|
| ''''' DDNAME: DOC1 KEYWORD: LABEL SUBPARAMETER:
|
| JCL: // DISP=(NEW,CATLG,DELETE),LABEL=(,NL)
|
| ------------------------------------------------------------------------
|
| ''''' DDNAME: DOC2 KEYWORD: LABEL SUBPARAMETER:
|
| JCL: // DISP=(NEW,CATLG,DELETE),LABEL=(,NL)
|
| ------------------------------------------------------------------------
|
| ''''' DDNAME: DOC3 KEYWORD: LABEL SUBPARAMETER:
|
| JCL: // DISP=(NEW,CATLG,DELETE),LABEL=(,NL)
|
| ------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure B-10. Allocate/Copy (Errors) Screen
By entering END (<PF3>), you are returned to the Allocate (1) screen with
your JCL listed. The errors are ignored in the processing. If you wish
to correct the error, enter the S line command in the line command area of
the first line you want and press <ENTER>. The screen returns to the
Select DDNAME (1) screen, with the selected JCL line beginning at the top
of the screen and the cursor positioned at the value in error.
By entering the CANCEL command, you are returned to the screen from which
you entered the FAU.
B.4 Save File List - Saving Files in a File Allocation List
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

After you enter or copy the necessary DDNAME information, use either the
SAVE or END command to allocate/save your file. If there are errors, the
appropriate section of the Allocate screen is brought into view, with the
DDNAME in question scrolled to the top of the screen. For a verification
error, a message appears in the upper right corner of your screen; if the
error is the result of the allocation process, a long error message
appears centered on the third line.

B.4.1 Saving an Existing File List


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

If the file allocations or verifications are successful, the Save File


List (1) screen shown in Figure B-11 is displayed. Enter the name of the
dataset in which you wish to save the file allocation list.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------ XPEDITER/TSO - SAVE FILE LIST (1) ---------------
------ |
| COMMAND ===>
|
|
|
|
|
|
|
| Your files have been allocated... Save the file allocation list?
|
|
|
|
|
|
|
| Enter/Verify partitioned or sequential dataset to save the file allocation
s |
|
|
|
|
| DSNAME ===> 'USERIDX.SAMP.FILE(TRIPROGM)'
|
| VOLUME ===> (If not cataloged)
|
|
|
|
|
|
|
|
|
| Press ENTER To Process or END To Terminate Without Saving
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure B-11. Save File List (1) Screen
B.4.2 Creating a New File List
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

If the dataset name does not exist, the Create Data Set (1) screen in
Figure B-12 is displayed, with the DSNAME you previously entered in the
DSNAME field. Enter "F" (fixed) or "V" (variable) for the RECFM field.
If your shop requires it, enter values for the VOLUME and UNIT fields.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------ XPEDITER/TSO - CREATE DATA SET (1) --------------
------ |
| COMMAND ===>
|
|
|
|
|
|
|
| A NEW ALLOCATION LIST DATA SET WILL BE CREATED
|
|
|
| DSNAME: 'USERID.SAMP(TEST)'
|
|
|
| YOUR OPTIONS ARE:
|
|
|
| * Enter END Command to Return to the Previous Menu
|
|
|
| * ENTER/VERIFY the Options Below to Create a New Allocation List
|
|
|
|
|
|
|
| RECFM ===> F or V (REQUIRED)
|
| VOLUME ===> (OPTIONAL)
|
| UNIT ===> 3350, 3380, etc. (OPTIONAL)
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure B-12. Creating a New Allocation List Screen
B.5 List Override - Discarding a File
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
If you do not wish to save the file allocation list, enter END on the Save
File List (1) screen. If you have reached this screen by entering END
from an Allocate screen, you will then be presented with the List Override
(1) screen. On this screen, you can press <ENTER> to terminate the FAU
and discard the current file allocation list, or enter END to return to
the Allocate screen and continue editing the file allocation list. See
Figure B-13.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------ XPEDITER/TSO - LIST OVERRIDE (1) ----------------
------ |
| COMMAND ===>
|
|
|
|
|
|
|
| The current file allocation list is to be deleted
|
|
|
|
|
|
|
| ARE YOU SURE?
|
|
|
|
|
|
|
| Enter END Command to Resume Allocation Processing
|
| or
|
| Press ENTER to Confirm Terminate Request
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure B-13. List Override (1) Screen
B.6 Types of Files
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

This section describes some common types of datasets that can be allocated
using the File Allocation Utility.

B.6.1 Existing Datasets


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Existing datasets can be allocated with a disposition of SHR, OLD, or


MOD. Unless exclusive use of a dataset is required for your application,
SHR is the recommended disposition.
A dataset allocation with the disposition of SHR, OLD, or MOD fails if:
1. You request disposition OLD/MOD, but the dataset is already allocated
to another user.
2. You request disposition SHR, but the dataset is already allocated
exclusively OLD/MOD to another user.
3. The dataset is not found (SHR or OLD only).
Notes:

1. For uncataloged datasets, enter the name of the volume on which the
dataset resides in the VOLUME field on the Allocate (2) screen.
2. For concatenating datasets, 1) list the dataset with the largest block
size first; 2) code the DSNAMEs of the datasets to be concatenated on
successive lines, leaving the DDNAME field blank after the first line;
3) concatenate a maximum of 255 sequential or 16 partitioned datasets.
B.6.2 NEW Datasets
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

To allocate a NEW dataset, values must be supplied for the DDNAME,


DSNAME, DISP (NEW), UNITS, PRIMARY, and SECONDARY fields on the Allocate
screens. A value must be entered in the DIR field if you are allocating a
PDS. If no value is entered in the DIR field, the DSORG is assumed to be
PS (physical sequential).
Values must also be supplied for the RECFM, LRECL, and BLKSIZE fields
unless these parameters are coded in the program itself.
Warning: If a COBOL program specifies the size of the physical record
(BLKSIZE) in the "BLOCK CONTAINS 0 RECORDS" clause of the FD entry, the
BLKSIZE field should be specified to avoid a run-time abend.
For a new or temporary dataset, values are prefilled for the UNITS,
PRIMARY, SECONDARY, RLSE, and DEL? fields. YES is entered in the RLSE
field to release unused space when the dataset is closed. Entering YES
in the DEL? field tells XPEDITER/TSO to delete the old file, if any,
before attempting to allocate a new dataset.
If your installation requires it, a value must be specified for the UNIT
and VOLUME fields on the Allocate (2) (space and catalog information)
screen.
Finally, on the Allocate (4) (model DCB) screen, you can specify the
model DSNAME whose DCB characteristics will be used for the new dataset
allocated to the DDNAME.
B.6.3 DUMMY Files
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Dummy files are generally used for nonessential input and output. These
files can also be used to test program flow without actually processing
data. For instance, unwanted output can be suppressed by giving the
output datasets a dummy status.
Since dummy files do not exist, DCB requirements are the same as for a new
dataset. However, since no real allocation occurs, space information is
not used.
B.6.4 Temporary Files
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Temporary datasets are often used to allocate sort or other work files.
Since a temporary file usually has no DSNAME, the data it contains is lost
whenever the file is freed or when you log off.
Temporary datasets defined with the TEMP keyword have a system-generated,
unique name. They must generally be allocated as new datasets. Temporary
datasets using an &&name form also have a system-generated name. They
cannot be cataloged and are automatically deleted when the allocation
creating them is freed. Thus, they can only be allocated as OLD while the
allocation creating them still exists.
Space and DCB requirements are the same as for other new (or existing)
datasets.
B.6.5 Allocating Files to the Terminal
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Sequential files can be allocated to the terminal. SYSOUT files (COBOL


DISPLAY verb) are often allocated to the terminal. The file(s) can be
opened for input or output. Unlike other forms of new datasets, a block
size is not required.
If an input file is allocated to the terminal, XPEDITER/TSO suspends the
execution of your program awaiting terminal input. The keyboard is
unlocked and the cursor is positioned at the primary command entry area.
B.6.6 SYSOUT Files
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The SYSOUT parameter instructs the system to queue the output on a direct
access volume, and system output writers later transcribe the output onto
the specified I/O device. To allocate a SYSOUT file, enter a DD name in
the DDNAME field and the SYSOUT=class parameter in the DSNAME field. The
SYSOUT class can be any alphanumeric (A-Z, 0-9) character or an asterisk
(* - default). As with a terminal file, a block size is not required.
B.6.7 Generation Datasets
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

A generation data group (GDG) is a collection of cataloged datasets that


have the same name and are related to one another chronologically. A GDG
can consist of sequential, partitioned, and direct datasets residing on
direct access volumes. The GDG DSNAME is limited to 35 characters. Each
generation can be distinguished from the others by its relative or
absolute generation number. A relative generation number cannot exceed
255.
To create or retrieve a generation dataset, enter the GDG name followed by
its relative (or absolute) number in the DSNAME field. If a relative
generation number is used, you cannot specify a member name also.
Relative generation numbers remain static during a TSO session. That is,
if you create a new generation with a relative generation number of +1 and
you wish to refer to it later in your session, you should still refer to
it as +1.
On the Allocate (4) (model DCB) screen, enter the name of a fully
qualified dataset where XPEDITER/TSO can obtain the model DCB information.
If a PDS is specified, do not include a member name, unless a model DSCB
was created for the generation data group.
If all the generations in a GDG have identical DCB attributes, the
generations can be retrieved together as a single dataset. To process the
entire GDG, enter its DSNAME without a relative generation number.
B.6.8 ISAM Files
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

ISAM files can be allocated, but certain IBM SVC 99 restrictions for ISAM
files also apply:
* The data and key areas must be in the same dataset, on one volume.
* The file cannot be NEW.
C.0 Appendix C. Specifying SETUP Options
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Setup is a user initialization procedure that lets you assign values to
the environment options. Setup automatically defaults to the installed
defined parameters the first time you access XPEDITER/TSO, however, you
can override the installation defaults by changing the setup parameters.
The parameters you set are retained across debugging sessions until you
change them. At least one load library and one SIR library are required
debug parameters.
The setup screens are accessed by typing SETUP or SE on the command line
of any test screen. The setup options that are displayed on this menu
depend on the option you selected on the Environments Menu.
This appendix describes all the Setup Menu screens.

C.1 Setup Menus Available Under XPEDITER/TSO Environments


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

When you select option 7 (IMSPEM) under XPEDITER/TSO on the Environments


Menu and type SETUP in the command line, the Test Setup Menu shown in
Figure C-1 is displayed.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------- XPEDITER/TSO - TEST SETUP MENU ------------------
----- |
| OPTION ===>
|
|
|
| 0 ENVIRONMENT - Execution environments menu
|
|
|
| 1 LOADLIBS - Load module libraries
|
| 2 SIR - Shared Information Repository libraries
|
| 3 INCLUDES - Test script libraries
|
| 4 LOG - Session log data set disposition
|
| 5 SCRIPT - Test script data set disposition
|
| 6 DSNLOAD - DB2 system names and DSNLOAD libraries
|
|
|
|
|
|
|
|
|
|
|
| I IMS - IMS setup options menu
|
| B BTS - BTS setup options menu
|
| H HOGAN - HOGAN setup options menu
|
|
|
|
|
|
|
|
|
|
|
|
|
| A ALL - Display all of the above in succession (ex
cept 0)|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-1. IMSPEM Test Setup Menu Screen
Option 0 on the Test Setup Menu displays the Environments Menu. This
option is available for all environments. Refer to "Selecting Your
Environment" in topic 4.4 for a description of this screen.
Options 1 through 6 on the menu are available for all environments and
are referred to as the Standard Setup options. The screens for each of
these six options are described in "Standard Setup Menu Screens" in
topic C.4.
The menu that appears when you select option I (IMS) is described in "IMS
Setup Menu" in topic C.5; the menu for option B (BTS) is described in "BTS
Setup Menu" in topic C.6, and the menu for option H (HOGAN) is described
in "HOGAN Setup Menu" in topic C.7.
Option T (TCF), available only for Standard Test environments, displays
the TCF Repository Dataset screen. See Figure C-12 in topic C.4.7.
Note: As a convenience, you can bypass the Setup Menu by using the SETUP
command and specifying the setup option you want. For example, "SETUP 1"
takes you directly to the Load Module Libraries screen, "SE A"
automatically cycles you through all the setup panels, and "SETUP 0.4"
changes your test type to BTS.
Table C-1 shows the setup options that are available for each XPEDITER/TSO
environment. The following notes list the differences between Figure C-1
and the Setup Menu for the different XPEDITER/TSO environments:
Notes:

1. Option 1 (STANDARD) on the Environments Menu displays the six standard


options and the TCF option.
2. Option 2 (DIALOG) on the Environments Menu displays only the six
standard options.
3. Option 3 (IMS) does not display options B (BTS), H (HOGAN), and T
(TCF).
4. Option 4 (BTS) does not display options H (HOGAN) and T (TCF).
5. Option 5 (BATCHPEM) does not display options I (IMS), B (BTS), and T
(TCF).
6. Option 6 (DLIPEM) does not display options B (BTS) and T (TCF).
7. Option 7 (IMSPEM) does not display option T (TCF).

|-------------|-------------------------------------------------------------
---|
| SETUP | XPEDITER/TSO Environments
|
| Options |----------|-------|------|-----|------------|--------|-------
---|
| | Standard | Dialog| IMS | BTS | BATCHPEM | DLIPEM | IMSPEM
|
|-------------|----------|-------|------|-----|------------|--------|-------
---|
| LOADLIBS | X | X | X | X | X | X | X
|
|-------------|----------|-------|------|-----|------------|--------|-------
---|
| SIR | X | X | X | X | X | X | X
|
|-------------|----------|-------|------|-----|------------|--------|-------
---|
| INCLUDES | X | X | X | X | X | X | X
|
|-------------|----------|-------|------|-----|------------|--------|-------
---|
| LOG | X | X | X | X | X | X | X
|
|-------------|----------|-------|------|-----|------------|--------|-------
---|
| SCRIPT | X | X | X | X | X | X | X
|
|-------------|----------|-------|------|-----|------------|--------|-------
---|
| DSNLOAD | X | X | X | X | X | X | X
|
|-------------|----------|-------|------|-----|------------|--------|-------
---|
| IMS | | | X | X | | X | X
|
|-------------|----------|-------|------|-----|------------|--------|-------
---|
| BTS | | | | X | | | X
|
|-------------|----------|-------|------|-----|------------|--------|-------
---|
| HOGAN | | | | | X | X | X
|
|-------------|----------|-------|------|-----|------------|--------|-------
---|
| TCF | X | | | | | |
|
|-------------|----------|-------|------|-----|------------|--------|-------
---|
Table C-1. Setup Options Available for XPEDITER/TSO Environments
C.2 Setup Options Available Under XPEDITER/IMS Environments
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Test Setup Menu shown in Figure C-2 is displayed when you select
option 11 (BMPPEM) under XPEDITER/IMS on the Environments Menu and type
SETUP in the command line.
Refer to "Standard Setup Menu Screens" in topic C.4 for a description of
the first seven options (options 0 through 6) on the Test Setup Menu.
Refer to "IMS Setup Menu" in topic C.5 for descriptions of options 9
through 12 (which are options 3, 5, 2, and 1, respectively on the IMS
Setup Menu), and to "HOGAN Setup Menu" in topic C.7 for option H.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------- XPEDITER/TSO - TEST SETUP MENU ------------------
------ |
| OPTION ===>
|
|
|
| 0 ENVIRONMENT - Execution environments menu
|
|
|
| 1 LOADLIBS - Application load module libraries
|
| 2 SIR - Shared Information Repository libraries
|
| 3 INCLUDES - Test script libraries
|
| 4 LOG - Session log data set disposition
|
| 5 SCRIPT - Test script data set disposition
|
| 6 DSNLOAD - DB2 system names and DSNLOAD libraries
|
|
|
| 9 IMS - PSB and DBD libraries
|
| 10 PROCLIB - IMS preload list
|
| 11 DFSRESLB - IMS authorized load libraries
|
| 12 PARMS - IMS region ID and parameter strings
|
| H HOGAN - HOGAN setup options menu
|
|
|
|
|
|
|
| A ALL - Display all of the above in succession (except 0
) |
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-2. XPEDITER/IMS BMPPEM Test Setup Menu
Table C-2 shows the setup options that are available for each XPEDITER/IMS
environment. The following notes list the differences between Figure C-2
and the Test Setup Menu for the different XPEDITER/IMS environments:
Notes:

1. Options 8 (MPP) and 9 (BMP/IFP) on the Environments Menu do not


display option H (HOGAN).
2. Option 10 (IMSPEM) on the Environments Menu displays a Setup Menu
similar to Figure C-2.

|-------------------|----------------------------------------------------|
| | XPEDITER/IMS Environments |
| SETUP Options |------------|-------------|------------|------------|
| | MPP | BMP/IFP | IMSPEM | BMPPEM |
|-------------------|------------|-------------|------------|------------|
| LOADLIBS | X | X | X | X |
|-------------------|------------|-------------|------------|------------|
| SIR | X | X | X | X |
|-------------------|------------|-------------|------------|------------|
| INCLUDES | X | X | X | X |
|-------------------|------------|-------------|------------|------------|
| LOG | X | X | X | X |
|-------------------|------------|-------------|------------|------------|
| SCRIPT | X | X | X | X |
|-------------------|------------|-------------|------------|------------|
| DSNLOAD | X | X | X | X |
|-------------------|------------|-------------|------------|------------|
| IMS | X | X | X | X |
|-------------------|------------|-------------|------------|------------|
| PROCLIB | X | X | X | X |
|-------------------|------------|-------------|------------|------------|
| DFSRESLB | X | X | X | X |
|-------------------|------------|-------------|------------|------------|
| PARMS | X | X | X | X |
|-------------------|------------|-------------|------------|------------|
| HOGAN | | | X | X |
|-------------------|------------|-------------|------------|------------|
Table C-2. SETUP Options Available for XPEDITER/IMS Environments
C.3 Using the RESTORE Command
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

When you type over an installed default value, that default value is
permanently updated with the new value until either a RESTORE command is
executed or another update is made to the same field.
You can use the RESTORE command to reinstate the installed defaults for a
single screen whose values have been changed or for all Test Setup and
installation screens whose values have been changed.
To restore installed defaults for a single setup screen, enter RESTORE on
the command line of that particular setup screen. RESTORE reinstates all
installed default values for the screen and saves them automatically. You
cannot "undo" the RESTORE when you enter it for a single setup screen.
To restore installed defaults globally for all setup and installation
screens, enter RESTORE on the command line of the Test Setup Menu screen.
A confirmation screen is displayed to remind you that the RESTORE command
reinstates all installed default values for all setup and installation
screens. When the confirmation screen is displayed, press <ENTER> to
execute the RESTORE command. If you decide to cancel the RESTORE command,
enter the END command and exit this screen without restoring the installed
default values.
C.4 Standard Setup Menu Screens
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------- XPEDITER/TSO - TEST SETUP MENU ------------------
----- |
| OPTION ===>
|
|
|
| 0 ENVIRONMENT - Execution environments menu
|
|
|
| 1 LOADLIBS - Load module libraries
|
| 2 SIR - Shared Information Repository libraries
|
| 3 INCLUDES - Test script libraries
|
| 4 LOG - Session log data set disposition
|
| 5 SCRIPT - Test script data set disposition
|
| 6 DSNLOAD - DB2 system names and DSNLOAD libraries
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| T TCF - Test Case Facility repository dataset
|
|
|
| A ALL - Display all of the above in succession (ex
cept 0)|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-3. STANDARD Test Setup Menu Screen
The first 6 options on the Test Setup Menu are available for all
execution environments; option T (TCF) is available only for the Standard
test environment. Many of the screens are optional. You must specify at
least one load and one SIR library. Log and script files are created by
XPEDITER/TSO, so you will also need to set up datasets for them. If you
don't use scripts, you do not have to specify an INCLUDE library. The
screens for each of these options are described in the following
subsections.

C.4.1 Environments Menu


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Environments Menu lets you select the environment in which your
program is to be executed. A screen display and information on this menu
can be found in "Selecting Your Environment" in topic 4.4.
C.4.2 Load Module Libraries Screens
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
A load module library list is a set of partitioned datasets containing
your link-edited application programs. XPEDITER/TSO searches the list for
the modules you want to call or debug during the debugging session.
The Load Module Libraries screens are used to enter the DSNAMEs of common
load libraries needed for most debugging sessions. Up to 32 libraries can
be concatenated in this load list (24 on the User Library list and eight
on the Installation Library list).
The first screen you see is one of three screens. On the first one (as
illustrated in Figure C-4), there is room for seven User Libraries and
eight Installation Libraries.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ---- XPEDITER/TSO - LOAD MODULE LIBRARIES ---------------
------ |
| COMMAND ===>
|
| COMMANDS: DOWN (for additional User Libraries)
|
| User Libraries:
|
| (1) ===> 'ASJUSR1.XPEDITER.LINKLIB'
|
| (2) ===>
|
| (3) ===>
|
| (4) ===>
|
| (5) ===>
|
| (6) ===>
|
| (7) ===>
|
|
|
| Installation Libraries:(Changes made to this list override installed defau
lts) |
| (8) ===> 'COBOL.C2V130X.COB2LIB'
|
| (9) ===>
|
| (10) ===> 'AXPQA.SIR8920.LINKLIB'
|
| (11) ===>
|
| (12) ===>
|
| (13) ===>
|
| (14) ===>
|
| (15) ===>
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-4. First Load Module Libraries Screen
If you need to list additional User Libraries, enter DOWN or press the
<PF8> key. A second panel appears. This panel lists the User Libraries
you already entered and space for ten more libraries. DOWN is still
active and you can also enter UP or press the <PF7> key to return to the
previous screen.
Enter DOWN to receive a third screen (Figure C-5 ), which has space for
seven additional User Libraries and lists the original eight Installation
Libraries spaces. On this third panel, you can enter the UP command to
return to the previous screen.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ---- XPEDITER/TSO - LOAD MODULE LIBRARIES ---------------
------ |
| COMMAND ===>
|
| COMMANDS: UP (for additional User Libraries)
|
| User Libraries:
|
| (18) ===>
|
| (19) ===>
|
| (20) ===>
|
| (21) ===>
|
| (22) ===>
|
| (23) ===>
|
| (24) ===>
|
|
|
| Installation Libraries:(Changes made to this list override installed defau
lts) |
| (25) ===> 'COBOL.C2V130X.COB2LIB'
|
| (26) ===>
|
| (27) ===> 'AXPQA.SIR8920.LINKLIB'
|
| (28) ===>
|
| (29) ===>
|
| (30) ===>
|
| (31) ===>
|
| (32) ===>
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-5. Third Load Module Libraries Screen
Values for the two fields on these screens are described below.
User Libraries You can specify up to 24 libraries. Normal concatenation
rules are in effect--libraries specified first will be
searched first, and buffer space for the STEPLIB will be
determined by the first library specified.
Installation Libraries
The installer entered the DSNAMEs of common load libraries
that should be allocated to any debugging session. These
load libraries are included in the STEPLIB of a job that
is executed under XPEDITER/TSO. Usually, only COBOL
subroutines and in-house utility libraries are listed
here. You can override installed default libraries by
specifying new libraries in these fields.
The application load libraries entered in the "User
Libraries" fields are concatenated on top of any libraries
entered in these fields.
C.4.3 SIR Libraries Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

A Shared Information Repository (SIR) is a set of partitioned datasets


with fixed block format and a record length of 80 bytes. The SIR data
file stores the information necessary to map, from memory, the source
identifier names with their corresponding values. While in a debugging
session, you can debug practically any combination of modules, but only
modules that have a current SIR data file can be referenced symbolically.
The source program to be analyzed can be either a driver program or a
subprogram. It can also be a batch, IMS, CICS, DB2, or any other type of
database program.
The SIR processor reads in the source program and writes a compiled
listing into a Shared Information Repository. The same SIR processor can
be used for PATHVU/Interactive and the XPEDITER product family
(XPEDITER/CICS Release 3.1 or below, XPEDITER/TSO, XPEDITER/ROS, and
XPEDITER/IMS).
The SIR Libraries screen is used to enter the names of your SIR
libraries. At least one SIR dataset is required.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT --------- XPEDITER/TSO - SIR LIBRARIES ------------------
------ |
| COMMAND ===>
|
|
|
| User Libraries:
|
| (1) ===> 'ASJUSR1.XPEDITER.SIR'
|
| (2) ===>
|
| (3) ===>
|
| (4) ===>
|
| (5) ===>
|
| (6) ===>
|
|
|
|
|
| Installation Libraries:(Changes made to this list override installed defau
lts) |
| (7) ===> 'AXPQA.SIR8920.SIR'
|
| (8) ===>
|
| (9) ===>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-6. Shared Information Repository Screen
The fields on this screen are:
User Libraries Some shops find it useful to create multiple SIR libraries
based on user, project, or some other criteria. You can
enter the name of your SIR dataset in these fields.
Fill in the DSNAME of the partitioned dataset containing
the SIR member for your program (load module). Up to six
SIR libraries can be concatenated.
Installation Libraries
If your shop has a common SIR dataset, the installer
entered its DSNAME in this field. At least one library
DSNAME is required before XPEDITER can be invoked, but up
to three libraries can be concatenated.
C.4.4 Test Script Libraries Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The test script library contains sets of XPEDITER/TSO command streams


used to set up, run, or rerun a debugging session. You can copy these
command streams into a debugging session with the INCLUDE command. The
script dataset can be either sequential or partitioned, and is allocated
to the XINCLUDE DDNAME.
While you are executing or debugging your program, XPEDITER/TSO
automatically generates a script of all the commands entered during the
debugging session.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------- XPEDITER/TSO - INCLUDE LIBRARIES ----------------
------ |
| COMMAND ===>
|
|
|
|
|
| User Libraries:
|
| (1) ===>
|
| (2) ===>
|
| (3) ===>
|
|
|
|
|
| Installation Libraries:(Changes made to this list override installed defau
lts) |
| (4) ===> 'AXPQA.TSO.INCLUDE'
|
| (5) ===>
|
| (6) ===>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-7. INCLUDE Libraries Screen
The fields on this screen are:
User Libraries You are not required to provide the DSNAME of a test
script library unless you enter a test script member in
the "Initial Script" field or the "Post Script" field on
the test screen, or use INCLUDE commands during the
debugging session.
The user test scripts library is created by you. You can
create a member by copying in the script dataset created
during a debugging session.
Installation Libraries
The installer entered the DSNAME of the test script
library included on the installation tape. These sample
INCLUDE scripts can be used during installation of
XPEDITER/TSO and subsequent verification and training.
C.4.5 Log and Script Data Set Screens
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The Log Data Set and the Script Data Set screens contain the same fields,
as do the Log Data Set (2) and Script Data Set (2) screens. Therefore,
the fields displayed on each set of screens are discussed only once. When
the text in this section and the next refer to log or the log dataset, you
can assume it refers also to script, if these four screens are involved.
Although both log and script datasets are automatically created for every
debugging session, they contain two different kinds of information at the
end of the debugging session:

* The session log contains a record of the XPEDITER/TSO commands entered


during the debugging session and the responses to them.
* The script dataset contains each executable command entered in the
debugging session. Before the debugging session is terminated,
XPEDITER/TSO lets you copy the test script into a test script library.
This predefined stream of XPEDITER/TSO commands can then be used to
setup, run, or rerun another debugging session.
The Log Data Set and Script Data Set screens let you display and modify
the default values for the log and script datasets. Default values are
supplied for the DSNAME and allocation parameters. The disposition of the
log and test script BEFORE and AFTER a debugging session must be specified
because a log and a test script are created for every session.
|---------------------------------------------------------------------------
-------|
|
|
| -------------------------- XPEDITER/TSO - LOG DATA SET -------------------
------ |
| COMMAND ===>
|
|
|
| LOG DATA SET DSNAME: (If blank XPEDITER/TSO will generate a DSNAME)
|
| DSNAME ===>
|
|
|
| ALLOCATION PARAMETERS: PROCESS OPTIONS: A (Append)
|
| Space Units ===> TRK D (Delete)
|
| Primary ===> 2 K (Keep)
|
| Secondary ===> 2 PD (Print-Delete)
|
| Unit ===> PK (Print-Keep)
|
| Volume ===> ? (Prompt)
|
|
|
|
|
| DISPOSITION AFTER THE TEST:
|
| Process Option ===> K (D, K, PD, PK, or ?)
|
|
|
|
|
| DISPOSITION BEFORE THE TEST:
|
| Process Option ===> ? (A, D, or ? Required if DSNAME is specified
) |
|
|
|
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-8. Log/Script Data Set Screen
The screen fields are described as follows:
LOG DATA SET DSNAME
If you leave the DSNAME field blank, XPEDITER/TSO generates a
log dataset DSNAME of 'userid.XPLOG.MONDD.THHMM' (or a script
dataset name of 'userid.XPSCR.MONDD.THHMM'), where "MON" is a
3-character abbreviation for the current month, "DD" is the
date in the month, and "HHMM" is the hour and minute the
dataset is created.
ALLOCATION PARAMETERS
The log and the script datasets are created for each debugging
session. Values for the Space Units, Primary, and Secondary
fields are required. Valid default values for allocation of a
log or script dataset are as follows:
Space Units TRK, CYL, or a block size (1-32760)
Primary 0-32760
Secondary 0-32760
Unit Enter unit if required in your shop. Otherwise,
leave blank for defaults.
Volume Enter volume if required in your shop. Otherwise,
leave blank for defaults.
The log and script datasets remain open throughout the current
session. If you modify the above parameters after these
datasets have been allocated, the new values take effect the
next time you begin a debugging session.
DISPOSITION AFTER THE TEST
A value is required for Process Option. The action specified
here is taken when you END from the test screen. Specify any
of the following process options to indicate the disposition of
the log or script dataset after the debugging session:
D Delete the dataset without printing it.
K Keep the dataset without printing it.
PD Print and delete the dataset.
PK Print and keep the dataset.
? You will be prompted to select a process option each time
you exit the test screen.
Displays the Data Set Disposition screen shown in
Figure C-9 after you END from the test screen so you can
select a disposition process option. The dataset's DSNAME
and the DDNAME to which it is allocated are prefilled on
this screen.
|---------------------------------------------------------------------------
-------|
|
|
| ---------------------- XPEDITER/TSO - DATA SET DISPOSITION ---------------
------ |
| COMMAND ===>
|
|
|
| DDNAME: XPOUT
|
| DSNAME: 'ASJUSR1.LOG.TEST'
|
|
|
| DATA SET DISPOSITION: VALID PROCESS OPTIONS: B (Browse) K (Keep)
|
| Process Option ===> D C (Copy) M (Move)
|
| SYSOUT Class ===> A D (Delete) PD (Print-Delete
) |
| Local Printer ID ===> XEROX01 E (Edit) PK (Print-Keep)
|
| R (Rename)
|
| For Process Options C, M, or R:
|
| DSNAME ===>
|
| Member Name ===>
|
|
|
| JOB CARD INFORMATION: (Required for system printer)
|
| ----*----1----*----2----*----3----*----4----*----5----*----6----*----7-
- |
| //ASJUSR1Y JOB (ASJUSR1),'SUE',CLASS=A,MSGCLASS=Z
|
| //*
|
| //*
|
| //*
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-9. Screen Displayed AFTER the Debugging Session Is Ended
The fields on this screen are:
Process Option
Any of the following process options can be specified:
B Browse the log or script dataset.
C Copy the log or script dataset to the partitioned dataset
named in the DSNAME field. The PDS member name must be
entered in the Member Name field.
D Delete the log or script dataset without printing it.
E Display the log or script dataset so you can edit it
before copying it to another dataset.
K Keep the log or script dataset without printing it. The
file will be saved as a sequential dataset by the same
name.
M Move the log or script dataset to the partitioned dataset
named in the DSNAME field. The PDS member name must be
entered in the Member Name field.
PD Print and delete the log or script dataset.
PK Print and keep the log or script dataset.
R Rename a sequential dataset and enter its new name in the
DSNAME field. No member name is required because only a
sequential dataset should be specified for the Rename
option.
SYSOUT Class
A default SYSOUT class can be entered for XPEDITER/TSO
datasets. If specified, it is used when process option PD
(print and delete) or PK (print and keep) is entered. The
SYSOUT class can be A-Z, 0-9, or *.
If the SYSOUT class is to be used to direct printing to the
appropriate output device, "JOB CARD INFORMATION" must also be
specified.
Local Printer ID
A default local printer ID can be specified for the
XPEDITER/TSO dataset. If specified, it is used when process
option PD (print and delete) or PK (print and keep) is
selected. The local printer ID is the name your installation
assigned to a local IBM 328x printer (for example, XEROX01, as
shown in Figure C-9). For local printing, the TSO command
processor DSPRINT must be installed on the Local Printer
Support installation panel.
DSNAME Required for process options C, M, and R. Enter the name of
the partitioned dataset into which the log or script dataset
is to be copied, moved, or renamed.
Member Name Required for process options C and M. Enter the name of the
PDS member.
JOB CARD INFORMATION
Required if "SYSOUT Class" is specified. Enter up to four
default job statements to submit a background job to print the
log or script dataset when the current debugging session ends.
The remaining fields on the Log Data Set screen are:
DISPOSITION BEFORE THE TEST
A value is required for Process Option. Specify any of the
following process options to indicate the disposition of an
existing log or script dataset before the debugging session
begins:
A Append the new dataset to the end of the old dataset.
D Delete the old dataset and reuse the same DSNAME.
? Displays the Data Set Disposition screen shown in
Figure C-10 before the beginning of a debugging session so
you can specify whether the new dataset is to be appended
(option A) to the end of the existing log or script
dataset or to delete (option D) the existing dataset
before creating the log or script dataset for this
debugging session.
Note: Attempting to allocate a dataset with the same
name as an existing dataset causes a file allocation
error. This Data Set Disposition screen lets you specify
what to do when that situation occurs.
The "DDNAME" field on the Data Set Disposition screen
contains the DDNAME to which this dataset is about to be
allocated. For example, the log dataset is always
allocated to the XPOUT DDNAME. The DSNAME you entered on
the previous screen is prefilled in the "DSNAME" field.
|---------------------------------------------------------------------------
-------|
|
|
| ---------------------- XPEDITER/TSO - DATA SET DISPOSITION ---------------
------ |
| COMMAND ===>
|
|
|
|
|
|
|
| DATA SET DISPOSITION:
|
| Process Option ===> Valid Options: A (Append new data to end of fil
e) |
| D (Delete old data set and reuse
) |
|
|
|
|
| DDNAME: XPOUT
|
| DSNAME: 'ASJUSR1.LOG.TEST'
|
|
|
|
|
| The above file was to be allocated as a new output file, but it already
|
| exists.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-10. Screen Displayed BEFORE the Debugging Session Begins
C.4.6 DB2 System Name and DSNLOAD Libraries Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Establishing the connection to DB2 requires a DB2 system ID and access to


the DB2 programs that reside in the DSNLOAD dataset that was created when
DB2 was installed. The DB2 system name can be defaulted, and the DSNLOAD
dataset(s) can be placed in the installation LPALIB or LINKLIST. The DB2
System Name and DSNLOAD screen is used to define required or additional
DB2 system IDs and DSNLOAD datasets for access to DB2.
Access to multiple DB2 systems and multiple DSNLOAD datasets is controlled
by the entries on this screen. If your installation defined a default DB2
system ID and the DB2 DSNLOAD dataset is permanently allocated when
XPEDITER/TSO is activated, then this screen can be left blank.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------ XPEDITER/TSO - DSNLOAD LIBRARIES -----------------
------ |
| COMMAND ===>
|
|
|
|
|
| NAME DSNLOAD DSNAME
|
| (1) ===> D220 ===> 'DB2.V220X.DSNLOAD'
|
| (2) ===> D210 ===> 'DB2.V210X.DSNLOAD'
|
| (3) ===> ===>
|
| (4) ===> ===>
|
| (5) ===> ===>
|
| (6) ===> ===>
|
| (7) ===> ===>
|
| (8) ===> ===>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-11. DSNLOAD Libraries Screen
The fields on this screen are described below:
NAME Defines DB2 system ID names that can be used at your
installation to connect to a DB2 system. DSNLOAD datasets can
also be associated with the DB2 system IDs on this screen. If
you use more than one DB2 system, then each should be defined
on this screen.
For STANDARD debugging sessions, specify a specific DB2 system
ID to be used when activating DB2. This value becomes the
system parameter option for the DSN command, and the associated
DSNLOAD datasets are included in XTASKLIB.
For DIALOG debugging sessions, the DSNLOAD datasets are
included in XTASKLIB, but you must issue the DSN if it is
required.
For IMS and BTS debugging sessions, the DSNLOAD datasets are
allocated to DFSESL, as well as XTASKLIB. IMS also connects
through the IMS/DB2 interface module DSNMTV01.
DSNLOAD NAME
Associates the DB2 system ID NAME with the DSNLOAD datasets.
For each NAME, one or more DSNLOAD datasets can be defined.
The following example shows four possible DB2 connections with
various DSNLOAD dataset combinations:
NAME DSNLOAD DSNAME
(1) ===> DSNX ===> 'DSNX.LOADLIB'
(2) ===> DSNX ===> 'DSNX.RUNLIB'
(3) ===> DSNY ===>
(4) ===> DSNZ ===> 'DSNZ.LOADLIB'
(5) ===> ===> 'DSNY.LOADLIB'
The DB2 system identified by DSNX will have two DSNLOAD
datasets allocated to XTASKLIB.
The DB2 system identified by DSNZ will have one DSNLOAD dataset
allocated.
The system identified by DSNY will have no DSNLOAD datasets
allocated.
A DB2 test with no system specified will be allocated on the
DSNLOAD dataset.
C.4.7 TCF Repository Dataset Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The TCF Repository Dataset Screen shown in Figure C-12 is displayed by


selecting T (TCF) from the Standard Test Setup Menu. This option allows
you to capture all of the file activity for a given testing session.
Enter the dataset name, test case name, and test case comments that will
be used to load file activity directly into the mainframe repository file.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------------ TCF REPOSITORY DATASET ---------------------
------ |
| COMMAND ===>
|
|
|
| Specify TCF repository dataset:
|
| Dataset name ===> TECH.TEST.SESSIONS
|
| Test Case name ===> ACCRECV (Blank defaults to program name)
|
|
|
| Line Commands: D - (Delete line) I - (Insert line)
|
|
|
| Test Case Comments:
|
| _ ----+----1----+----2----+----3----+----4----+----5----+----6
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
| _ ____________________________________________________________
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-12. TCF Repository Dataset Screen

The fields on this screen are:


Dataset Name Specify the Test Case Facility repository dataset name
where the captured information will be stored.
Test Case Name Enter the test case name to be associated with the
file records captured during the XPEDITER session. If
the Test Case Name field is blank, it defaults to the
program name specified on the Standard Test screen.
Test Case Comments Enter any comments to be associated with the captured
file records. This field is 60 columns wide, 10 rows
deep, and cannot be scrolled.
C.5 IMS Setup Menu
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The menu that appears for option I (IMS) on the Test Setup Menu is shown
in Figure C-13. The screens for these options are used to specify the
datasets to be allocated to the IMS DDNAMEs. The nine screens can be
selected individually or all together as a complete sequence.
The following screens are required:
* IMS processing types and parameters (option 1)
* IMS authorized load libraries (option 2)
* PSB and DBD libraries (option 3)
* ACB libraries (option 4)
All these parameters are required to debug an IMS program.
The rest of the selections on the menu are optional.
The values specific to each of the screens should have been completed at
installation time. You may want to merely verify them, or in some cases,
add to or override the installation defaults. For example, you may want
to change program parameters specific to your application.
All the IMS setup screens are described in the following subsections.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT --------- XPEDITER/TSO - IMS SETUP MENU -----------------
-------|
| OPTION ===>
|
|
|
|
|
| 1 PARMS - IMS processing types and parameters
|
| 2 DFSRESLB - IMS authorized load libraries
|
| 3 IMS - PSB and DBD libraries
|
| 4 IMSACB - ACB libraries
|
| 5 PROCLIB - IMS PROCLIB containing the preload list
|
| 6 IEFRDER - IMS logging and recovery data set
|
| 7 IMSMON - IMS DB monitor data set
|
| 8 DFSVSAMP - VSAM shared resource pool data set
|
| 9 IMSERR - IMS error data set
|
|
|
| A ALL - Display all of the above in succession
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-13. IMS Setup Menu

C.5.1 IMS Parameter Lists Screen


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The IMS Parameter Lists screen lets you specify the valid program types
and their corresponding parameter lists.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------ XPEDITER/TSO - IMS PARAMETER LISTS ---------------
------ |
| COMMAND ===>
|
|
|
|
|
| TYPE PARM LIST
|
|
|
| (1) ===> DLI ===> DLI,MODULE,PSB,8,0000,,0,,N,0,T,,,N,N,,N
|
| (2) ===> BMP ===> BMP,MODULE,PSB,,,N00000
|
| (3) ===> ===>
|
| (4) ===> ===>
|
| (5) ===> ===>
|
| (6) ===> ===>
|
| (7) ===> ===>
|
| (8) ===> ===>
|
|
|
|
|
|
|
|
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-14. IMS Parameter Lists Screen
The fields on this screen are:
Type Enter the IMS program types supported at your site (DLI, DBB,
BMP, etc.). Create a separate line for each type and its
corresponding PARM list.
PARM List Enter the PARM list for the specified Type. Each list contains
the program type followed by the keywords ",MODULE,PSB," and
the rest of the parameters used in your shop. At execution
time, the ",MODULE,PSB," string is replaced with the program
name and PSB that the user enters on the test screen.
The supplied default parameter string(s) probably will not
function correctly in your shop. If you are uncertain what
parameter list to specify, consult one of the following
information sources:
* One of your shop's typical DLI/BMP batch PROCs
* Your system programmer
* IBM's IMS/VS System Programming Reference Manual
* General information is available through the HELP panels.
Note: Special characters (anything other than numbers,
letters, $, #, or ¢) should be enclosed in quotation marks.
C.5.2 IMS Load (DFSRESLB) Libraries Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The IMS DFSRESLB Libraries screen is used to allocate the DSNAMEs of the
IMS authorized load libraries to the DFSRESLB DDNAME. The DFSRESLB
dataset contains all the system load modules that make up the IMS
software, including both DL/I and the data communications component.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------ XPEDITER/TSO - DFSRESLB LIBRARIES ----------------
------ |
| COMMAND ===>
|
|
|
|
|
| IMS Authorized Load Library DSNAMEs (DDNAME DFSRESLB):
|
|
|
| (1) ===> 'IMS.V130XP.RESLIB'
|
| (2) ===>
|
| (3) ===>
|
| (4) ===>
|
| (5) ===>
|
| (6) ===>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-15. IMS DFSRESLB Libraries Screen
The field on this screen is:
IMS Authorized Load Library DSNAMEs (DDNAME DFSRESLB)
Enter from one to six DSNAMEs. Consult a batch IMS PROC in
your shop if you are not sure which DSNAMEs to enter.
C.5.3 PSB and DBD Libraries Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The PSB/DBD Libraries screen (Figure C-16) is used to list your IMS PSB
and DBD library dataset names. The PSBLIB contains your Program
Specification Blocks (PSBs). The DBDLIB contains your Data Base
Definitions (DBDs). Both of these datasets are required with DB or DB/DC
systems. They can also be used if a DL/I batch region is being executed.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------ XPEDITER/TSO - PSB/DBD LIBRARIES -----------------
------ |
| COMMAND ===>
|
|
|
| PSB/DBD Library DSNAMEs (DDNAME IMS):
|
|
|
| (1) ===> 'IMS.V130XP.PSBLIB'
|
| (2) ===> 'IMS.V130XP.DBDLIB'
|
| (3) ===>
|
| (4) ===>
|
| (5) ===>
|
| (6) ===>
|
| (7) ===>
|
| (8) ===>
|
| (9) ===>
|
| (10) ===>
|
| (11) ===>
|
| (12) ===>
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-16. PSB/DBD Libraries Screen
The field on this screen is:
PSB/DBD Library DSNAMEs (DDNAME IMS)
Enter from 0 to 12 DSNAMEs. Consult a batch IMS PROC in your
shop if you are unsure of the DSNAMEs. If the application
being debugged uses ACB libraries, the DSNAME field can be left
blank because the ACBLIB dataset stores the combined DBDs and
PSBs.
C.5.4 ACB Libraries Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
The ACB Libraries screen is used to enter your ACB library dataset names.
When an IMS application program is executed, IMS must combine the
information in the DBD and PSB before the program can be executed. Your
shop can merge the DBD and PSB information in the ACBLIB, so that IMS will
not have to do this each time a program runs. The use of the ACBLIB
dataset is optional for batch IMS programs but is required for MPP and BMP
programs.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT --------- XPEDITER/TSO - ACB LIBRARIES ------------------
------ |
| COMMAND ===>
|
|
|
| ACB Library DSNAMEs (DDNAME IMSACB):
|
|
|
| (1) ===> 'IMS.V130XP.ACBLIB'
|
| (2) ===>
|
| (3) ===>
|
| (4) ===>
|
| (5) ===>
|
| (6) ===>
|
| (7) ===>
|
| (8) ===>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-17. ACB Libraries Screen
The field on this screen is:
ACB Library DSNAMEs (DDNAME IMSACB)
Enter from zero to eight DSNAMEs. Consult a batch PROC in your
shop if you are unsure of the DSNAMEs. The DSNAME field can be
left blank if the application being debugged uses PSB and DBD
libraries.
C.5.5 IMS Preload List Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The IMS Preload List screen lets you enter the PROCLIB dataset name.
Both IMS and BTS use the PROCLIB DDNAME to point to the dataset where
preload specifications are stored. The IMSVS.PROCLIB dataset stores all
IMS-generated cataloged procedures and jobs. DFSMPLxx is the
IMSVS.PROCLIB member that contains the preload list, a group of modules to
be loaded before IMS loads the user's program.
A 2-character suffix from a parameter list is used to select the preload
list to be executed. For example, suppose you specify that the following
DLI parameter list is to be used with your program. (The DLI parameter
list shown below would be displayed on your IMS Parameter Lists screen.)
TYPE PARM LIST
===> DLI ===> DLI,MODULE,PSB,12,0000,00,0,,N
Notice that the sixth parameter is a pair of zeros. This suffix is
concatenated with DFSMPLxx to define DFSMPL00 as the name of your preload
list. Omit the suffix if no preload list is needed.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------- XPEDITER/TSO - IMS PRELOAD LIST -----------------
------ |
| COMMAND ===>
|
|
|
|
|
| Preload List Data Set (DDNAME PROCLIB):
|
|
|
| DSNAME ===> 'SYS1.IMSVS.PROCLIB'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-18. IMS Preload List Screen
The field on this screen is:
Preload List Data Set (DDNAME PROCLIB)
Enter the name of the dataset containing preload lists, not the
name of the dataset where XPEDITER/TSO or IMS PROCs are stored,
unless the two are identical. Consult an IMS batch PROC in
your shop if you are not sure which DSNAME to enter. If this
DDNAME is not required, leave the DSNAME blank.
C.5.6 Logging and Recovery (IEFRDER) Data Set Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The IEFRDER Data Set screen is used to allocate a dataset to the IEFRDER
DDNAME. Supplying an IEFRDER dataset causes the IMS logging facility to
be invoked.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------- XPEDITER/TSO - IEFRDER DATA SET -----------------
------ |
| COMMAND ===>
|
|
|
|
|
| ENTER a DSNAME, DUMMY, TEMP, TERM, SYSOUT, or leave blank for no allocatio
n |
|
|
| DSNAME ===> DUMMY
|
| DISP ===>
|
|
|
| Units ===> PROCESS OPTIONS FOR NEW DATA SETS:
|
| Primary ===> Before Allocation ===>
|
| Secondary ===> Upon Deallocation ===>
|
| Volume ===>
|
| Unit ===>
|
| VALID PROCESS OPTIONS:
|
| RECFM ===> D (Delete) K (Keep) ? (Prompt)
|
| LRECL ===>
|
| BLKSIZE ===>
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-19. IEFRDER Data Set Screen
The fields on this screen are:
DSNAME Enter a qualified DSNAME (enclosed in quotes), DUMMY, TEMP,
TERM, or SYSOUT (JES dataset), or leave this field blank. If
the DSNAME is entered without quotes, the userid (or other
DSNAME high-level qualifier) is prefixed and quotes are added.
If the DSNAME field is left blank, the dataset is not
allocated.
Consult a batch IMS PROC in your shop if you are not sure
which DSNAME to enter. If the IEFRDER DDNAME is not required,
you can leave the DSNAME field blank. Actually, most sites
allocate this DDNAME to DUMMY for debugging rather than leaving
it blank. This conforms to common batch and debugging Message
Region usage.
DISP Valid values for the DISP field are:
S Shared (SHR)
M Modified (MOD)
O Old
N New
If you are allocating an existing dataset, you can specify a
disposition of SHR, OLD, or MOD. If you do not enter a value
in the DISP field, a SHR disposition is assumed. Datasets with
a disposition of SHR can be concatenated.
If the DSNAME field contains a value of DUMMY, TEMP, TERM, or
SYSOUT, leave the DISP field blank.
Enter a disposition of NEW for a new or temporary dataset. If
you are allocating a new (DSNAME='qualified-DSNAME') or
temporary file (DSNAME=TEMP), you must enter values for all the
fields below except Volume and Unit, which are optional for a
NEW or TEMP file.
If you specify a new dataset, it is allocated before your
debugging session begins and is deallocated immediately after
your debugging session ends. The fields for the PROCESS
OPTIONS FOR NEW DATA SETS let you specify how the new dataset
is to be allocated and deallocated.
For more information about NEW, OLD, MOD, or SHR dataset
dispositions, see "Types of Files" in topic B.6.
Units Valid values are TRK, CYL, or a block size (1-32760).
Primary Valid values are 0-32760.
Secondary Valid values are 0-32760.
Volume If your installation requires it, you must supply a value for
the Volume field. Also enter the volume if you are specifying
an uncataloged dataset. Otherwise, leave blank for the
default value.
Unit If your installation requires it, you must supply a value for
the Unit field. Otherwise, leave blank for the default value.
RECFM Valid values are FBM, FBA, FB, F, VBM, VBA, VBS, VS, VB, V, and
U.
LRECL Valid values are 0-32760 (omit if RECFM is U for undefined
length records).
BLKSIZE Valid values are 0-32760.
If you are allocating a DUMMY or SYSOUT file (DSNAME=DUMMY or
DSNAME=SYSOUT), you must enter the block size.
Before Allocation
Valid process options are:
D Automatically delete the old file, if one exists, before a
new dataset is allocated.
K Keep the old dataset.
? Display the Data Set Disposition screen each time a
dataset is to be allocated, so that you can decide whether
to delete or keep the old one.
Upon Deallocation
Valid process options are:
D Automatically delete the new file after every debugging
session.
K Always keep the new dataset.
? Display the Data Set Disposition screen each time a
dataset is to be deallocated, so that you can decide
whether to delete or keep the new one.
C.5.7 IMS Monitor (IMSMON) Data Set Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The IMSMON Data Set screen is used to allocate the DB and DC monitor
datasets to the IMSMON DDNAME. IMS run-time activities, especially
database calls, are recorded in the IMS monitor file. This dataset can be
used as an input for report programs that list, summarize, or analyze IMS
activities.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT -------- XPEDITER/TSO - IMSMON DATA SET -----------------
------ |
| COMMAND ===>
|
|
|
|
|
| ENTER a DSNAME, DUMMY, TEMP, TERM, SYSOUT, or leave blank for no allocatio
n |
|
|
| DSNAME ===> DUMMY
|
| DISP ===>
|
|
|
| Units ===> PROCESS OPTIONS FOR NEW DATA SETS:
|
| Primary ===> Before Allocation ===>
|
| Secondary ===> Upon Deallocation ===>
|
| Volume ===>
|
| Unit ===>
|
| VALID PROCESS OPTIONS:
|
| RECFM ===> D (Delete) K (Keep) ? (Prompt)
|
| LRECL ===>
|
| BLKSIZE ===>
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-20. IMSMON Data Set Screen
The valid values for the fields on this screen are the same as for the
IEFRDER screen. Refer to "Logging and Recovery (IEFRDER) Data Set Screen"
in topic C.5.6 for descriptions of these fields.
C.5.8 VSAM Buffer Pool Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The VSAM Buffer Pool screen is shown in Figure C-21.


|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------- XPEDITER/TSO - VSAM BUFFER POOL -----------------
------ |
| COMMAND ===>
|
|
|
|
|
| VSAM Buffer Pool Specification Data Set (DDNAME DFSVSAMP):
|
|
|
| DSNAME ===> 'SYS1.IMSVS.PROCLIB(DFSVSAMP)'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-21. VSAM Buffer Pool Screen
The field on this screen is:
VSAM Buffer Pool Specification Data Set (DDNAME DFSVSAMP)
The DFSVSAMP dataset contains the buffer length and the number
of buffers to be used for a program. If not stated, IMS uses a
default buffer size. If the DFSVSAMP dataset is a PDS, enter
its member name.
If VSAM databases are used, this dataset must be allocated.
Since BTS can attach IMS more than once, define the DFSVSAMP
file as a DASD dataset so it can be reread. The DFSVSAMP file
can also be used for ISAM/OSAM databases.
Consult a batch PROC in your shop if you are unsure of the
DSNAME. If this DDNAME is not required, leave the DSNAME field
blank.
C.5.9 IMS Error (IMSERR) Data Set Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The IMSERR Data Set screen is used to allocate datasets to the IMSERR
DDNAME. An IMSERR dataset contains the formatted dump of the IMS/VS GSAM
control blocks when an error occurs, or when a DUMP or SNAP call is issued
to a GSAM PCB.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT --------- XPEDITER/TSO - IMSERR DATA SET ----------------
------ |
| COMMAND ===>
|
|
|
|
|
| ENTER a DSNAME, DUMMY, TEMP, TERM, SYSOUT, or leave blank for no allocatio
n |
|
|
| DSNAME ===> DUMMY
|
| DISP ===>
|
|
|
| Units ===> PROCESS OPTIONS FOR NEW DATA SETS:
|
| Primary ===> Before Allocation ===>
|
| Secondary ===> Upon Deallocation ===>
|
| Volume ===>
|
| Unit ===>
|
| VALID PROCESS OPTIONS:
|
| RECFM ===> D (Delete) K (Keep) ? (Prompt)
|
| LRECL ===>
|
| BLKSIZE ===>
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-22. IMS Error (IMSERR) Screen
The valid values for the fields on this screen are the same as for the
IEFRDER screen. Refer to "Logging and Recovery (IEFRDER) Data Set Screen"
in topic C.5.6 for descriptions of these fields.
Note: Consult a batch IMS PROC in your shop if you are unsure of the
DSNAME. Most sites allocate this DDNAME to DUMMY for debugging.
C.6 BTS Setup Menu
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The menu that appears for option B (BTS) on the Test Setup Menu is shown
in Figure C-23. The BTS Setup Menu is used to select screens where you
can list the datasets to be allocated to BTS DDNAMEs. The values specific
to each of the option panels should have been completed at installation
time. You may want to verify them, or in some cases, add to or override
the installation defaults. The nine screens can be selected individually
or all together as a complete sequence.
The following parameters are required to debug a BTS program:
1. BTS Processing Types and Parameters (option 1)
2. BTS Load Libraries (option 2)
3. BTSIN--the BTSIN dataset is dynamically allocated by the application
programmer during the debugging session
All of the BTS setup screens are described in the following subsections.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT -------- XPEDITER/TSO - BTS SETUP MENU ------------------
------ |
| OPTION ===>
|
|
|
| 1 PARMS - BTS processing types and parameters
|
| 2 BTSLOAD - BTS load libraries
|
| 3 FORMAT - MFS libraries
|
| 4 BTSOUT - BTS output listing file
|
| 5 BTSPUNCH - BTS regression test input file
|
| 6 BTSDEBUG - BTS debug output file
|
| 7 QIOPCB - Work file for output message queue (IOPCB)
|
| 8 QALTPCB - Work file for output message queue (ALTPCB)
|
| 9 QALTRAN - Work file for alternate PCB output
|
|
|
| A ALL - Display all of the above in succession
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-23. BTS Setup Screen

C.6.1 BTS Parameter Lists Screen


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The BTS Parameter Lists screen is used to specify the valid program types
and their corresponding PARM lists.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------ XPEDITER/TSO - BTS PARAMETER LISTS ---------------
------ |
| COMMAND ===>
|
|
|
|
|
| TYPE PARM LIST
|
|
|
| (1) ===> DLI ===> DLI,7,0000,,0,,N,0,T,,,N,N,,N
|
| (2) ===> DBB ===> DBB,7,0000,,0,,N,0,T,,,N,N,,N
|
| (3) ===> BMP ===> BMP,,,C00000,,,,0
|
| (4) ===> ===>
|
| (5) ===> ===>
|
| (6) ===> ===>
|
| (7) ===> ===>
|
| (8) ===> ===>
|
|
|
|
|
|
|
|
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-24. BTS Parameter Lists Screen
The fields on this screen are:
TYPE Enter the BTS program types supported at your site (DLI, DBB,
BMP, etc.). Create a separate line for each type and its
corresponding PARM list.
PARM LIST Enter the PARM list. Each list begins with the program type
followed by the rest of the parameters used in your shop.
Note: Special characters (anything other than numbers,
letters, $, #, or ¢) should be enclosed in quotation marks.
C.6.2 BTS Load Libraries Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The BTS Load Libraries screen lets you enter the dataset names of your
BTS authorized load libraries. Do not enter DSNAMEs for your application
programs that are compiled to run under BTS. The BTS load libraries are
system datasets that contain all the load modules that make up the BTS
software.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------ XPEDITER/TSO - BTS LOAD LIBRARIES ----------------
------ |
| COMMAND ===>
|
|
|
|
|
| BTS (Program Product) Load Library DSNAMEs:
|
|
|
| (1) ===> 'IMS.V130X.BTSLIB'
|
| (2) ===>
|
| (3) ===>
|
| (4) ===>
|
| (5) ===>
|
| (6) ===>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-25. BTS Load Libraries Screen
The field on this screen is:
BTS (Program Product) Load Library DSNAMEs
Enter from one to six DSNAMEs. Consult a batch BTS PROC in
your shop if you are not sure which DSNAMEs to enter.
C.6.3 MFS Libraries (Format) Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The MFS Libraries screen is used to enter your format library dataset
name(s). The message format service helps to format messages that will
be transmitted to and from display screens. These message definitions are
stored in the format library.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT --------- XPEDITER/TSO - MFS LIBRARIES ------------------
------ |
| COMMAND ===>
|
|
|
| Message Format Services Library DSNAMEs (DDNAME FORMAT):
|
|
|
| (1) ===> 'IMS.V130XP.TFORMAT'
|
| (2) ===> 'IMS.V130XP.FORMAT'
|
| (3) ===>
|
| (4) ===>
|
| (5) ===>
|
| (6) ===>
|
| (7) ===>
|
| (8) ===>
|
| (9) ===>
|
| (10) ===>
|
| (11) ===>
|
| (12) ===>
|
|
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-26. MFS Libraries Screen
The field on this screen is:
Message Format Services Library DSNAMEs (DDNAME FORMAT)
Enter from one to twelve DSNAMEs. Consult a batch BTS PROC in
your shop if you are unsure which DSNAME to enter. These
DSNAME fields can be left blank if the application to be
debugged does not use MFS.
C.6.4 BTS Output (BTSOUT Data Set) Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The BTSOUT Data Set screen lets you allocate a sequential dataset to the
BTSOUT DDNAME. The BTS input and output screen images and output
messages are written to this BTS output listing. You can retain a copy of
the BTSOUT dataset or, if it was allocated with SYSOUT=A, you can print a
hard copy.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------- XPEDITER/TSO - BTSOUT DATA SET ------------------
------ |
| COMMAND ===>
|
|
|
|
|
| ENTER a DSNAME, DUMMY, TEMP, TERM, SYSOUT, or leave blank for no allocatio
n |
|
|
| DSNAME ===> BTSOUT.DATA
|
| DISP ===> NEW
|
|
|
| Units ===> TRK PROCESS OPTIONS FOR NEW DATA SETS:
|
| Primary ===> 2 Before Allocation ===> D
|
| Secondary ===> 2 Upon Deallocation ===> ?
|
| Volume ===>
|
| Unit ===>
|
| VALID PROCESS OPTIONS:
|
| RECFM ===> FBA D (Delete) K (Keep) ? (Prompt)
|
| LRECL ===> 133
|
| BLKSIZE ===> 6118
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-27. BTSOUT Data Set Screen
The fields on this screen are:
DSNAME Enter a qualified DSNAME (enclosed in quotes), DUMMY, TEMP,
TERM, or SYSOUT (JES dataset), or leave this field blank. If
the DSNAME is entered without quotes, the userid (or other
DSNAME high-level qualifier) is prefixed and quotes are added.
If the DSNAME field is left blank, the dataset is not
allocated.
Consult a batch BTS PROC in your shop if you are not sure which
DSNAME to enter. If the BTSOUT DDNAME is not to be allocated,
leave the DSNAME field blank.
DISP Valid values for the DISP field are:
S Shared (SHR)
M Modified (MOD)
O Old
N New
If you are allocating an existing dataset, you can specify a
disposition of SHR, OLD, or MOD. If you do not enter a value
in the DISP field, a SHR disposition is assumed. Datasets with
a disposition of SHR can be concatenated.
If the DSNAME field contains a value of DUMMY, TEMP, TERM, or
SYSOUT, leave the DISP field blank.
Enter a disposition of NEW for a new or temporary dataset. If
you are allocating a new (DSNAME='qualified-DSNAME') or
temporary file (DSNAME=TEMP), you must enter values for all the
fields below except Volume and Unit, which are optional for a
NEW or TEMP file.
If you specify a new dataset, it is allocated before your
debugging session begins and is deallocated immediately after
your debugging session ends. The fields for the PROCESS
OPTIONS FOR NEW DATA SETS let you specify how the new dataset
is to be allocated and deallocated.
For more information about NEW, OLD, MOD, or SHR dataset
dispositions, see "Types of Files" in topic B.6.
Units Valid values are TRK, CYL, or a block size (1-32760).
Primary Valid values are 0-32760.
Secondary Valid values are 0-32760.
Volume If your installation requires it, you must supply a value for
the Volume field. Also enter the volume if you are specifying
an uncataloged dataset. Otherwise, leave blank for the
default value.
Unit If your installation requires it, you must supply a value for
the Unit field. Otherwise, leave blank for the default value.
RECFM Valid values are FBM, FBA, FB, F, VBM, VBA, VBS, VS, VB, V, and
U.
LRECL Valid values are 0-32760 (omit if RECFM is U for undefined
length records).
BLKSIZE Valid values are 0-32760.
If you are allocating a DUMMY or SYSOUT file (DSNAME=DUMMY or
DSNAME=SYSOUT), you must enter the block size.
Before Allocation
Valid process options are:
D Automatically delete the old file, if one exists, before a
new dataset is allocated.
K Always keep the old dataset.
? Display the Data Set Disposition screen each time a
dataset is to be allocated, so that you can decide whether
to delete or keep the old dataset.
Upon Deallocation
Valid process options are:
D Automatically delete the new file after every debugging
session.
K Always keep the new dataset.
? Display the Data Set Disposition screen each time a
dataset is to be deallocated, so that you can decide
whether to delete or keep the new dataset.
C.6.5 BTS Punch Output (BTSPUNCH Data Set) Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The BTSPUNCH Data Set screen is used to allocate a sequential dataset to


the BTSPUNCH DDNAME. If executing as a TSO task, BTS attempts to open a
sequential output dataset named BTSPUNCH. This dataset is used to create
regression debugging input data. It contains everything that BTS receives
as input.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------ XPEDITER/TSO - BTSPUNCH DATA SET -----------------
------ |
| COMMAND ===>
|
|
|
|
|
| ENTER a DSNAME, DUMMY, TEMP, TERM, SYSOUT, or leave blank for no allocatio
n |
|
|
| DSNAME ===> DUMMY
|
| DISP ===>
|
|
|
| Units ===> PROCESS OPTIONS FOR NEW DATA SETS:
|
| Primary ===> Before Allocation ===>
|
| Secondary ===> Upon Deallocation ===>
|
| Volume ===>
|
| Unit ===>
|
| VALID PROCESS OPTIONS:
|
| RECFM ===> D (Delete) K (Keep) ? (Prompt)
|
| LRECL ===>
|
| BLKSIZE ===>
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-28. BTSPUNCH Data Set Screen
The fields on this screen are:
DSNAME Enter a qualified DSNAME (enclosed in quotes), DUMMY, TEMP,
TERM, or SYSOUT (JES dataset), or leave this field blank. If
the DSNAME is entered without quotes, the userid (or other
DSNAME high-level qualifier) is prefixed and quotes are added.
If the DSNAME field is left blank, the dataset is not
allocated.
Consult a batch BTS PROC in your shop if you are not sure which
DSNAME to enter. If you decide not to use this dataset, leave
the DSNAME field blank. Most sites allocate this DDNAME to
DUMMY for debugging rather than leaving it blank. This
conforms to common batch and debugging Message Region usage.
The valid values for the remaining fields on this screen are the same as
those on the BTSOUT screen. Refer to "BTS Output (BTSOUT Data Set)
Screen" in topic C.6.4 for descriptions of the fields.
C.6.6 BTS Debug (BTSDEBUG Data Set) Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The BTS Debug function is activated by allocating a dataset to the


BTSDEBUG DDNAME. The BTSDEBUG dataset contains SNAP dumps of the Trace
Table and various control blocks taken at critical points during BTS
execution.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------ XPEDITER/TSO - BTSDEBUG DATA SET -----------------
------ |
| COMMAND ===>
|
|
|
| ENTER a DSNAME, DUMMY, TEMP, TERM, SYSOUT, or leave blank for no allocatio
n |
|
|
| DSNAME ===>
|
| DISP ===>
|
|
|
| Units ===> PROCESS OPTIONS FOR NEW DATA SETS:
|
| Primary ===> Before Allocation ===>
|
| Secondary ===> Upon Deallocation ===>
|
| Volume ===>
|
| Unit ===>
|
| VALID PROCESS OPTIONS:
|
| RECFM ===> D (Delete) K (Keep) ? (Prompt)
|
| LRECL ===>
|
| BLKSIZE ===>
|
|
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-29. BTSDEBUG Data Set Screen
The fields on this screen are:
DSNAME Enter a qualified DSNAME (enclosed in quotes), TEMP, TERM, or
SYSOUT (JES dataset), or leave this field blank. If the DSNAME
is entered without quotes, the userid (or other DSNAME
high-level qualifier) is prefixed and quotes are added. If the
DSNAME field is left blank, the dataset is not allocated.
Note: For performance reasons, IBM strongly recommends that
you do not allocate BTSDEBUG to DUMMY.
DISP Valid values for the DISP field are:
N New
O Old
M Modified (MOD)
S Shared (SHR)
If TERM or SYSOUT was entered in the DSNAME field, you do not
have to supply a value for the DISP field. If you are
allocating a SYSOUT file (DSNAME=SYSOUT), enter the block size
in the BLKSIZE field.
Datasets with a disposition of SHR can be concatenated.
Enter a disposition of NEW for a new or temporary dataset. If
you are allocating a new (DSNAME='qualified-DSNAME') or
temporary file (DSNAME=TEMP), you must enter values for all the
remaining fields except Volume and Unit, which are optional for
a new or TEMP file. If you specify a new dataset, it is
allocated before your debugging session begins and is
deallocated immediately after your debugging session ends. The
fields for the PROCESS OPTIONS FOR NEW DATA SETS let you
specify how the new dataset is to be allocated and deallocated.
The valid values for the remaining fields on this screen are the same as
those on the BTSOUT screen. Refer to "BTS Output (BTSOUT Data Set)
Screen" in topic C.6.4 for descriptions of the fields.
C.6.7 BTS Work File (QIOPCB Data Set) Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The BTS QIOPCB Data Set screen lets you allocate a dataset to the QIOPCB
DDNAME. The QIOPCB dataset is used for INSERT calls against IOPCBs.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT -------- XPEDITER/TSO - QIOPCB DATA SET -----------------
------ |
| COMMAND ===>
|
|
|
|
|
| ENTER a DSNAME, DUMMY, TEMP, TERM, SYSOUT, or leave blank for no allocatio
n |
|
|
| DSNAME ===> TEMP
|
| DISP ===> NEW
|
|
|
| Units ===> TRK PROCESS OPTIONS FOR NEW DATA SETS:
|
| Primary ===> 2 Before Allocation ===>
|
| Secondary ===> 2 Upon Deallocation ===>
|
| Volume ===>
|
| Unit ===> SYSDA
|
| VALID PROCESS OPTIONS:
|
| RECFM ===> D (Delete) K (Keep) ? (Prompt)
|
| LRECL ===> 1024
|
| BLKSIZE ===> 3072
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-30. QIOPCB Data Set Screen
The fields on this screen are:
DSNAME Enter a qualified DSNAME (enclosed in quotes), DUMMY, TEMP,
TERM, or SYSOUT (JES dataset), or leave this field blank. If
the DSNAME is entered without quotes, the userid (or other
DSNAME high-level qualifier) is prefixed and quotes are added.
If the DSNAME field is left blank, the dataset is not
allocated.
Consult a batch BTS PROC in your shop if you are not sure which
DSNAME to enter. If the QIOPCB DDNAME is not required, you can
leave the DSNAME field blank.
Most sites allocate this DDNAME to TEMP for debugging.
Therefore, since this is a NEW dataset, the DCB attributes must
be entered. The LRECL and BLKSIZE should match the largest
used by any application.
Note: The prefilled defaults for LRECL and BLKSIZE are rarely
large enough for actual application databases and transactions.
Therefore, carefully check your output (and application usage)
before specifying them.
The valid values for the remaining fields on this screen are the same as
those on the BTSOUT screen. Refer to "BTS Output (BTSOUT Data Set)
Screen" in topic C.6.4 for descriptions of the fields.
C.6.8 BTS Work File (QALTPCB Data Set) Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

This QALTPCB Data Set screen lets you allocate a dataset to the QALTPCB
DDNAME. The QALTPCB dataset is used for GET-UNIQUE or INSERT calls
against alternate PCBs.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------- XPEDITER/TSO - QALTPCB DATA SET -----------------
------ |
| COMMAND ===>
|
|
|
|
|
| ENTER a DSNAME, DUMMY, TEMP, TERM, SYSOUT, or leave blank for no allocatio
n |
|
|
| DSNAME ===> TEMP
|
| DISP ===> NEW
|
|
|
| Units ===> TRK PROCESS OPTIONS FOR NEW DATA SETS:
|
| Primary ===> 2 Before Allocation ===>
|
| Secondary ===> 2 Upon Deallocation ===>
|
| Volume ===>
|
| Unit ===> SYSDA
|
| VALID PROCESS OPTIONS:
|
| RECFM ===> D (Delete) K (Keep) ? (Prompt)
|
| LRECL ===> 1024
|
| BLKSIZE ===> 3072
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-31. QALTPCB Data Set Screen
The fields on this screen are:
DSNAME Enter a qualified DSNAME (enclosed in quotes), DUMMY, TEMP,
TERM, or SYSOUT (JES dataset), or leave this field blank. If
the DSNAME is entered without quotes, the userid (or other
DSNAME high-level qualifier) is prefixed and quotes are added.
If the DSNAME field is left blank, the dataset is not
allocated.
Consult a batch BTS PROC in your shop if you are not sure which
DSNAME to enter. If you do not plan to use the QALTPCB
dataset, you can leave the DSNAME field blank.
Most sites allocate this DDNAME to TEMP for debugging.
Therefore, since this is a NEW dataset, the DCB attributes must
be entered. The LRECL and BLKSIZE should match the largest
used by any application.
Note: The prefilled defaults for LRECL and BLKSIZE are rarely
large enough for actual application databases and transactions.
Therefore, carefully check your output (and application usage)
before specifying them.
The valid values for the remaining fields on this screen are the same as
those on the BTSOUT screen. Refer to "BTS Output (BTSOUT Data Set)
Screen" in topic C.6.4 for descriptions of the fields.
C.6.9 BTS Work File (QALTRAN Data Set) Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

This QALTRAN Data Set screen lets you allocate a dataset to the QALTRAN
DDNAME. The QALTRAN dataset is a work file for alternate PCB output for a
3270 display screen or a 3270 printer.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------- XPEDITER/TSO - QALTRAN DATA SET -----------------
------ |
| COMMAND ===>
|
|
|
|
|
| ENTER a DSNAME, DUMMY, TEMP, TERM, SYSOUT, or leave blank for no allocatio
n |
|
|
| DSNAME ===> TEMP
|
| DISP ===>
|
|
|
| Units ===> TRK PROCESS OPTIONS FOR NEW DATA SETS:
|
| Primary ===> 2 Before Allocation ===>
|
| Secondary ===> 2 Upon Deallocation ===>
|
| Volume ===>
|
| Unit ===> SYSDA
|
| VALID PROCESS OPTIONS:
|
| RECFM ===> D (Delete) K (Keep) ? (Prompt)
|
| LRECL ===>
|
| BLKSIZE ===> 1024
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-32. QALTRAN Data Set Screen
The fields on this screen are:
DSNAME Enter a qualified DSNAME (enclosed in quotes), DUMMY, TEMP,
TERM, or SYSOUT (JES dataset), or leave this field blank. If
the DSNAME is entered without quotes, the userid (or other
DSNAME high-level qualifier) is prefixed and quotes are added.
If the DSNAME field is left blank, the dataset is not
allocated.
Consult a batch BTS PROC in your shop if you are not sure which
DSNAME to enter. If the QALTRAN DDNAME is not required, leave
the DSNAME field blank.
Note: The prefilled defaults for LRECL and BLKSIZE are rarely
large enough for actual application databases and
transactions. Therefore, carefully check your output (and
application usage) before specifying them.
The valid values for the remaining fields on this screen are the same as
those on the BTSOUT screen. Refer to "BTS Output (BTSOUT Data Set)
Screen" in topic C.6.4 for descriptions of the fields.
C.7 HOGAN Setup Menu
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The menu that appears for option H (HOGAN) on the Setup Menu is shown in
Figure C-33. The HOGAN Setup Menu is used to select screens where you can
list the datasets to be allocated to HOGAN DDNAMEs. The four screens can
be selected individually or all together as a complete sequence. The
screens for these options are described in the following subsections.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ------- XPEDITER/TSO - HOGAN SETUP MENU -----------------
------ |
| OPTION ===>
|
|
|
|
|
| 1 MONITOR - HOGAN Activity LOG Allocation
|
| 2 PRINT - HOGAN Report File Allocation
|
| 3 SNAPDD - HOGAN SNAP Dump Allocation
|
| 4 SYSPRINT - HOGAN Formatted Dump Allocation
|
|
|
| A ALL - Display All Of The Above In Succession
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-33. HOGAN Setup Menu

C.7.1 HOGAN Activity Log (MONITOR Data Set) Screen


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Data related to PEM calls is recorded in the HOGAN monitor file. This
file can be used as input to HOGAN report programs that list, summarize,
or analyze PEM activities. If it is not required, leave the DSNAME field
blank.
If required, the HOGAN monitor file is usually allocated as a variable
block sequential file (VB). If you are using this file for debugging and
expect an abend, an LRECL of 55 and a BLKSIZE of 59 are recommended to
limit the loss of data in buffers. If an abend is not anticipated, then a
larger block size is more efficient.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ---- XPEDITER/TSO - HOGAN MONITOR DATA SET --------------
------ |
| COMMAND ===>
|
|
|
|
|
| ENTER a DSNAME, DUMMY, TEMP, TERM, SYSOUT, or leave blank for no allocatio
n |
|
|
| DSNAME ===>
|
| DISP ===>
|
|
|
| Units ===> PROCESS OPTIONS FOR NEW DATA SETS:
|
| Primary ===> Before Allocation ===>
|
| Secondary ===> Upon Deallocation ===>
|
| Volume ===>
|
| Unit ===>
|
| VALID PROCESS OPTIONS:
|
| RECFM ===> D (Delete) K (Keep) ? (Prompt)
|
| LRECL ===>
|
| BLKSIZE ===>
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-34. HOGAN MONITOR Data Set Screen
The fields on this screen are:
DSNAME If it is not required, leave the DSNAME field blank.
If a DSNAME is required, enter a qualified DSNAME (enclosed in
quotes), DUMMY, TEMP, TERM, or SYSOUT (JES dataset), or leave
this field blank. If the DSNAME is entered without quotes, the
userid (or other DSNAME high level qualifier) is prefixed and
quotes are added. If the DSNAME field is left blank, the
dataset is not allocated.
DISP Valid values for the DISP field are:
S Shared (SHR)
M Modified (MOD)
O Old
N New
If you are allocating an existing dataset, you can specify a
disposition of SHR, OLD, or MOD. If you do not enter a value
in the DISP field, a SHR disposition is assumed. Datasets with
a disposition of SHR can be concatenated.
If the DSNAME field contains a value of DUMMY, TEMP, TERM, or
SYSOUT, leave the DISP field blank.
Enter a disposition of NEW for a new or temporary dataset. If
you are allocating a new (DSNAME='qualified-DSNAME') or
temporary file (DSNAME=TEMP), you must enter values for all the
fields below except Volume and Unit, which are optional for a
NEW or TEMP file.
If you specify a new dataset, it is allocated before your
debugging session begins and deallocated immediately after your
debugging session ends. The fields for the PROCESS OPTIONS FOR
NEW DATA SETS let you specify how the new dataset is to be
allocated and deallocated.
For more information about NEW, OLD, MOD, or SHR dataset
dispositions, see "Types of Files" in topic B.6.
Units Valid values are TRK, CYL, or a block size (1-32760).
Primary Valid values are 0-32760.
Secondary Valid values are 0-32760.
Volume If your installation requires it, you must supply a value for
the Volume field. Also enter the volume if you are specifying
an uncataloged dataset. Otherwise, leave blank for the
default value.
Unit If your installation requires it, you must supply a value for
the Unit field. Otherwise, leave blank for the default value.
RECFM If required, the HOGAN monitor file is usually allocated as a
variable block sequential file (VB).
LRECL If you are using this file for debugging and expect an abend,
an LRECL of 55 is recommended to limit the loss of data in
buffers.
BLKSIZE If you are using this file for debugging and expect an abend, a
block size of 59 is recommended to limit the loss of data in
buffers. If an abend is not anticipated, then a larger block
size is more efficient.
If you are allocating a DUMMY or SYSOUT file (DSNAME=DUMMY or
DSNAME=SYSOUT), you must enter the block size.
Before Allocation
Valid process options are:
D Automatically delete the old file, if one exists, before a
new dataset is allocated.
K Always keep the old dataset.
? Display the Data Set Disposition screen each time a
dataset is to be allocated, so that you can decide whether
to delete or keep the old dataset.
Upon Deallocation
Valid process options are:
D Automatically delete the new file after every debugging
session.
K Always keep the new dataset.
? Display the Data Set Disposition screen each time a
dataset is to be deallocated, so that you can decide
whether to delete or keep the new dataset.
C.7.2 HOGAN Report File (PRINT Data Set) Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The HOGAN PRINT file is used frequently by HOGAN programs to store


reports or other output from application programs.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ----- XPEDITER/TSO - HOGAN PRINT DATA SET ---------------
------ |
| COMMAND ===>
|
|
|
|
|
| ENTER a DSNAME, DUMMY, TEMP, TERM, SYSOUT, or leave blank for no allocatio
n |
|
|
| DSNAME ===> PRINT.LIST
|
| DISP ===> NEW
|
|
|
| Units ===> TRK PROCESS OPTIONS FOR NEW DATA SETS:
|
| Primary ===> 10 Before Allocation ===> D
|
| Secondary ===> 10 Upon Deallocation ===> ?
|
| Volume ===>
|
| Unit ===>
|
| VALID PROCESS OPTIONS:
|
| RECFM ===> FBA D (Delete) K (Keep) ? (Prompt)
|
| LRECL ===> 133
|
| BLKSIZE ===> 6118
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-35. HOGAN Print Data Set Screen
If needed, this HOGAN file is usually allocated with a RECFM of FBA,
LRECL of 133, and BLKSIZE of 6118.
Consult a batch HOGAN PROC in your shop if you are unsure of the DSNAME or
other parameters. If the PRINT DDNAME is not needed, leave the DSNAME
field blank.
The fields on this screen are similar to the MONITOR screen. Refer to
"HOGAN Activity Log (MONITOR Data Set) Screen" in topic C.7.1 for a
description of these fields.
C.7.3 HOGAN SNAP Dump (SNAPDD Data Set) Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The HOGAN SNAPDD file is used by HOGAN to store SNAP dumps. Unlike a
SYSUDUMP, a SNAP dump is not usually a printout of the entire region. A
SNAP dump provides a "snapshot" of the particular storage pool you want to
see, as specified by your HOGAN dump options.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT ----- XPEDITER/TSO - HOGAN SNAPDD DATA SET --------------
------ |
| COMMAND ===>
|
|
|
|
|
| ENTER a DSNAME, DUMMY, TEMP, TERM, SYSOUT, or leave blank for no allocatio
n |
|
|
| DSNAME ===> DUMMY
|
| DISP ===>
|
|
|
| Units ===> PROCESS OPTIONS FOR NEW DATA SETS:
|
| Primary ===> Before Allocation ===>
|
| Secondary ===> Upon Deallocation ===>
|
| Volume ===>
|
| Unit ===>
|
| VALID PROCESS OPTIONS:
|
| RECFM ===> D (Delete) K (Keep) ? (Prompt)
|
| LRECL ===>
|
| BLKSIZE ===>
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-36. HOGAN SNAPDD Data Set Screen
The recommended DCB parameters for the SNAPDD dataset are RECFM=FBA,
BLKSIZE=6118, and LRECL=133.
Consult a batch HOGAN PROC if you are unsure of the DSNAME. If a SNAPDD
file is not required, leave the DSNAME field blank.
The fields on this screen are similar to the MONITOR screen. Refer to
"HOGAN Activity Log (MONITOR Data Set) Screen" in topic C.7.1 for a
description of these fields.
C.7.4 HOGAN Formatted Dump (SYSPRINT Data Set) Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The HOGAN SYSPRINT file is used by HOGAN to store PEM formatted dumps.
Before running a transaction, set up your HOGAN dump options to print the
contents of certain control blocks or areas in main memory when an abend
occurs.
|---------------------------------------------------------------------------
-------|
|
|
| Profile: DEFAULT --- XPEDITER/TSO - HOGAN SYSPRINT DATA SET --------------
------ |
| COMMAND ===>
|
|
|
|
|
| ENTER a DSNAME, DUMMY, TEMP, TERM, SYSOUT, or leave blank for no allocatio
n |
|
|
| DSNAME ===> SYSPRINT.LIST
|
| DISP ===> NEW
|
|
|
| Units ===> TRK PROCESS OPTIONS FOR NEW DATA SETS:
|
| Primary ===> 10 Before Allocation ===> D
|
| Secondary ===> 0 Upon Deallocation ===> ?
|
| Volume ===>
|
| Unit ===>
|
| VALID PROCESS OPTIONS:
|
| RECFM ===> FBA D (Delete) K (Keep) ? (Prompt)
|
| LRECL ===> 133
|
| BLKSIZE ===> 6118
|
|
|
|
|
| Note: Changes made to this screen override installed defaults
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure C-37. HOGAN SYSPRINT Data Set Screen
The recommended DCB parameters for the SYSPRINT dataset are RECFM=FBA,
BLKSIZE=6118, and LRECL=133.
Consult a batch HOGAN PROC in your shop if you are unsure of the DSNAME.
Most sites allocate this DDNAME to DUMMY for debugging rather than leaving
it blank. This conforms to common batch and debugging Message Region
usage.
The fields on this screen are similar to the MONITOR screen. Refer to
"HOGAN Activity Log (MONITOR Data Set) Screen" in topic C.7.1 for a
description of these fields.
D.0 Appendix D. Specifying Defaults
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
You can set or override the defaults to be used during debugging sessions
with option 0 (DEFAULTS) on the Primary Menu. The Defaults Menu shown in
Figure D-1 in topic D.1 is displayed. The defaults you specify remain in
effect across all XPEDITER/TSO and XPEDITER/IMS debugging sessions.

D.1 The Defaults Menu


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

|---------------------------------------------------------------------------
-------|
|
|
| ------------------------ XPEDITER/TSO DEFAULTS MENU (0) ------------------
----- |
| OPTION ===>
|
|
|
|
|
|
|
|
|
| 1 TERMINAL - Specify terminal characteristics
|
| 2 ISPF PF KEYS - Specify ISPF PF keys
|
| 3 TEST PF KEYS - Specify test session PF keys
|
| 4 PROFILE - Specify current profile name
|
| 5 COLORS - Specify color defaults
|
| 6 OTHERS - Specify other default values
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure D-1. Defaults Menu
From this menu you can select to:
1. Specify the terminal type that is used in debugging sessions with
XPEDITER/TSO.
2. Modify the ISPF PF key settings from the previous defaults. The
terminal type and number of keys shown can be set in option 1.
3. Modify PF key settings used during your debugging session.
4. Select a profile to be used and tailor user profiles for all your
different libraries and environments.
5. Specify color selections on a color terminal.
6. Specify session defaults, such as the default DSNAME high-level
qualifier and enable jump function.
D.2 Specifying Terminal Characteristics
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Select option 1 (TERMINAL) from the Defaults Menu to display the Terminal
Characteristics screen shown in Figure D-2.
The Terminal Characteristics screen lets you specify the characteristics
of the terminal you are using. You can specify the terminal type, number
of PF keys, input field pad character, command delimiter, and screen
format (for 3278 Model 5 or 3290 terminals). It is recommended that you
use the defaults.
Changes that you make to these parameters take effect immediately and are
saved in your user profile.
|---------------------------------------------------------------------------
-------|
|
|
| ---------------- XPEDITER/TSO - TERMINAL CHARACTERISTICS (0.1) -----------
----- |
| COMMAND ===>
|
|
|
| TERMINAL TYPE ===> 3278 (3277 - 3275/3277 terminal)
|
| (3277A - 3275/3277 with APL keyboard)
|
| (3278 - 3276/3278/3279/3290 terminal)
|
| (3278A - 3276/3278/3279 APL keyboard)
|
| (3278T - 3276/3278/3279 TEXT keyboard)
|
| (3290A - 3290 with APL keyboard)
|
| (3278CF - 3276/3278 CANADIAN FRENCH terminal
) |
| (3277KN - 3275/3277 KATAKANA terminal)
|
| (3278KN - 3276/3278 KATAKANA terminal)
|
| (3278HN - 3276/3278 HEBREW terminal)
|
|
|
| NUMBER OF PF KEYS ===> 24 (12 or 24)
|
| INPUT FIELD PAD ===> N (N - Nulls) (B - Blanks) (Special Characte
r- |
| must not be the same as COMMAND DELIMITE
R) |
| COMMAND DELIMITER ===> ; (Special character for command stacking)
|
| SCREEN FORMAT ===> DATA (Select one of the following:)
|
| (3278 Model 5 only) (DATA - Format based on data width)
|
| (STD - Always format 24 lines by 80 chars)
|
| (MAX - Always format 27 lines by 132 chars)
|
| (3290 Only) (PART - Format using hardware partitions.
|
| Effective the next ISPF invocation.)
|
|
|
|---------------------------------------------------------------------------
-------|
Figure D-2. Terminal Characteristics Screen
The fields on this screen are:
TERMINAL TYPE
The valid terminal types that can be entered on the terminal
characteristics panel are listed in Figure D-2. Some of these
types may not apply to your installation and may not be
displayed on the panel.
To assure correct operation of ISPF, the terminal type must be
correct. It is used to determine the character set for your
terminal. ISPF automatically determines the terminal type
during ISPF initialization and sets it to the appropriate
value. The terminal type is displayed on the primary option
panel and the ISPF parameter options panel for reference. It
is also displayed and can be modified on the PF key definition
panel.
NUMBER OF PF KEYS
The number of PF keys is used to determine the set of PF key
definitions to be used for your terminal. To assure correct
operation of ISPF, this number must be correct. The number of
PF keys is displayed on the ISPF Primary Option Menu and the
ISPF Parameter Options menu for reference. It is also
displayed and can be modified on the PF key definition panel.
Specify one of the following:
12 If you are using a display station with 12 PF keys or
less.
24 If you are using a display station with 24 PF keys.
INPUT FIELD PAD
Specify one of the following:
N If you want panel input fields to be padded with
nulls.
B If you want panel input fields to be padded with
blanks.
character If you want panel input fields to be padded with a
special character. This special character must be
different than the command delimiter character.
COMMAND DELIMITER
Select the special character you want to use as a command
delimiter. This delimiter is used to separate stacked commands
entered in the command/option field on a panel or entered via a
PF key.
The character chosen for the command delimiter function must
not be the same as the character chosen for input field
padding. The special characters, equals (=) and period (.),
are reserved for ISPF functions. Alphabetic and alphanumeric
characters are not valid delimiters.
The following example shows the use of a semicolon as a command
delimiter:
COMMAND ===> nulls;tabs /;unnum;tso listc;tso status
SCREEN FORMAT
For a 3278 Model 5 terminal, specify one of the following:
DATA If you want the screen size to be based on the data
width. If DATA is specified, ISPF automatically
switches between "default" format (24 lines by 80
characters) and "native" format (27 lines by 132
characters) based on the width of the data to be
displayed.
STD If you want the screen to be 80 characters wide. If STD
is specified, ISPF holds the screen format constant.
MAX If you want the screen to be 132 characters wide. If
MAX is specified, ISPF holds the screen format constant.

For a 3290 terminal, specify PART if you want the screen size
to be the maximum available. The effect of this parameter on a
3290 terminal is as follows:
* If the 3290 is configured to support partitions, ISPF
formats the screen as 31 rows by 80 columns, 62 rows by 80
columns, 31 rows by 160 columns, or 62 rows by 160 columns,
depending on the screen configuration. In addition, the
SPLITV command is enabled.
* If the 3290 is not configured to support hardware
partitions, then the default mode depends on the definition
of the terminal to the system.
D.3 Specifying PF Key Definitions
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

XPEDITER/TSO has two sets of PF keys. When using XPEDITER/TSO, you will
use your XPEDITER PF key settings. These PF keys are used throughout the
product, except when you are within a debugging session--then you will use
your debugging session PF key settings.
To modify the XPEDITER PF key settings, select option 2 (ISPF PF KEYS)
from the Defaults Menu. The PF Key Definitions and Labels - Primary Keys
screen shown in Figure D-3 is displayed. To modify the debugging session
PF key settings, select option 3 (TEST PF KEYS). The XPEDITER PF Key
Definitions and Labels - Alternate Keys screen shown in Figure D-4 is
displayed.
Note: Depending on the number of PF keys you specified on the Terminal
Characteristics screen (Figure D-2 in topic D.2), the appropriate set of
PF keys is displayed on these screens.
|---------------------------------------------------------------------------
-------|
|
|
| ------------- PF KEY DEFINITIONS AND LABELS - PRIMARY KEYS (0.2) -------
----- |
| COMMAND ===>
|
|
|
| NUMBER OF PF KEYS ===> 24 TERMINAL TYPE ===> 3278
|
|
|
| PF13 ===> HELP
|
| PF14 ===> SPLIT
|
| PF15 ===> END
|
| PF16 ===> RETURN
|
| PF17 ===> RFIND
|
| PF18 ===> RCHANGE
|
| PF19 ===> UP
|
| PF20 ===> DOWN
|
| PF21 ===> SWAP
|
| PF22 ===> LEFT
|
| PF23 ===> RIGHT
|
| PF24 ===> CURSOR
|
|
|
| PF13 LABEL ===> PF14 LABEL ===> PF15 LABEL ===>
|
| PF16 LABEL ===> PF17 LABEL ===> PF18 LABEL ===>
|
| PF19 LABEL ===> PF20 LABEL ===> PF21 LABEL ===>
|
| PF22 LABEL ===> PF23 LABEL ===> PF24 LABEL ===>
|
|
|
| Press ENTER key to display alternate keys. Enter END command to exit.
|
|
|
|---------------------------------------------------------------------------
-------|
Figure D-3. XPEDITER PF Key Definitions and Labels
|---------------------------------------------------------------------------
-------|
|
|
| -------- XPEDITER PF KEY DEFINITIONS AND LABELS - ALTERNATE KEYS (0.3) ---
----- |
| COMMAND ===>
|
|
|
| NOTE: Definitions and labels below apply only to terminals with 24 PF key
s. |
|
|
| PF1 ===> HELP
|
| PF2 ===> PEEK CSR
|
| PF3 ===> END
|
| PF4 ===> EXIT
|
| PF5 ===> FIND
|
| PF6 ===> LOCATE *
|
| PF7 ===> UP
|
| PF8 ===> DOWN
|
| PF9 ===> GO 1
|
| PF10 ===> LEFT
|
| PF11 ===> RIGHT
|
| PF12 ===> GO
|
|
|
| PF1 LABEL ===> PF2 LABEL ===> PF3 LABEL ===>
|
| PF4 LABEL ===> PF5 LABEL ===> PF6 LABEL ===>
|
| PF7 LABEL ===> PF8 LABEL ===> PF9 LABEL ===>
|
| PF10 LABEL ===> PF11 LABEL ===> PF12 LABEL ===>
|
|
|
| Press ENTER key to display primary keys. Enter END command to exit.
|
|
|
|---------------------------------------------------------------------------
-------|
Figure D-4. XPEDITER/TSO Debugging Session PF Key Definitions and Labels
Changes can be made to the PF key designations by typing over the
appropriate fields. PF keys can also be labeled, or given a descriptive
name as well as the actual command mapped to the key.
Since you know the ISPF PF key mappings, the following descriptions cover
specific XPEDITER PF keys that differ from ISPF.
PF KEY 2 PEEK CSR -- Displays the contents of the data name defined by
the current cursor position. The cursor must be in the source
window under a valid data name.
PF KEY 4 EXIT -- Ends the current XPEDITER/TSO session.
PF KEY 6 LOCATE * -- Scrolls the source display to the current location
where execution has been suspended.
PF KEY 9 GO 1 -- Executes the next logical instruction in your program
and then pauses.
PF KEY 12 GO -- Starts or resumes execution of your program.
The following defaults apply to the enhanced FIND option, if installed,
and if your terminal has 24 PF keys:
PF KEY 14 FIND CSR -- Displays the data name located under the cursor
position.
PF KEY 17 FIND IND -- Scrolls the source display to successive levels of
indirect references related to a previously entered FIND
INDIRECT command.
D.4 Specifying User Profiles
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The user profile contains all the changes you make to the XPEDITER
defaults. This includes installation defaults established by your system
programming staff, and most importantly, environment parameters and SETUP
options for your debugging session.
Select option 4 (PROFILE) from the Defaults Menu to access the Profile
screen shown in Figure D-5. This screen can also be reached by entering a
question mark (?) as a profile identifier on the Primary Menu or by using
the PROFILE command from a test screen. See "Profile Handling" in
topic 4.3 and "The PROFILE Command" in topic D.4.1 for additional
information. This screen lets you:
* Switch to a new profile
* Change the description of a profile
* Make a particular profile current
* Delete a profile
* Copy a profile
* Rename a profile
* Use a profile
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------ XPEDITER/TSO - PROFILE (0.4) --------------------
----- |
| COMMAND ===> SCROLL ===>
PAGE |
|
|
| LINE COMMANDS: S (Select) D (Delete) C (Copy) R (Rename) U (U
se) |
|
|
| PROFILE ID:
|
| Profile ===> 1 > Default Profile
< |
|
|
| CMD PROFILE NEW NAME DESCRIPTION
|
| --------------------------------------------------------------------------
----- |
| _ * 1 > Default Profile
< |
| _ 2 > SIR 8925 Test Cases
< |
| _ 3 > SIR 8920 Test Cases
< |
| _ 5 > Default Profile
< |
| _ 10 > IMS 2.2 Production
< |
| _ 11 > IMS 3.1 Test
< |
| _ 20 > VS COBOL II 3.2 RES DYNAM AMODE=31 RMODE=ANY
< |
| _ 21 > VS COBOL II 3.2 NORES MIXRES
< |
| _ 22 > VS COBOL II 2 RES DYNAM
< |
| _ 23 > VS COBOL II 2 NORES
< |
| _ 24 > VS COBOL II 2.4 NORES
< |
| ******************************* BOTTOM OF DATA ***************************
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure D-5. Profile Screen
The Profile screen has a fixed (body) area and a scrollable area. The
fixed body area has a Command line and a PROFILE ID area that shows the
current profile.
You can perform several operations in this area.
1. Use the SORT command on the command line to resort your profiles.
2. Use the PROFILE field to:
Switch to a new profile: To do this, type over the profile
identifier with a new identifier. The identifier can be any
8-character name or number. When you change the profile specified
in this field, the profile change becomes effective immediately.
This lets you execute debugging sessions with different
environments, load libraries, levels of systems software, and so
on.
Change the description of a profile: To do this, type over the
DESCRIPTION field. You can combine this with selecting a new
profile, in which case, the description is associated with the new
profile.
The scrollable area of the screen has a line for each existing profile and
includes a line command area. An asterisk (*) preceding a profile
identifier indicates the current profile. You can use the following line
commands:
* S (Select)--to make a particular profile current. You can combine
this command with a COPY function by entering the identifier of the
new profile in the NEW NAME field. This makes the new profile the
current profile.
* D (Delete)--to delete a profile.
* C (Copy)--to copy a profile. Enter the identifier of the new profile
in the NEW NAME field. Press <ENTER> and a new profile with the given
identifier is created. If you also type over the DESCRIPTION field,
the new description will go only with the new profile. If the new
profile identifier already exists, you must verify that you really
want to overwrite the profile.
* R (Rename)--to rename a profile. Enter the new profile identifier in
the NEW NAME field. You can also change the description by typing
over the DESCRIPTION field. Press <ENTER> and the profile is renamed.
* U (Use)--to use a profile. This line command takes you directly to
XPEDITER/TSO with the selected profile.

D.4.1 The PROFILE Command


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The PROFILE command is available on the test screens to change the current
profile without leaving the test screen itself. The syntax of the command
is:
PROFile {xxxxxxxx}
{? }
Where xxxxxxxx is the profile identifier. Use this command as follows:
1. Enter the command and a profile identifier to change to another
profile. If the profile identifier does not currently exist, you are
taken to the Profile screen shown in Figure D-5 in topic D.4 to enter
the description for the new profile or to select a different profile
identifier.
2. Enter the command without an identifier or with a question mark (?) to
go to the Profile screen shown in Figure D-5 in topic D.4.
When you leave the Profile screen, you are returned to the test screen and
the profile you selected is displayed in the message area. If you
selected a new profile (i.e., a profile that did not currently exist), you
are taken to the Environments Menu.
D.5 Specifying Screen Colors
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The final option on the Defaults Menu gives you color defaults for use
with a color terminal. A full range of colors is offered for the various
display areas on the screen, whether in ISPF or the source display. Both
intensity and highlight choices are available for each color. This option
lets you change color, highlight, and intensity on all ISPF, source, and
tutorial panels.
Select option 5 (COLORS) from the Defaults Menu to access the ISPF Color
Defaults screen shown in Figure D-6. You can also enter the COLOR command
anywhere within XPEDITER/TSO to invoke this screen.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------- XPEDITER/TSO - ISPF COLOR DEFAULTS (0.5) -------------
----- |
| COMMAND ===>
|
|
|
| PRIMARY COMMANDS : Source (color defaults) Tutorial (color default
s) |
| COLOR Choices: White Red Blue Green Pink Yellow Turq
|
| HIGHLIGHT Choices: Uscore Blink Reverse None
|
| INTENSITY Choices: High Low
|
|
|
| COLOR HIGHLIGHT INTENSITY
|
| Informative Text ===> BLUE NONE LOW
|
| Informative Text Hilite ===> WHITE NONE HIGH
|
| Input Field Title ===> BLUE NONE LOW
|
| Input Field Pointer ===> WHITE NONE HIGH
|
| Data Input Field ===> RED NONE HIGH
|
| Panel Title ===> WHITE NONE HIGH
|
| COMMAND Title ===> WHITE NONE HIGH
|
| COMMAND Input Field ===> RED NONE HIGH
|
| Message/Note Text ===> BLUE NONE LOW
|
| Message/Note Hilite ===> WHITE NONE HIGH
|
| Menu Options ===> WHITE NONE HIGH
|
| Menu Option Text ===> BLUE NONE LOW
|
| Field in Error ===> RED NONE HIGH
|
|
|
| Press ENTER to Save or END To Return
|
|
|
|---------------------------------------------------------------------------
-------|
Figure D-6. ISPF Color Defaults Screen
The entry values are listed on the screen. Note that color, highlight,
and intensity choices can be indicated by the first character.
The following indicates some guidelines regarding the use of color:
* Colors take affect only on a 3279-B or ISPF-supported seven-color
terminal.
* Enter the ON or the DEMO command on the color default panels for an
example of its use.
* Enter the OFF or the RESTORE command to restore standard ISPF color
settings.
* INTENSITY is ignored on IBM color terminals when COLOR is specified.
* COLOR and HIGHLIGHT are ignored on monochrome terminals.
Entering S or SOURCE from the ISPF Color Defaults screen invokes the
Source Color Defaults screen, shown in Figure D-7. You can also enter the
COLOR S command anywhere within XPEDITER/TSO, except within a DIALOG
debugging session, to invoke this screen.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------- SOURCE COLOR DEFAULTS/1 (0.5) ------------------
----- |
| COMMAND ===>
|
|
|
|
|
|
|
|
|
| COLOR Choices: White Red Blue Green Pink Yellow Turq
|
| HIGHLIGHT Choices: Uscore Blink Reverse None
|
| INTENSITY Choices: High Low
|
|
|
| COLOR HIGHLIGHT INTENSITY
|
| Panel Title ===> BLUE NONE LOW
|
| Current Module Name ===> WHITE NONE HIGH
|
| COMMAND Title ===> BLUE NONE LOW
|
| COMMAND Input Field ===> RED NONE HIGH
|
| Input Field Pointer ===> WHITE NONE HIGH
|
| Background Areas ===> BLUE NONE LOW
|
| Informational Message ===> WHITE NONE HIGH
|
| Error Messages ===> WHITE NONE HIGH
|
| Informative Test ===> BLUE NONE LOW
|
| Infromative Test Highlight ===> WHITE NONE HIGH
|
| Separator/Marker Lines ===> BLUE NONE LOW
|
|
|
|
|
|
|
|
|
|
|
| Press ENTER to Save or END To Return
|
|
|
|---------------------------------------------------------------------------
-------|
Figure D-7. Source Color Defaults Screen
Typing ON or DEMO in the Source Color Defaults screen causes the color,
highlighting, and intensity fields to automatically change to the
following:
|---------------------------------------------------------------------------
---|
|
|
|
|
|
|
| COLOR HIGHLIGHT INTENSITY
|
| Panel Title ===> YELLOW REVERSE LOW
|
| Current Module Name ===> TURQ REVERSE HIGH
|
| COMMAND Title ===> TURQ REVERSE LOW
|
| COMMAND Input Field ===> GREEN REVERSE HIGH
|
| Input Field Pointer ===> WHITE REVERSE HIGH
|
| Background Areas ===> BLUE REVERSE LOW
|
| Informational Message ===> TURQ REVERSE HIGH
|
| Error Messages ===> PINK REVERSE HIGH
|
| Informative Test ===> YELLOW REVERSE LOW
|
| Infromative Test Highlight ===> TURQ REVERSE HIGH
|
| Separator/Marker Lines ===> BLUE REVERSE LOW
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
---|
Typing OFF or RESTORE causes the color, highlighting, and intensity
fields on the Source Color Defaults screen to return to the default values
shown in Figure D-7.
Entering T or TUTORIAL from the ISPF Color Defaults screen invokes the
Tutorial Color Defaults screen, shown in Figure D-8. You can also enter
the COLOR T command anywhere within XPEDITER/TSO to invoke this screen.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------ TUTORIAL COLOR DEFAULTS/1 (0.5) -----------------
----- |
| COMMAND ===>
|
|
|
|
|
|
|
|
|
| COLOR Choices: White Red Blue Green Pink Yellow Turq
|
| HIGHLIGHT Choices: Uscore Blink Reverse None
|
| INTENSITY Choices: High Low
|
|
|
| COLOR HIGHLIGHT INTENSITY
|
| Informative Text ===> BLUE NONE LOW
|
| Informative Text Hilite ===> WHITE NONE HIGH
|
| Panel Title ===> WHITE NONE HIGH
|
| COMMAND Title ===> WHITE NONE HIGH
|
| COMMAND Input Field ===> RED NONE HIGH
|
| Panel Subtitle ===> WHITE NONE HIGH
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Press ENTER to Save or END To Return
|
|
|
|---------------------------------------------------------------------------
-------|
Figure D-8. Tutorial Color Defaults Screen
Typing ON or DEMO in the Tutorial Color Defaults screen causes the color,
highlighting, and intensity fields to automatically change to the
following:
|---------------------------------------------------------------------------
---|
|
|
|
|
|
|
| COLOR HIGHLIGHT INTENSITY
|
| Informative Text ===> GREEN NONE HIGH
|
| Informative Text Hilite ===> PINK NONE HIGH
|
| Panel Title ===> TURQ NONE HIGH
|
| COMMAND Title ===> WHITE REVERSE HIGH
|
| COMMAND Input Field ===> YELLOW USCORE HIGH
|
| Panel Subtitle ===> RED NONE HIGH
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
---|
Typing OFF or RESTORE causes the color, highlighting, and intensity
fields on the Tutorial Color Defaults screen to return to the default
values shown in Figure D-8.
D.6 Specifying Other Default Values
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Select option 6 (OTHERS) from the Defaults Menu to access the Profile
screen shown in Figure D-9. This screen does two things:
1. Sets up a default prefix for your DSNAME high-level qualifier that
will be automatically appended to all DSNAMES not enclosed in quotes.
2. Enables the jump function.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------ XPEDITER/TSO - PROFILE (0.6) --------------------
----- |
| COMMAND ===>
|
|
|
|
|
|
|
|
|
| DSNAME HIGH-LEVEL QUALIFIER: (Appended to all DSNAMEs not enclosed in qu
otes) |
| Prefix ===> ASJUSR1
|
|
|
|
|
|
|
|
|
| ENABLE JUMP FUNCTION: (Allow menu jumps within COMPUWARE screens)
|
| Enable ===> YES
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure D-9. Profile Screen
The fields on the Profile screen are as follows:
DSNAME HIGH-LEVEL QUALIFIER
The string entered here is automatically prefixed to any DSNAME
not enclosed in quotes. Your user ID is the default value
prefilled in this field.
If your shop requires a high-level qualifier that is not your
userid, enter that qualifier in the Prefix field. This will
become your default. Do not blank out this field. The prefix
is used as the high-level qualifier in names generated by
XPEDITER/TSO for the log and script datasets. Therefore,
unless you explicitly name them, any attempt to allocate these
datasets will fail. Also, in many sites, a dataset cannot be
cataloged without a userid.
ENABLE JUMP FUNCTION
Turning on the jump function (YES, the default) lets you move
from one screen to another without passing through the Primary
Menu. The jump function is the same as that provided inside
ISPF.
The equal sign (=) is used to take you to a primary menu.
Entering =2 takes you to option 2 of the Primary Menu. If the
jump function is turned on (enabled) and the equal sign
convention is used, you are referred to the XPEDITER Primary
Menu. If the jump function is off, you are referred to the
ISPF Primary Menu.
E.0 Appendix E. Using Utilities
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
The XPEDITER/TSO utility functions are accessed by selecting option 3 on
the Primary Menu. The Utilities Menu shown in Figure E-1 is displayed.
From this menu, you can select the following functions:
1. Display the memory available for debugging (REGION SIZE).
2. Display the DDNAMEs and DSNAMEs currently allocated to your TSO
session (LIST ALLOCATES).
3. Maintain the SIR dataset (SIR UTILITY).
4. Create a file allocation CLIST (CLIST).
5. Convert your XPEDITER/TSO user profile from Release 5.1 to the current
release (CONVERT).
6. Merge profiles from other user ID's.

|---------------------------------------------------------------------------
-------|
|
|
| ----------------------- XPEDITER/TSO - UTILITIES MENU (3) ----------------
------ |
| OPTION ===>
|
|
|
|
|
| 1 REGION SIZE - Display memory available for testing
|
| 2 LIST ALLOCATES - Display files allocated to your test ses
sion |
| 3 SIR UTILITY - Maintain SIR data sets
|
| 4 CLIST - Create a file allocation CLIST
|
| 5 CONVERT - Convert 5.1 profiles
|
| 6 MERGE - Merge profiles from alternate users
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure E-1. XPEDITER/TSO Utilities Menu

E.1 Display Available Memory (REGION SIZE)


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

This utility displays the memory available for debugging. It is similar


to entering a SHOW REGION command from within an XPEDITER/TSO debugging
session. Figure E-2 illustrates the message that appears in response to
selecting option 1 (REGION SIZE).
|---------------------------------------------------------------------------
-------|
|
|
| ----------------------- XPEDITER/TSO - UTILITIES MENU (3) ----------------
------ |
| OPTION ===>
|
| Available Memory is 1,716,800 Bytes
|
|
|
| 1 REGION SIZE - Display memory available for testing
|
| 2 TEST ALLOCATES - Display files allocated to your test ses
sion |
| 3 SIR UTILITY - Maintain SIR data sets
|
| 4 CLIST - Create a file allocation CLIST
|
| 5 CONVERT - Convert 5.1 profiles
|
| 6 MERGE - Merge profiles from alternate users
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure E-2. XPEDITER/TSO Utilities Menu Displaying the Region Size
The following guidelines give you some idea as to what the memory
requirements are for the different XPEDITER/TSO execution environments:
BATCH 1,500,000 BYTES
TSO 1,500,000 BYTES
IMS 2,000,000 BYTES
BTS 2,500,000 BYTES
DB2 2,000,000 BYTES
If you are using DATACOM/DB, IDMS/DB, or System 2000, the recommended
memory is 2,000,000 bytes.
The listed figures are approximate; your actual memory requirements will
vary depending on the size of the program being debugged. The amount of
memory required by XPEDITER/TSO is related to the number of statements in
each program that has a SIR loaded into memory.
E.2 Display File Allocations (LIST ALLOCATES)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

This utility displays the files allocated to your TSO debugging session.
The same display can be reached by entering the ALC command from within an
XPEDITER/TSO debugging session. The following line commands are
available, entered in the SEL column:
A Concatenation destination (After)
B Browse individual dataset
C Concatenation source (Copy)
D Deconcatenate request
E Edit individual dataset
S Dataset status
U Unallocation request
The SHOW ALLOCATES command displays the same information in essentially
the same format, but the line commands are not available.
Figure E-3 is a sample of the output from this function.
|---------------------------------------------------------------------------
-------|
|
|
| -------------------- XPEDITER/TSO - LIST ALLOCATES (3.2) ---------- ROW 1
OF 89 |
| COMMAND ===> SCROLL ===>
CSR |
|
|
| SEL DDNAME DSNAME (fully qualified) ATTR STA DISP
|
| --------------------------------------------------------------------------
- |
|
|
| -------- --------------------------------------------------- ---
|
| STEPLIB SYS1.DUMMY.LINKLIB IA SHR KEEP
|
| SYSPRINT (TERM) NULLFILE A NEW DELET
E |
| SYSTERM (TERM) NULLFILE A NEW DELET
E |
| SYSLBC SYS1.BRODCAST VD SHR KEEP
|
| SYS0003 CATALOG.TSO.USRCAT I VD SHR KEEP
|
| ISPPROF ASJUSR1.ISP.ISPPROF I VD SHR KEEP
|
| SYSPROC SYS1.CMDPROC C A D SHR KEEP
|
| +1 ADSA99XP.CLIST C A D SHR KEEP
|
| +2 ADSA.XPEDITER.PROD23F.CLIST C A D SHR KEEP
|
| SYSHELP SYS1.HELP C A D SHR KEEP
|
| +1 ADSA.FULLSCR C A D SHR KEEP
|
| ISPLLIB AXPTSO.XPEDITER.PROD52.LOADLIB CIA D SHR KEEP
|
|
|
|
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure E-3. List Allocates Screen
E.3 SIR Dataset Maintenance (SIR UTILITY)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

This utility can be used to delete selected members conditionally from


the SIR library, to compress the library if it is about to run out of
space, or to keep the SIR library synchronized with a corresponding load
library.
Figure E-4 shows the SIR Utility screen.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------------ XPEDITER/TSO - SIR UTILITY (3.3) ----------------
------ |
| COMMAND ===>
|
|
|
| E (Edit JCL Before Submitting) END (Cancel) Leave Blank To Submit Jo
b |
|
|
| SIR DSNAME ===> AXPQA500.XPEDITER.SIR
|
|
|
| PROCESSING OPTIONS:
|
| Do Maintenance or Report Only? ===> R (M or R)
|
| Percentage Full For Compress ===> 60 (1 thru 99 if option M selected
) |
|
|
| MAINTENANCE CRITERIA:
|
| Compare Based On Creation Date? ===> (Enter Number Of Days if Y belo
w) |
| Compare Based On Last Use Date? ===> 60 (Enter Number Of Days if Y belo
w) |
| Match SIR To Load Library? ===> N (Y or N)
|
|
|
| JOB STATEMENT INFORMATION: (Required For Option M)
|
| ----*----1----*----2----*----3----*----4----*----5----*----6----*----7--
|
| //ASJUSR1 JOB (ACCOUNT),'NAME',CLASS=A,MSGCLASS=A
|
| //*
|
| //*
|
| //*
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure E-4. SIR Maintenance Utility Screen
The fields on the SIR Utility screen are defined below:
SIR DSNAME Specify the DSNAME of the SIR dataset you intend to maintain or
clean up.
Do Maintenance or Report Only?
Enter one of the following:
R If this option is entered, execution proceeds in simulation
mode and a report is sent to the terminal. The report
indicates the members to be deleted and whether the library
will be compressed if the maintenance is done in "live"
mode.
M If this option is entered, the members are deleted and the
library is compressed based on the supplied parameters.
Percentage Full for Compress
If you select option M, the SIR dataset is compressed if it is
more than the trigger (nn) percent full, where nn is a positive
integer between 01 and 99. When the percentage of the space
currently allocated to the SIR library exceeds the number
specified and there are no other errors, compression is
executed. Omission of this parameter prevents the SIR library
from being compressed.
Compare Based on Creation Date?
Enter a comparison value (nn), where nn is a positive integer,
or else leave this field blank. A member is deleted if the
number of specified days has elapsed since the creation date of
the respective member. Omission of this parameter prevents
deletion on this basis.
Compare Based On Last Use Date?
Enter a comparison value (nn), where nn is a positive integer,
or else leave this field blank. A member is deleted if the
number of specified days has elapsed since the last time the
respective member was used. Omission of this parameter
prevents any member from being deleted on this basis.
Match SIR To Load Library?
Enter one of the following:
Y If you select this option, members of the SIR library are
matched to the user load library, and you are prompted to
supply the DSNAME for the user load library on the next
panel. If the corresponding member is not found, the SIR
library member is deleted.
N The default. Indicates that no comparison to the user load
library will be made.
JOB STATEMENT INFORMATION:
This utility requires that a batch job be used to delete
members or to compress the SIR dataset. The job card data is
required for submitting the job.
In addition, the following two primary commands can be entered on the
command line:
E (EDIT) To display the JCL for this utility. You can edit the JCL
before submitting your job.
END To cancel your job.
To submit your job, leave the command line blank and press <ENTER>.
If R (simulation mode) is entered in the "Do Maintenance or Report Only?"
field, a series of messages is reported stating the activity that will be
performed if M (live mode) is entered for this field. The lead message,
numbered 0647, tells the user that execution is in simulation mode.
The format and text of these messages is listed below.
Message Member
Module Number Name Message
ADSIR090 0647 EXECUTION IS IN SIMULATION MODE
ADSIR090 0657 CATEST NOT PROCESSED - NO CRITERIA
SATISFIED
ADSIR090 0658 DRIVER SELECTED FOR DELETE 128 DAYS FR
OM
CREATE DAY
ADSIR090 0705 COMPRESSION INDICATED
ADSIR090 0651 32 MEMBERS DELETED
The message explanations are listed by number:
0647 The report simulates the processing that occurs when the SIR is
actually maintained.
0657 The member named has not met the stipulated criteria for deletion
processing. The comparison used as a basis for deletion can be
any of the following:
* A specified number of days has elapsed since the last time
this member was used.
* A specified number of days has elapsed since the date this
member was created.
* There is no load library corresponding to this SIR.
0658 The member has met the criteria for deletion.
0705 The SIR dataset has surpassed the value set as the percentage full
limit in the "Percentage Full For Compress" field.
0651 32 members have been deleted.
If M (live mode) is entered and a job is submitted for maintenance
processing, the following return codes apply:
0000 One or more SIR members have been successfully deleted.
0004 No members have been deleted.
0008 An error was encountered during processing. No action was taken.
0012 XCOMPILE DD statement missing.
0016 Parameter error. Check the values entered for each parameter.
0020 When there is a return code of 0000 or 0004 and the compression
threshold has been met (i.e., compression needs to take place
based on parameter values), then the return code is changed to
0020 so that the next step in the JCL performs a compression. The
compression step is executed only when the return code from the
SIR maintenance utility step is 0020.
E.4 File Allocation CLIST Generator (CLIST)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

In batch (background) debugging, files are allocated to your debugging


session by coding DD statements in your JCL. In interactive (foreground)
debugging, files are allocated to your debugging session by using the TSO
commands ALLOCATE and ATTR. Each file used by the program(s) you are
debugging must be allocated, or your program abends just as if you had
omitted a DD statement from a batch run. A good way to approach this is
to store the file allocation control statements in a CLIST that is
executed just before running a debugging session. XPEDITER/TSO executes
the CLIST if you specify one on the test screen.
If you are a new user, you are advised to use option 1 (ALLOC) on the
Primary Menu to create file allocations, since the CLIST method may not be
supported in future releases.
Option 4 (CLIST) allows XPEDITER/TSO users of earlier releases to continue
using the CLIST method of file allocation. This option offers a
convenient way to allocate files and generate file allocation CLISTs. The
structure diagram of this option is shown in Figure E-5.
|---------------------------------------------------------------------------
---|
|
|
| |-------------|
|
| | |
|
| | UTILITIES |
|
| | MENU |
|
| | |
|
| |------|------|
|
| |
|
| |
|
| |--------|--------|
|
| | |
|
| | F. A. CLIST |
|
| | GENERATOR |
|
| | |
|
| |--------|--------|
|
| |
|
| |-----------------|-----------------|-----------------|-------------
---||
| | | | |
||
||------|----| |------|----| |------|----| |------|----| |--
---||----|
|| | | | | | | | |
|
|| NEW | | DUMMY | | TEMP | | SYSOUT | |
USER TEST|
|| | | | | | | | |
|
||------|----| |------|----| |------|----| |------|----| |--
---||----|
| | | | |
||
| |-----------------|-----------------|-----------------|-------------
---||
| |
|
| |-------|-------|
|
| | |
|
| | SAVE AND |
|
| | ALLOCATE |
|
| | |
|
| |-------|-------|
|
| |
|
| |
|
| |-------|-------|
|
| | |
|
| | NEW |
|
| | CLIST |
|
| | |
|
| |---------------|
|
|
|
|---------------------------------------------------------------------------
---|
Figure E-5. Diagram of Option 4 Screens
The main screen is the File Allocation CLIST screen. Following the File
Allocation CLIST screen are a number of screens that are optional. They
appear, depending on the information you enter on the main screen. In
most cases, you move directly from the main screen to the User Test File
Allocation screen which prompts for the CLIST DSNAME. If the DSNAME is
new, another screen is presented.
The File Allocation CLIST screen is displayed in Figure E-6. Use it to
enter the DDNAME, DSNAME, and DISP of your debug data files. Any number
of files can be allocated at one time. When you have completely filled
the screen, press <ENTER>. The files are processed (allocated) and a
fresh screen displayed.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------ XPEDITER/TSO - FILE ALLOCATION CLIST (3.4) ------------
------ |
| COMMAND ===>
|
|
|
| DDNAME DSNAME DIS
P |
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
|
|
|
|
| DDNAME - Required
|
| DSNAME - Data set name, DUMMY, TEMP, TERM, or SYSOUT
|
| DISP - NEW, OLD, SHR, or MOD. Required only if a DSNAME is entered.
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure E-6. File Allocation CLIST Screen
Option 4 on the Utilities Menu supports the allocation of NEW or existing
(SHR) datasets. Files can also be DUMMY, TEMP, SYSOUT (JES dataset) or
allocated to the terminal (TERM). Concatenation of up to 12 SHR datasets
is allowed.
Values for the File Allocation CLIST screen are listed on the screen. The
following rules apply to the use of this screen:
1. Enter the DDNAME, DSNAME, and DISP for each file you wish to allocate
to your debugging session.
2. TEMP, TERM, DUMMY, or SYSOUT can be substituted for DSNAME. The DISP
field is ignored if any of these are used.
3. Valid dispositions are: NEW, OLD, SHR, or MOD.
4. These allocations can optionally be saved in a CLIST.
5. For convenience, the disposition can be omitted if it is the same as
the previous file. Additionally, the disposition can be abbreviated
to its first letter (i.e. NEW can be specified as N).
6. Existing datasets that are not cataloged require the TSO VOLUME
parameter. Enter VOLUME on the command line to receive Figure E-9 in
topic E.4.2 which includes the Volume parameter.
7. Up to 12 SHR datasets can be concatenated (if they all fit on the same
screen) by leaving the DDNAME field on all but the first line blank.
You are prompted for additional information depending on the values coded
in the DSNAME and/or DISP fields. Figure E-7 illustrates screen usage.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------ XPEDITER/TSO - FILE ALLOCATION CLIST (3.4) ------------
------ |
| COMMAND ===>
|
|
|
| DDNAME DSNAME DIS
P |
| ==> INFILE ==> 'PROJECT.IN.DATA' ==> SHR
|
| ==> OUTFILE ==> TEST.OUT ==> NEW
|
| ==> RPTFILE ==> DUMMY ==>
|
| ==> SORTWK01 ==> TEMP ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
|
|
|
|
| DDNAME - Required
|
| DSNAME - Data set name, DUMMY, TEMP, TERM, or SYSOUT
|
| DISP - NEW, OLD, SHR, or MOD. Required only if a DSNAME is entered.
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure E-7. File Allocation CLIST Example
This example results in the following:
1. 'PROJECT.IN.DATA' is allocated to DDNAME INFILE with DISP SHR.
2. A NEW dataset 'userid.TEST.OUT' is created and allocated to DDNAME
OUTFILE.
3. DDNAME RPTFILE is allocated to DUMMY.
4. A temporary sort work file is allocated.

E.4.1 Allocating Existing Datasets


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Existing datasets can be allocated with a disposition of SHR, OLD, or


MOD. The entry of OLD or MOD ensures exclusive use of the dataset until
the file is freed or you log off. Unless exclusive use of a dataset is an
absolute requirement of your application, SHR is the recommended
disposition.
Existing datasets residing on the same volume and allocated with
disposition SHR can be concatenated. You can concatenate up to 12
datasets, but there are two requirements:
1. You must enter all of them on the same screen.
2. The order is significant. The dataset with the largest block size
should be listed first.
Concatenate datasets by coding their DSNAMEs on successive lines, leaving
the DDNAME field blank after the first line. Figure E-8 illustrates this.
The DICTNARY DDNAME is followed by two DDNAME blank lines, but the DSNAMEs
are filled in.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------ XPEDITER/TSO - FILE ALLOCATION CLIST (3.4) ------------
------ |
| COMMAND ===>
|
|
|
| DDNAME DSNAME DIS
P |
| ==> INFILE ==> TEST.DATA ==> SHR
|
| ==> REPORT ==> TRIANGLE.LISTING ==> OLD
|
| ==> DICTNARY ==> DICT.DATA ==> SHR
|
| ==> ==> 'ED.DICT.DATA' ==>
|
| ==> ==> 'BILL.DICT.DATA' ==>
|
| ==> LOGFILE ==> PROJECT.LOG.LIST ==> MOD
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
| ==> ==> ==>
|
|
|
|
|
| DDNAME - Required
|
| DSNAME - Data set name, DUMMY, TEMP, TERM, or SYSOUT
|
| DISP - NEW, OLD, SHR, or MOD. Required only if a DSNAME is entered.
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure E-8. Example of Concatenating a Dataset
A dataset allocation with disposition of SHR, OLD, or MOD fails if any of
the following conditions are true:
1. If you request disposition OLD or MOD, but the dataset has already
been allocated to another user.
2. If you request disposition SHR, but the dataset has already been
allocated exclusively (OLD or MOD) to another user.
3. If the dataset is not found.
In case of an allocation failure, a message from TSO is displayed on the
bottom half of the screen. Press <ENTER> after the three asterisks
appear. The cursor moves to the DSNAME in question.
If the dataset exists but is not cataloged, you must specify the TSO
volume. See "Specifying Uncataloged Datasets" in topic E.4.2 for
information on how to do this.
E.4.2 Specifying Uncataloged Datasets
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

If you need to allocate an existing uncataloged dataset, type VOLUME on


the command line of the File Allocation CLIST screen and press <ENTER>.
The User Test File Allocation screen now contains the Volume parameter, as
seen in Figure E-9, but otherwise is identical to the File Allocation
CLIST screen. Volume is required on this screen only if the dataset
exists and is not cataloged.
|---------------------------------------------------------------------------
-------|
|
|
| --------------------------- USER TEST FILE ALLOCATION --------------------
------ |
| COMMAND ===>
|
|
|
| DDNAME DSNAME DISP VOLUME
|
| > > > >
|
| > > > >
|
| > > > >
|
| > > > >
|
| > > > >
|
| > > > >
|
| > > > >
|
| > > > >
|
| > > > >
|
| > > > >
|
| > > > >
|
| > > > >
|
|
|
|
|
| * DDNAME - Required
|
| * DSNAME - Data set name, DUMMY, TEMP, TERM, or SYSOUT
|
| * DISP - NEW, OLD, SHR, or MOD. Required only if data set specifie
d |
| * VOLUME - Required only if data set exists but is not cataloged
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure E-9. Uncataloged Dataset Allocation Screen
E.4.3 Allocating New Datasets
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

When a dataset with a disposition of NEW is allocated, the New Data Set
Allocation screen, shown in Figure E-10, is displayed.
|---------------------------------------------------------------------------
-------|
|
|
| ---------------------------- NEW DATA SET ALLOCATION ---------------------
------ |
| COMMAND ===>
|
|
|
|
|
| DDNAME: OUTFILE
|
| DSNAME: 'TEST.OUT'
|
|
|
| Enter the required information below or
|
| press END Key to return to the File Allocation CLIST Generator
|
|
|
| Delete Old Data Set?===> NO If it already exists, YES or NO Required
|
|
|
| RECFM ===> F,FB,FBA,FBM,V,VB,VS,VBA,VBM,VBS,U
|
| LRECL ===>
|
| BLKSIZE ===>
|
|
|
| Space Units ===> TRA TRA or CYL or a BLKSIZE. Required
|
| Primary Quan ===> 2 Required
|
| Secondary Quan ===> 2 Required
|
|
|
| Unit ===> 3330, 3350, VIO,.. Leave blank for defau
lt |
| Volume ===> Leave blank for default
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure E-10. NEW Data Set Allocation Screen
The DDNAME and DSNAME are prefilled and you are prompted to supply DCB,
SPACE, UNIT, and VOLUME data. All parameters are optional; however, your
COBOL program may require a block size to avoid a run-time abend. The
fields are explained below:
Delete Old Dataset
Enter YES or NO. Repeated execution of a CLIST containing NEW
dataset allocations fails unless the dataset is deleted
between executions. Entering YES in the last field tells
this procedure to delete the old dataset, if it exists, before
attempting to allocate a new one.
If you do not want to have XPEDITER/TSO delete old datasets
and you do not want to delete them manually, you can create
and catalog the datasets using ISPF option 3.2. Having done
this, you must allocate the dataset as SHR or OLD on the File
Allocation CLIST screen.
RECFM The permissible values for the RECFM are F, FB, FBA, FBM, V,
VB, VS, VBA, VBM, VBS, and U.
LRECL Required for all record formats except for U. RECFM=U files
should not have a LRECL.
BLKSIZE Computed for you if left blank with 6233 as the optimum
blocking factor.
Space Units Specify either TRA (track), CLY (cylinder), or a block size
(BLKSIZE).
Primary Quan
Required. If left blank, the default shown above is used.
Secondary Quan
Required. If left blank, the default shown above is used.
Unit Leave blank for default.
Volume Leave blank for default.
If, at any time you do not want to continue file allocations, press the
END key to return to the File Allocation CLIST screen.
E.4.4 Allocating Temporary Datasets
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Temporary datasets are generally used to allocate sort or other work


files. When you request a temporary file allocation, the Temp Data Set
Allocation screen is displayed.
|---------------------------------------------------------------------------
-------|
|
|
| ---------------------------- TEMP DATA SET ALLOCATION --------------------
------ |
| COMMAND ===>
|
|
|
|
|
| DDNAME: OUTFILE
|
|
|
|
|
| Press END Key to return to the File Allocation CLIST Generator
|
| or
|
| ENTER the required information below:
|
|
|
| RECFM ===> F,FB,FBA,FBM,V,VB,VS,VBA,VBM,VBS,U
|
| LRECL ===>
|
| BLKSIZE ===>
|
|
|
| Space Units ===> TRA TRA or CYL or a BLKSIZE. Required
|
| Primary Quan ===> 2 Required
|
| Secondary Quan ===> 2 Required
|
|
|
| Unit ===> 3330, 3350, VIO,.. Leave blank for defaul
t |
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure E-11. TEMP Data Set Allocation Screen
Only the space allocation parameters are required (unless the application
requires a BLKSIZE or RECFM). The defaults shown are used unless
explicitly overridden.
Temporary files are allocated in a manner similar to NEW files. A
temporary file, however, has no DSNAME, and the data in it is lost
whenever the file is freed or when you log off.
See "Allocating New Datasets" in topic E.4.3 for a more detailed
explanation of the various parameters. The Volume and Delete options do
not apply to temporary files.
E.4.5 Allocating Dummy Datasets
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Dummy datasets are usually used for nonessential input and output files.
When a DUMMY file allocation is requested, the Dummy File Allocation
screen is displayed.
|---------------------------------------------------------------------------
-------|
|
|
| ----------------------------- DUMMY FILE ALLOCATION ----------------------
------ |
| COMMAND ===>
|
|
|
|
|
| DDNAME: OUTFILE3
|
|
|
| Your options are:
|
|
|
| * ENTER the block size ===> 6160 (Optional)
|
|
|
| * Press ENTER without specifying a block size.
|
|
|
| * Press END Key to return to the File Allocation CLIST Generato
r |
|
|
|
|
|
|
|
|
|
|
| * You must enter a block size for COBOL files that have
|
| a 'Block Contains 0 Records' clause in the FD entry.
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure E-12. DUMMY File Allocation Screen
If you allocate a dummy file, you are prompted to supply the block size
for the file. This parameter is optional.
Note: If the FD statement for this file in your COBOL program is coded
with a "Block Contains 0 Records" clause, then you must enter a block size
to avoid an abend while debugging.
E.4.6 Allocating SYSOUT Datasets
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

If you allocate a SYSOUT dataset, the SYSOUT File Allocation screen is


displayed.
|---------------------------------------------------------------------------
-------|
|
|
| ----------------------------- SYSOUT FILE ALLOCATION ---------------------
------ |
| COMMAND ===>
|
|
|
|
|
| DDNAME: OUTFILE3
|
|
|
| Your options are:
|
|
|
| * ENTER the SYSOUT class ===> A (Required)
|
|
|
| * ENTER the block size ===> (Optional)
|
|
|
| * Press ENTER without specifying a block size.
|
|
|
| * Press END Key to return to the File Allocation CLIST Generato
r |
|
|
|
|
|
|
|
|
|
|
| * You must enter a block size for COBOL files that have
|
| a 'Block Contains 0 Records' clause in the FD entry.
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure E-13. SYSOUT File Allocation Screen
You are prompted to supply the SYSOUT class (usually A, for SYSOUT=A).
The SYSOUT class is a required parameter. You are also prompted to supply
the block size for the file. The block size is an optional parameter.
Note: If the FD statement for this file in your COBOL program is coded
with a "Block Contains 0 Records" clause, then you must enter a block size
to avoid an abend while debugging.
E.4.7 Allocating Files to the Terminal
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Sequential files can be allocated to the terminal. The file(s) can be
opened for input or output. SYSOUT files (COBOL DISPLAY verb) are often
allocated to the terminal.
If an input file is allocated to the terminal, TSO suspends the execution
of your program awaiting terminal input. The keyboard is unlocked and the
cursor is positioned at the primary command entry area. There is no TSO
prompt.
E.4.8 Saving the Allocation Control Statements in a CLIST
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

After your data files have been allocated, you have the option of saving
the file allocation control statements in a CLIST. The CLIST dataset can
be a new or existing sequential dataset, or a member of a partitioned
dataset.
Saving the allocations in this manner means you can go directly to the
test screen to start your new debugging session. This can save valuable
setup time if debugging is expected to continue past the current session.
The screen illustrated in Figure E-14 is displayed when you press <ENTER>
from the File Allocation CLIST screen or from the screen for uncataloged
datasets and any required secondary screens.
|---------------------------------------------------------------------------
-------|
|
|
| --------------------------- USER TEST FILE ALLOCATION --------------------
------ |
| COMMAND ===>
|
|
|
|
|
|
|
| YOUR FILE ALLOCATIONS HAVE BEEN MADE
|
|
|
|
|
| Your options are:
|
|
|
|
|
| * Save the allocation control statements in a new or existing CLIST Data S
et |
|
|
| ENTER THE CLIST DSNAME ===> 'ADSUSR1.TEST.CLIST(TRIMAIN)'
|
| Volume ===> (If it exists, but is not catalogued)
|
|
|
|
|
|
|
|
|
|
|
| * Press END Key To Terminate Immediately, Without Generating a CLIST.
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure E-14. User Test File Allocation Completed Screen
If you press the END key, the CLIST is not created and you are returned
to the File Allocation CLIST screen.
If the CLIST DSNAME you entered cannot be allocated with DISP=SHR, a new
CLIST is assumed, and a second screen is displayed, as shown in
Figure E-15.
|---------------------------------------------------------------------------
-------|
|
|
| --------------------------- USER TEST FILE ALLOCATION --------------------
------ |
| COMMAND ===>
|
|
|
|
|
| A NEW CLIST WILL BE GENERATED
|
|
|
| DSNAME ===> 'ADSUSR1.XPTEST.CLIST'
|
|
|
| Your options are:
|
|
|
| * Press END Key to return to the previous screen
|
|
|
| * Enter/verify the options for a NEW CLIST:
|
|
|
|
|
|
|
| RECFM ===> V F Or V (Required)
|
| Volume ===> (Optional)
|
| Unit ===> 3330, 3350, VIO, ETC. (Optional)
|
|
|
|
|
|
|
|
|
|
|
|---------------------------------------------------------------------------
-------|
Figure E-15. Generating a New CLIST
If you wish to cancel because you misspelled the DSNAME, for example, or
omitted the TSO volume for an uncataloged dataset, press the END key to
return to the previous screen.
A new CLIST can contain either fixed (80) or variable length (255)
records. The block size and space allocation are optimized automatically.
Permissible values for the Volume and Unit parameters, if required, are
defined by your shop.
E.5 Convert Profile From Release 5.1 (CONVERT)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Select option 5 from the Utilities Menu to convert your user profile from
XPEDITER/TSO release 5.1 to a newer release. You only run this conversion
program when converting from XPEDITER/TSO Release 5.1.
Invoking option 5 displays the Convert 5.1 Profile screen shown in
Figure E-16.
|---------------------------------------------------------------------------
-------|
|
|
| ------------------- XPEDITER/TSO - CONVERT 5.1 PROFILE (3.5) -------------
------ |
| COMMAND ===>
|
|
|
|
|
| COMMANDS: ALL - All 5.1 profiles (names and descriptors will be generate
d) |
|
|
| Profile to Convert:
|
|
|
| Profile ===> (Old Profile Number - 0 to 9)
|
| Test Type ===> (Test Type to Get Data From - 1 to 11)
|
|
|
|
|
| Profile to Create: Description For New Profile:
|
|
|
| Profile ===> > <
|
|
|
|
|
| Other Options:
|
|
|
| Base Data ===> YES (Convert Basic User Data - YES or NO)
|
|
|
|
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure E-16. Converting Your Profile From Release 5.1
Enter the following information:
* The number (0 - 9) of the existing profile to be copied.
* The test type to be copied. This is the number (1 - 11) of the
testing environments shown on the Environments Menu. This determines
the environment in the resulting profile and controls which test data
and load libraries are copied.
* The number of the new profile being created.
* The name of the new profile being created.
* Whether or not basic user data (color option, JOB cards, etc.) is to
be copied.
A ? entered in the Profile field gives you a listing of the names and
numbers of old profiles. Enter the desired Profile ID from this list to
copy both the profile number and the name.
Press <ENTER> from the Convert 5.1 Profile screen to process the data.
When the profile conversion is completed, a short confirmation message is
displayed in the upper right corner on the menu from which the option was
invoked. An example is shown in Figure E-17.
Pressing the <PF1> (HELP) key causes a longer message to be displayed,
also shown in Figure E-17. The second message explains that the CONVERT
option has copied all values you had which overrode the site defaults from
an older XPEDITER profile member into the newer one.
The older profile values are not affected. Only your newer XPEDITER/TSO
profile has been changed.
|---------------------------------------------------------------------------
-------|
|
|
| -------------------- XPEDITER/TSO - UTILITIES MENU (3) ---- Conversion Com
pleted |
| OPTION ===>
|
| The Current Profile Has Been Updated With the Values From Release 5.1
|
|
|
| 1 REGION SIZE - Display memory available for testing
|
| 2 LIST ALLOCATES - Display files allocated to your test ses
sion |
| 3 SIR UTILITY - Maintain SIR data sets
|
| 4 CLIST - Create a file allocation CLIST
|
| 5 CONVERT - Convert 5.1 profiles
|
| 6 MERGE - Merge profiles from alternate users
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure E-17. Utilities Menu Containing Conversion Update Message
E.6 Select Alternate Profiles (MERGE)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Select option 6 from the Utilities Menu to merge profiles from other user
ID's into your own personal profile.
The Select Alternate Profiles screen shown in Figure E-18 is displayed.
|---------------------------------------------------------------------------
-------|
|
|
| --------------------------- SELECT ALTERNATE PROFILES --------------------
------ |
| COMMAND ===>
|
|
|
|
|
| Enter the dataset name of the input ISPF user profiles to select.
|
|
|
| DSNAME ===>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Enter END Command to Cancel Without Updating the Defaults
|
|
|
|---------------------------------------------------------------------------
-------|
Figure E-18. Selecting Alternate Profiles
Enter the name of the ISPF profile dataset in the DSNAME field to identify
the source of the XPEDITER/TSO profiles.
F.0 Appendix F. Binding the Application Plan
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
If the XPEDITER for DB2 Extension and File-AID for DB2 are installed at
your site, and you wish to use either product during the debugging
session, you must bind your program application plan with the File-AID for
DB2 DBRM if any of the following apply:
1. The program executes statically compiled SQL statements. If the
program executes only dynamically inserted SQL statements; you can
either bind your application plan with File-AID for DB2 or use the
File-AID for DB2 default plan in place of your application plan.
2. The program is executed in the IMS environment.

F.1 Bind File-AID DB2 Program Plan Screen


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

After selecting option 9 (BIND) on the Primary Menu, the screen shown in
Figure F-1 is displayed. To use this screen, you must have DB2 authority
to perform the bind function.
The valid commands on the screen are:
SETUP Displays the DBRM Members and DBRM Libraries screen, which is
used to specify the DBRM members and datasets you want to use as
input to the bind function. Refer to "DBRM Members and DBRM
Libraries Screen" in topic F.2 for a description of this screen.
RESTORE Reinstates all installed default values (on all setup and
installation screens) to the values assigned during
installation.
|---------------------------------------------------------------------------
-------|
|
|
| ---------------------- XPEDITER/TSO - BIND FADB2 PLAN (9) ----------------
------ |
| COMMAND ===>
|
|
|
| COMMANDS: SEtup (Display Setup Panel)
|
|
|
| Enter/Verify File-AID for DB2 Plan BIND Parameters
|
|
|
| DB2 SYSTEM ID ===> (Omit to use assigned default)
|
| Plan Name ===>
|
| First DBRM Member ===> (Use SEtup for additional members)
|
|
|
| ACTION on Plan ===> REPLACE (Add/Replace)
|
| Retain Authorization ===> RETAIN (Retain) applies only to Replace
|
| Validate ===> BIND (Run/Bind)
|
| Isolation ===> CS (Cs/Rr)
|
| Flag ===> I (I/W/E/C)
|
| Acquire ===> USE (Use/Allocate)
|
| Release ===> COMMIT (Commit/Deallocate)
|
| Explain ===> YES (Yes/No)
|
| Owner of Plan ===> (Authorization ID of Plan Owner)
|
|
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure F-1. Bind File-AID DB2 Program Plan Screen
The values shown in Figure F-1 are the recommended values as they will
provide better performance over the other listed options.
When you press <ENTER> from this panel, the bind operation begins. You
are binding the File-AID for DB2 DBRM members with the DBRM member(s) you
list in the First DBRM Member field and on the DBRM Members and DBRM
Libraries screen (described in "DBRM Members and DBRM Libraries Screen" in
topic F.2). You do not have to specify the File-AID for DB2 DBRM members;
they are automatically specified by the bind function.
The fields on the Bind File-AID DB2 Program Plan screen are:
DB2 SYSTEM ID
The DB2 subsystem name (SSN). Specify the proper SSN to use for
testing.
If the DB2 System ID is omitted, the system name specified
during the IBM/DB2 installation is used. If errors occur, Refer
to your systems programmer for the appropriate SSN.
Your plan will be saved in the catalog of the specified
subsystem.
Plan Name Required. Specify the DB2 application plan to be used by DB2 to
process SQL statements encountered during program execution.
The plan name must follow the DB2 defined syntax for plan names.
Refer to the IBM DB2 Reference Manual for the correct syntax.
A DB2 application plan is the output from the bind function,
which converts the output from the DB2 precompiler to a usable
control structure called an application plan. During this
process, access paths to the data are selected and some
authorization checking is performed. The plan is used by DB2 to
process SQL statements encountered during program execution.
First DBRM Member
Required. Specify the first DBRM to be included in the bind
process. If you need to specify additional DBRM members, enter
the SETUP command to access the DBRM Members and DBRM Libraries
screen.
ACTION on Plan
Specify whether the plan is a new plan (ADD) or if it is to
REPLACE another plan by the same name.
Retain Authorization
Use RETAIN if you specified REPLACE in the ACTION on Plan field;
otherwise, leave this field blank.
Validate Use BIND. For performance reasons, the validation of the plan
should be done during the bind process.
Isolation Use CS for better performance and reduced lockout situations.
Use RR only if you wish to retain locks on read pages until you
reach a commit (synchronization) point.
Flag Indicates the level of messages you wish to see resulting from
the bind. Specify one of the following options:
I All messages
W Warning, error, and completion messages
E Only error and completion messages
C Only completion messages

Acquire Specify one of the following options:


USE To allocate DB2 resources when and as needed.
ALLOCATE To allocate the resources at the time the plan is
allocated.
Release Specify one of the following options:
COMMIT To free up the resources after a commit is
successfully executed.
DEALLOCATE To deallocate any resources when the plan is
deallocated.
Explain Specify YES to obtain explain information at bind time. If you
specify YES, you must have access to a Plan_Table in which DB2
can store the information relating to the SQL calls in your
program.
You can allocate a Plan_Table for yourself or use a common
Plan_Table.
Owner of Plan
If you want to indicate an owner other than yourself, enter the
authorization ID of that person. If omitted, you are, by
default, the owner of the plan.
F.2 DBRM Members and DBRM Libraries Screen
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

When you enter SETUP on the Bind File-AID DB2 Program Plan screen, the
screen shown in Figure F-2 appears. This screen is used to enter the
names of the DBRM members and DBRM libraries to be used to bind a DB2
plan. If no DBRM members are entered on this screen, a plan will be
created that contains the File-AID for DB2 DBRM members and the DBRM
entered in the First DBRM Member field on the BIND File-AID DB2 Program
Plan screen.
|---------------------------------------------------------------------------
-------|
|
|
| --------------------------- XPEDITER/TSO - DBRM LIBRARIES ----------------
------ |
| COMMAND ===>
|
|
|
| Members ===> DBRMMEM2 ===> ===> ===>
|
| ===> ===> ===> ===>
|
|
|
| User Libraries:
|
| (1) ===>
|
| (2) ===>
|
| (3) ===>
|
| (4) ===>
|
|
|
| Installation Libraries: (Changes made to the list override installed defau
lts) |
| (5) ===> 'ASJUSR1.PROD5100.DBRMLIB'
|
| (6) ===>
|
| (7) ===>
|
| (8) ===>
|
| (9) ===>
|
| (10) ===>
|
| (11) ===>
|
| (12) ===>
|
|
|
| Press ENTER to Process or Enter END Command to Terminate
|
|
|
|---------------------------------------------------------------------------
-------|
Figure F-2. DBRM Members and DBRM Libraries Screen
The fields on this screen are:
Members You can specify one to eight additional DBRM modules to be
combined with the File-AID for DB2 DBRM members when creating
DB2 plans. The DBRM modules named in these fields must be
members of the DBRM libraries defined below.
A DBRM module member is one output of a DB2 compile
preprocessor. DBRM modules are combined by the bind process to
create plans that are used by DB2 for processing of program SQL
statements. The File-AID for DB2 DBRMs are automatically
included in the BIND process, but do not appear in the member
list.
User Libraries
Required only if the DBRM members specified are not contained
in the list of installation libraries. You can specify up to
four libraries. Normal concatenation rules are in
effect--libraries specified first are searched first, and
buffer space for the library list is determined by the first
library specified.
Installation Libraries
The installer entered the DSNAMEs of common DBRM libraries that
should be allocated to any sessions. These libraries are
included in the DBRM library list for a plan that is created
using the bind process. You can override the installed default
libraries by specifying new libraries in these fields.
G.0 Appendix G. COBOL-Structure Keywords
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The following table describes each keyword and the verbs that the keyword
identifies. All verbs are shown in capital letters. Where keywords to a
verb are listed, the keywords are shown in lowercase, and the
verbs--capitalized--are enclosed in parentheses.
|--------------|---------------------------------------------------------|
| Keyword | Description and Reference |
|--------------|---------------------------------------------------------|
| ALTer | Possible modification of the value of a data name or |
| | index: |
| | |
| | Everything in INPUT, plus |
| | ADD, by (PERFORM), CALL, COMPUTE, DIVIDE, EXAMINE |
| | (OS/VS COBOL only), from (PERFORM, WRITE), INITIALIZE |
| | (VS COBOL II only), INSPECT, MOVE, MULTIPLY, SEARCH, |
| | SET, STRING, SUBTRACT, TRANSFORM (OS/VS COBOL only), |
| | UNSTRING, varying (PERFORM); |
| | EXEC CICS keywords: ADDRESS, ASKTIME, ASSIGN, |
| | FORMATTIME, INQUIRE DATASET, INQUIRE PROGRAM, INQUIRE |
| | TERMINAL, INQUIRE TRANSACTION, LINK, XCTL |
|--------------|---------------------------------------------------------|
| BRAnch | Transfer of logic control: |
| | |
| | Everything in CONDition plus |
| | ALTER, CALL, CONTINUE, ENTRY, EXIT, GOBACK, GO TO, NEXT |
| | SENTENCE, PROCEDURE DIVISION, PERFORM, STOP, INPUT |
| | PROCEDURE, and OUTPUT PROCEDURE; |
| | EXEC CICS keywords: ABEND, HANDLE ABEND, HANDLE AID, |
| | HANDLE CONDITION, LINK, RETURN, XCTL; |
| | EXEC SQL keywords: WHENEVER |
|--------------|---------------------------------------------------------|
| CALL | CALL and CANCEL statements, excluding generated calls |
| | from EXEC CICS or EXEC DLI |
|--------------|---------------------------------------------------------|
| CICS | EXEC CICS statements |
|--------------|---------------------------------------------------------|
| CONDition | Conditional logic: |
| | |
| | At end (READ, SEARCH, RETURN), at eop/at end-of-page |
| | (WRITE), depending on (GO TO), else (IF), EVALUATE (VS |
| | COBOL II only), IF, invalid key (DELETE, WRITE, START, |
| | READ, REWRITE), otherwise (IF) (OS/VS COBOL only), ON |
| | (OS/VS COBOL only), on exception (CALL), on overflow |
| | (STRING, UNSTRING, CALL), on size error (ADD, SUBTRACT, |
| | MULTIPLY, DIVIDE, COMPUTE), times (PERFORM), until |
| | (PERFORM), when (SEARCH) |
|--------------|---------------------------------------------------------|
| DLI | EXEC DLI statements or calls to CBLTDLI |
|--------------|---------------------------------------------------------|
| Input or | Receive data into the program: |
| INPut | |
| | ACCEPT, READ, RETURN; |
| | EXEC CICS keywords: CONVERSE, READ, READNEXT, READPREV, |
| | READQ TD, READQ TS, RECEIVE, RETRIEVE; |
| | EXEC DLI keywords: GU, GN, GNP, STAT; |
| | CALL CBLTDLI function code keywords: CMD, FLD, GCMD, |
| | GET, GHN, GHNP, GHU, GN, GNP, GU, POS, STAT; |
| | EXEC SQL keywords: FETCH, SELECT, UPDATE |
|--------------|---------------------------------------------------------|
| IO | Input and output to a program: |
| | |
| | ACCEPT, CALL, CLOSE, DELETE, DISPLAY, EXHIBIT (OS/VS |
| | COBOL only), MERGE, OPEN, READ, RELEASE, RETURN, |
| | REWRITE, SORT, START, WRITE |
| | |
| | Note: The CALL modules must be specified on the |
| | Input/Output Module Definition screen completed at |
| | installation time or they will not be highlighted by |
| | the FIND IO command. |
| | |
| | EXEC CICS keywords: CONVERSE, DELETE, DELETEQ TD, |
| | DELETEQ TS, DBR, READ, READNEXT, READPREV, READQ TD, |
| | READQ TS, RECEIVE, RESETBR, RETRIEVE, REWRITE, SEND, |
| | STARTBR, NCPOINT, UNLOCK, WRITE, WRITEQ TD, WRITEQ TS; |
| | CALL CBLTDLI function code keywords: CHKP, CHNG, CLSE, |
| | CMD, DEQ, DLET, FLD, GCMD, GET CHN, CHNP, GHU, GN, GNP, |
| | GU, IRST, LOAD, LOG, OPEN POS, PURG, REPL, ROLB, ROLL, |
| | SHCD, SNAP, STAT, SYMCHKP, SYNC, TERM, XRST; |
| | EXEC DLI keywords: CHKP, DLET, GU, GN, GNP, ISRT, LOAD, |
| | LOG, REPL, ROLL, ROLB, SCHD, STAT, SYMCHKP, TERM, XRST; |
| | EXEC SQL keywords: CLOSE, COMMIT, DECLARE CURSOR, |
| | DELETE, FETCH, INSERT, OPEN, ROLLBACK, SELECT, UPDATE |
|--------------|---------------------------------------------------------|
| Output or | Transmit data out of the program: |
| OUTput | |
| | DELETE, DISPLAY, EXHIBIT (OS/VS COBOL only), MERGE, |
| | RELEASE, REWRITE, SORT, WRITE; |
| | EXEC CICS keywords: CONVERSE, DELETE, DELETEQ TD, |
| | DELETEQ TS, REWRITE, SEND, WRITE, WRITEQ TD, WRITEQ TS; |
| | CALL CBLTDLI function code keywords: CMD, DLET, FLD, |
| | ISRT, REPL, SNAP; |
| | EXEC DLI keywords: DLET, ISRT, REPL; |
| | EXEC SQL keywords: DELETE, INSERT, UPDATE |
|--------------|---------------------------------------------------------|
| PARAgraph | Paragraph or section labels |
|--------------|---------------------------------------------------------|
| SQL | DB2 statements or EXEC SQL calls |
|--------------|---------------------------------------------------------|
H.0 Appendix H. IMS Stop Region Facility
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
When using the XPEDITER/IMS product, there can be times when you will need
to force the end of the XPEDITER test; e.g., a programmer goes home
without ending the test. In some releases of IMS, the TSO ID cannot be
cancelled while the IMS MPP/BMP/IFP region is still active.
For these cases and others, a batch job can be run which forces the end of
a user's IMS MPP, BMP, or IFP test region. At this time, you can drop the
TSO ID, if desired.
The batch job is an execution of program ADSIM012 with a parm string of up
to 5 TSO IDs for which the XPEDITER/IMS region is to be brought down. The
TSO ID is obtained by doing a '/DIS A' on an IMS terminal. The job name
for any XPEDITER/IMS test region is the user's TSO ID.
The TSO ID, once learned, is entered as a parm on the batch JCL. Sample
JCL is shown below:
//XXX JOB ....
//STEPA EXEC PGM=ADSIM012,
// PARM='AMNCRV1'
//STEPLIB DD DISP=SHR,DSN=XXXX.XPEDITER.LINKLIB
//
Using the JCL to cancel more than one ID changes the parm to:
// PARM='AMNCRV1,ASJDED2'
Note: Because this method forces a termination of the XPEDITER test
session, there can be an abend on the TSO session (in XPEDITER) while
getting out of the test. This abend will not adversely affect any later
XPEDITER tests or ISPF functions.

You might also like