Xpeditor UserGuide PDF
Xpeditor UserGuide PDF
Release 17.02
ii Xpediter/Code Coverage Mainframe User/Reference Guide
https://go.compuware.com/
This document and the product referenced in it are subject to the following legends:
Copyright 1999 - 2017 Compuware Corporation. All rights reserved. Unpublished rights reserved under the
Copyright Laws of the United States.
U.S. GOVERNMENT RIGHTS-Use, duplication, or disclosure by the U.S. Government is subject to restrictions as
set forth in Compuware Corporation license agreement and as provided in DFARS 227.7202-1(a) and 227.7202-
3(a) (1995), DFARS 252.227-7013(c)(1)(ii) (OCT 1988), FAR 12.212(a) (1995), FAR 52.227-19, or FAR 52.227-14
(ALT III), as applicable. Compuware Corporation.
This product contains confidential information and trade secrets of Compuware Corporation. Use, disclosure, or
reproduction is prohibited without the prior express written permission of Compuware Corporation. Access is
limited to authorized users. Use of this product is subject to the terms and conditions of the user’s License
Agreement with Compuware Corporation.
Xpediter, Code Coverage, File-AID, Abend-AID, Topaz Workbench, FrontLine, Enterprise Common Components,
and Compuware Shared Services are trademarks or registered trademarks of Compuware Corporation.
IBM, CICS, DB2, DFSORT, IMS, Language Environment, MVS, OS/390, and z/OS are trademarks of International
Business Machines Corporation.
ACF2, CA-MIM, CA-ROSCOE, ENDEVOR, LIBRARIAN, PANEXEC, PANVALET, and Top Secret are trademarks or
registered trademarks of CA Technologies, Inc.
Adobe® Reader® is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
All other company and product names are trademarks or registered trademarks of their respective owners.
Doc. OCT2017
September 27, 2017
iii
Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Intended Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Notation Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Related Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Online Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Customer Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Compuware FrontLine Customer Support Website . . . . . . . . . . . . . . . . . . . xi
Contacting Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Corporate Website. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Information for Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-1
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I-1
viii Xpediter/Code Coverage Mainframe User/Reference Guide
ix
Introduction Intro
This manual provides information about how to use Xpediter/Code Coverage and also
includes error messages. It has three main parts and one appendix and contains the
following chapters:
Intended Audience
This manual is intended for Xpediter/Code Coverage users, administrators, and system
programmers.
x Xpediter/Code Coverage Mainframe User/Reference Guide
Notation Rules
Syntax diagrams define primary command syntax.
All KEYWORDs are shown in uppercase characters and must be spelled exactly as shown.
You cannot substitute another value. If any part of a KEYWORD is shown in lowercase
characters, that part is optional.
Variables are user-specified values and are printed in lowercase italics. For example,
dataset-name indicates you are to substitute a value.
The syntax for commands is described in diagrams that help you visualize parameter use.
The following example shows a command and a parameter:
Read the diagrams from left to right and from top to bottom. These symbols help you
follow the path of the syntax:
Required parameters appear on the horizontal line (the main path). Optional parameters
appear below the main path. Default parameters appear above the main path and are
optional. The command executes the same regardless of whether the default parameter is
included.
Vertically stacked parameters are mutually exclusive. If you must choose a parameter, one
item of the stack appears on the main path. If the parameters are optional, the entire
stack appears below the main path. If a parameter in a stack is the default, it appears
above the main path.
If the same parameters are used with several commands, their syntax may be documented
in a separate diagram. In the command syntax, these common parameters are indicated
with separators before and after the parameter name.
Introduction xi
An arrow returning to the left indicates a repeatable item. If the arrow contains a comma,
separate the repeated items with a comma.
Related Publications
For more information about Xpediter/Code Coverage, refer to the Xpediter/Code Coverage
Installation Guide which documents the installation and configuration process and
customer profile utility for Code Coverage.
Online Documentation
The Xpediter/Code Coverage product installation package does not include the product
documentation. Access the Xpediter/Code Coverage documentation from the
Compuware FrontLine customer support website at https://go.compuware.com in the
following electronic formats:
• View PDF files with the free Adobe Reader, available at http://www.adobe.com.
• View HTML files with any standard web browser.
Customer Support
Compuware provides a variety of support resources to make it easy for you to find the
information you need.
Phone
• USA and Canada: 1-800-538-7822 or 1-313-227-5444.
• All other countries: Contact your local Compuware office. Contact information is
available at https://go.compuware.com.
xii Xpediter/Code Coverage Mainframe User/Reference Guide
Web
You can report issues via the Quick Link Create & View Support Cases on the
Compuware FrontLine home page.
Mail
Compuware Customer Support
Compuware Corporation
One Campus Martius
Detroit, MI 48226-5099
Corporate Website
To access Compuware’s site on the Web, go to http://www.compuware.com.
Chapter 1.
Overview Chap 1
Code Coverage works in conjunction with at least one other mainframe Xpediter test and
debugging tool. As you perform your testing, Code Coverage keeps track of what parts of
your code have been exercised and what parts have not. The results generated by Code
Coverage can be displayed, analyzed, and output using DevEnterprise. You can also
output detailed reports directly from Code Coverage on the mainframe.
In the past, there was no way to ensure whether the tests chosen and data used would
thoroughly exercise every part of the modified programs. Now that ACME uses
Xpediter/Code Coverage, however, it is possible to know precisely how thorough their
testing efforts have been and whether more testing is required.
To prepare for Xpediter/Code Coverage testing, the Code Coverage administrator first
creates one or more Results Repository datasets (refer to the “Repository Utility Screen”
on page 5-2 for more information). These datasets hold Code Coverage data collected
during testing. After a repository dataset has been allocated, the administrator uses the
Setup screen in Xpediter/TSO to define two Code Coverage systems, PAYROLL and
INVENTORY. These Code Coverage systems make it easier to organize test results. The
ACME order entry application runs under CICS, so the Code Coverage administrator uses
the CICS Populater and Program Inventory Utility to ensure the modified programs will
have their test data collected by Xpediter/Code Coverage. The XVCC transaction is used
to create the CICS system name ORDER ENTRY. (See Part 3, “Using Xpediter/Code Coverage
with Xpediter/CICS” for more information.)
The ACME staff then performs extensive testing of their modified programs using
Xpediter/TSO and Xpediter/CICS. When the testing completes, the Code Coverage
administrator generates comprehensive reports showing counts and percentages of
execution, varying the degrees of detail for all the modified programs. By downloading
repository data to a workstation, the administrator can use DevEnterprise to view
graphical representations of the Code Coverage results.
1-2 Xpediter/Code Coverage Mainframe User/Reference Guide
Knowledge gained from these Xpediter/Code Coverage reports can be immediately put to
use in refining the ACME test methodology to ensure complete testing and prevent
surprises when the modified programs are put into production.
System Flow works in conjunction with a mainframe Xpediter test and debugging tool.
As you perform your testing, System Flow keeps track of what elements have executed.
The results, generated by System Flow reporting, can be displayed on the mainframe
directly to your ISPF terminal or sent to a printer.
ACME would like to understand the flow of the new system it has acquired. Now that
ACME uses Xpediter/Code Coverage with the System Flow feature, it is possible to record
what transactions, load modules, and programs are called during execution of the newly
acquired system without making any changes to the applications.
To prepare for System Flow testing, the administrator can either use existing Code
Coverage repositories for System Flow data (Code Coverage and System Flow data can co-
exist on the same repository), or can optionally create one or more Code Coverage
repositories exclusively for System Flow data. These datasets hold the System Flow data
collected during the testing. After a repository dataset has been allocated, the
administrator uses the setup screen in Xpediter/CICS to define System Flow systems and
identify which applications to monitor.
The ACME staff then performs extensive testing of their newly acquired application.
When testing is complete, the ACME administrator halts the System Flow collection and
prints reports showing the transaction IDs, load modules, and programs that have
executed as a result of the testing.
Knowledge gained from these System Flow reports can be immediately put to use in
understanding the architecture of this new system.
Primary Menu
The Code Coverage Primary Menu is shown in Figure 1-1. On the right side of the screen,
the ID of the logged-on user, their default dataset prefix, and the current system time are
displayed.
Overview 1-3
Type 0 in the OPTION field and press Enter to specify the desired defaults for job and
processing parameters, Code Coverage repository datasets, source listing override
datasets, report filters, and optionally the CICS program inventory settings, CICS
application load libraries, and CICS source listing datasets. Refer to Chapter 2,
“Specifying Code Coverage Defaults” for details.
Type 1 in the OPTION field and press Enter to specify the level of Code Coverage
reporting to use and various other parameters. Refer to Chapter 3, “Generating Code
Coverage Reports” for details.
Type 2 in the OPTION field and press Enter to generate System Flow reports. Refer to
Chapter 4, “Generating System Flow Reports” for details.
Type U in the OPTION field and press Enter to display the Code Coverage UTILITIES
menu. From the UTILITIES menu, you can access Code Coverage utilities to create and
delete repository datasets, list and delete repository members, export and import those
members, and merge the records of two repository datasets. You can also access the CICS
Program Inventory utility and print a report detailing Code Coverage release and applied
maintenance information. The UTILITIES menu is described in detail in Chapter 5,
“Using Results Repository Utilities”.
Type X in the OPTION field and press Enter to exit the Primary Menu.
Any data entered followed by an asterisk and trailing blanks selects only those records
that begin with that character string. For example ABC* will match any field beginning
with ABC including the strings 'ABCDEF' , 'ABC12 ' and 'ABC '.
If an asterisk is imbedded within a character string, such as A*B , that specific character
would not be compared. This string would match A1B , AxB , and other similarly.
Multiple asterisks can be entered in a field. A**B or A*B* are acceptable entries. The string
'A**B' would match any string with A in the first character and B in the fourth character
and blanks in the fifth character onward.
Chapter 2.
Specifying Code Coverage Defaults Chap 2
Defaults Menu
The Defaults menu shown in Figure 2-1 provides access to four Code Coverage reporting
parameters and three CICS Code Coverage defaults. This menu is accessed by entering
option 0 on the Primary Menu.
Type 2 in the OPTION field and press Enter to specify one or more Results Repository
datasets to be used for Code Coverage. Refer to the “Repository Screen” on page 2-3 for
details.
Type 3 in the OPTION field and press Enter to override the default name specified for the
source listing datasets as described in the “Source Listing Override Screen” on page 2-3.
Type 4 in the OPTION field and press Enter to set up report filtering criteria. This option
is explained in more detail in the “Report Filters Screen” on page 2-4.
Type 5 in the OPTION field and press Enter to define the Program Inventory file, the
target Program Inventory file for the copy command, and the Excludes dataset used by
the Populate utility. Refer to “CICS Program Inventory Datasets Screen” on page 2-15 for
details.
2-2 Xpediter/Code Coverage Mainframe User/Reference Guide
Type 6 in the OPTION field to specify the CICS application load libraries that will be used
by the Populate utility. Refer to “CICS Application Load Libraries Screen” on page 2-17
for details.
Type 7 in the OPTION field to specify the source listing datasets that will be used by the
CICS Populate Utility. Refer to “CICS Source Listing Files Screen” on page 2-17 for details.
Note: On any of the screens accessed from the Defaults menu, pressing Enter will
process any information in the screen fields and redisplay the Defaults menu.
The END command (default PF3) will redisplay the Defaults menu without
saving any screen field information.
Input Fields
Default SYSOUT class
The default processing class for Code Coverage sysout datasets.
Utility Environment
Specifies the desired “mode” for utility functions. Enter F for Foreground to run a job
interactively or specify B for Batch to run a job via submission of a batch job. The
default is FOREGROUND.
Trace active
Specifies whether a trace facility should be active during the next testing session.
Enter Y for Yes or N for No. This option should be set to No (the default) to avoid
impacting performance. A Compuware Customer Support representative may ask you
to change the setting to Yes to capture information for use in diagnosing a problem.
JOB CARD INFORMATION
Specifies your job card information for batch jobs according to the standards in use
at your site.
Specifying Code Coverage Defaults 2-3
Repository Screen
The Repository screen shown in Figure 2-3 allows you to specify one or more Results
Repository datasets to be used in generating subsequent Code Coverage reports. This
screen is accessed by entering option 2 on the Code Coverage DEFAULTS menu (Figure 2-
1 on page 2-1). The values entered are saved to the profile of the current user.
Input Fields
Code Coverage Repositories
Nine possible fields indicating Results Repository datasets to be used in generating
subsequent Code Coverage reports.
Input Fields
Source Listing Override Datasets
Nine possible fields indicating dataset names to be used in place of the default Source
Listing dataset when Code Coverage reports are generated.
The Report Filters selection screen helps you focus reports on particular parts of your
program. For example, if your site used the string Y2K to mark each line of code modified
for year 2000 remediation, you could create a report filter that would screen for those
characters. The resulting Code Coverage report would include those lines that passed the
filter criteria. You could also create a report filter for a block of lines by specifying text
strings that occur in the beginning and ending lines. Filters only affect the reporting of
results and do not filter out any information written to the Code Coverage Results
Repository. Filters do not apply to System Flow.
Filter Files
Filter Files are datasets that can be used to store the current filters. After a filter has been
stored, it can be retrieved and used with, or instead of, the current filters. There are two
types of filter files:
The Personal Filter File is used by you to save your current filters so you can retrieve them
later. When you save your filters to a Personal Filter File, you supply the member name
and a description of the filters.
The optional Global Filter File can be used as a central location from which many
individuals can retrieve filters, while your security system is used to allow only selected
individuals to save filters to the file.
To create a Personal Filter File, use a PDS or PDSE dataset with LRECL=150 and
RECFM=FB. The BLKSIZE can be determined based on your site’s requirements. Space
requirements are dependent on the quantity and size of the filters you save. Each filter is
equal to one record in the Filter File member, while the filter description also occupies
one record in each Filter File member.
To create a global filter file, use a PDS or PDSE dataset with LRECL=150 and RECFM=FB.
the BLKSIZE can be determined based on your site’s requirements. Space requirements are
dependent on the quantity and size of the filters you save. Each filter is equal to one
record in the filter file member, while the filter description also occupies one record in
each filter file member.
Specifying Code Coverage Defaults 2-5
Line Commands
The line commands shown in Figure 2-5 are defined as follows:
A Activate all the Line filters and/or Block filters for report processing.
P Suspend all the Line filters and/or Block filters from report processing.
Input Fields
Line Filters are ACTIVE/SUSPNDED
Specifies a change in status for the current Line filters. These filters are stored in an
ISPF table within your profile dataset. You can either activate (A) all current Line
filters or suspend (P) all current Line filters. If you activate all Line filters, then the
status of each filter determines whether that filter is used during filter report
generation. If you suspend all Line filters, then no current Line filters are used during
filter report generation. Selecting (S) the Line filters invokes a table display screen
that allows you to access the current Line filters. See Figure 2-6 on page 2-6.
Block Filters are ACTIVE/SUSPNDED
Specifies a change in status for the current Block filters. These filters are stored in an
ISPF table within your profile dataset. You can either activate (A) all current Block
filters or suspend (P) all current Block filters. If you activate all Block filters, then the
status of each filter determines whether that filter is used during filter report
generation. If you suspend all Block filters, then no current Block filters are used
during filter report generation. Selecting (S) the Block filters invokes a table display
screen that allows you to access the current Block filters. See Figure 2-7 on page 2-8.
Retrieve a member from the Global/Personal filter libraries
Selecting this option will invoke the process to retrieve a member and/or browse a
member from a Personal Filter File or, if your site implements one, a Global Filter
File. The screen displayed is shown in Figure 2-8 on page 2-10 or Figure 2-9 on page
2-10.
2-6 Xpediter/Code Coverage Mainframe User/Reference Guide
Line Commands
The line commands shown in Figure 2-6 are defined as follows:
Primary Commands
The primary commands shown in Figure 2-6 are defined as follows:
Input Fields
CMD
Specifies one of four available line commands that can be entered next to the Line
filter statement mask you want to affect.
Stat
A protected field indicating the active or suspended status of the statement mask.
This field cannot be edited, but it can be changed with the A or P line command.
Type C/E
A character value of C (Critical) or E (Exclude).
Critical filters are used to identify and label the source lines considered important for
this test. Exclude filters are used to identify and label source lines considered
unimportant for this test. See Chapter 3, “Generating Code Coverage Reports” for
examples.
Statement Mask
A user-specified character string. The statement mask is 1 to 50 positions in length
and may contain any character, including embedded blanks. Duplicate masks are not
allowed. The Type C/E field is not used when the check for duplicates is made.
Position Start
A fixed column location from which a statement mask begins. If the starting position
is not supplied and the ending position is supplied, then the starting position will be
calculated so that the statement mask starts at the starting position and ends at the
ending position.
Position End
A fixed column location at which a statement mask ends. If the ending position is
specified, the mask will be searched for between the starting and ending positions,
inclusive. If the ending position is not supplied and the starting position is supplied,
then the ending position will be calculated so that the statement mask starts at the
starting position and ends at the ending position.
Word Match
A character value of Y (Yes) or N (No). Y indicates that a character string on the
source line will only be considered a match if it is a standalone word within the
boundaries set by the Start and End Positions, inclusive, with at least one blank
before the string and either a blank, period, comma, or semi-colon immediately after
the string. N indicates that a character string on the source line between the Start
and End Positions will be considered a match even if it is not a standalone word.
Line Commands
The line commands shown in Figure 2-7 are defined as follows:
Primary Commands
The primary commands shown in Figure 2-7 are defined as follows:
Input Fields
CMD
Specifies one of four available line commands that can be entered next to the Block
filter starting/ending masks you want to affect.
Stat
A protected field indicating the active or suspended status of the statement mask.
This field cannot be edited, but it can be changed with the A or P line command.
Type C/E
A character value of C (Critical) or E (Exclude).
Specifying Code Coverage Defaults 2-9
Critical filters are used to identify and label the source lines considered important for
this test. Exclude filters are used to identify and label source lines considered
unimportant for this test. See Chapter 3, “Generating Code Coverage Reports” for
examples.
Starting Mask
A user-specified character string. The starting mask is 1 to 50 positions in length and
may contain any character, including embedded blanks. If you enter a starting mask,
you must enter an ending mask. The Type C/E field is not used when the check for
duplicates is made.
Ending Mask
A user-specified character string. The ending mask is 1 to 50 positions in length and
may contain any character, including embedded blanks. If you enter an ending mask,
you must enter a starting mask. The Type C/E field is not used when the check for
duplicates is made.
Position Start
A fixed column location from which a statement mask begins. If the starting position
is not supplied and the ending position is supplied, then the starting position will be
calculated so that the statement mask starts at the starting position and ends at the
ending position.
Position End
A fixed column location at which a statement mask ends. If the ending position is
specified, the mask will be searched for between the starting and ending positions. If
the ending position is not supplied and the starting position is supplied, then the
ending position will be calculated so that the statement mask starts at the starting
position and ends at the ending position. If the starting and ending positions are
specified, then the range must be equal to or greater than the mask specified. In
other words, the mask must fit within the range.
Figure 2-8. Initial Retrieve Filters Screen - With Global Filter File
Figure 2-9. Initial Retrieve Filters Screen - Without Global Filter File
Input Fields
Filter Member Name
Specifies the name of the member that you want to retrieve or browse. You can do a
generic member look-up by typing an asterisk at the end of a partial member name.
For example, entering ABC* will display a list of all the member names that begin
with ABC.
Personal Filter File
Type the name of your personal filter file. You must type an S on the underscore in
order for the dataset to be used in the member name search.
Specifying Code Coverage Defaults 2-11
Note: If you select both the Personal Filter File and the Global Filter File, the
Personal Filter File will be searched first. If the member name is found or the
generic search is satisfied, then the search will not continue to the Global
Filter File.
If the Global Filter File is not implemented at your site, the screen shown in Figure 2-
9 on page 2-10 will be displayed. The S in front of the Personal Filter File is placed
there by default.
Line Commands
The line commands shown in Figure 2-10 are defined as follows:
B Browse the contents of the filter member. See “Browse Filters Screens” below.
Retrieve the contents of the filter member. See “Retrieve Filters Append or Replace Screen” on page
R
2-13.
A Personal or Global Filter File can contain line filters and/or block filters. Type an S next
to Line Filters to browse line filters. The Line Filters screen shown in Figure 2-12 will be
displayed. Type an S next to Block Filters to browse block filters. The Block Filters screen
shown in Figure 2-13 on page 2-13 will be displayed.
If you type an S next to the first option, Append the following filters to your existing
filters, the filters in the selected filter member(s) will be added to the filters currently in
use. If you type an S next to the second option, Replace your existing filters with the
following filters, the filters currently in use will be completely replaced by the filters in
the selected filter member(s).
Type an S next to the Line Filters and/or Block Filters field(s) to make any changes to the
current filters before they are saved. Pressing Enter without typing an S next to either
field will result in the current filters being saved immediately to the specified dataset and
member.
Input Fields
Filter File
The name of the Filter File where the current filters will be saved.
Member Name
The name of the member that will be saved in the Filter File.
Description
A description from 1 to 60 characters long that will help you identify the filters that
are in the member. This is saved with the filters in the Filter File.
Program Inventory Dataset screen occurs when users choose option 5 from the Defaults
menu (see the “Defaults Menu” on page 2-1).
Inventory file
The Inventory File is the default Program Inventory file that will be accessed by the
CICS Program Inventory Maintenance utility. Specifying an alternative dataset name
on the CICS Program Inventory Maintenance screen will override this dataset. The
directory of the inventory file appears on entry to the CICS Program Inventory
Maintenance utility. The Inventory File serves as the source file for the Copy and
Export functions, the destination file for the Import function and populate function.
Inventory copy
The Inventory Copy file is the default destination file for the Copy function. The
source file is the “Inventory file” defined for the Copy function. The source file is the
“Inventory file” defined above. The Inventory Copy File may be overridden by the
“Copy to file” on the Copy pop-up window.
Inventory EXP
The Inventory EXP file is the default destination file for the Export function. The
source file is the “Inventory File” defined above. The Inventory EXP File may be
overridden by the “Export to file” on the Export pop-up window.
Inventory IMP
The Inventory IMP file is the default source file for the Import function. The
destination file is the “Inventory File” defined above. The Inventory IMP File may be
overridden by the “Import from file” on the Import pop-up window.
Excludes file
The Excludes file is used by the populate function of the CICS Program Inventory
Maintenance screen. This file is used to exclude load modules and CSECTs from
being added to the Program Inventory file. The installer of Code Coverage usually
creates this file.
Specifying Code Coverage Defaults 2-17
The CICS application load libraries listed on this screen are used for the CICS Program
Inventory maintenance populate function only. The populate function adds an entry to
the Program Inventory file for each load module or CSECT for which CICS Code
Coverage is desired. The populate function will scan the load libraries (in the order
entered) and match the load module CSECT against a listing defined by the CICS Source
Listing datasets.
The Source Listing datasets listed on this screen are used for the CICS Program Inventory
maintenance populate function only. The populate function adds an entry to the
Program Inventory file for each load module or CSECT for which CICS Code Coverage is
desired. The populate function will scan the load libraries (in the order entered) and
match the load module CSECT against a listing defined by the CICS Source Listing
datasets.
3-1
Chapter 3.
Generating Code Coverage Reports Chap 3
This chapter describes how to generate reports from within the mainframe component of
Xpediter/Code Coverage. DevEnterprise provides powerful display, analysis, and report
generating functions. Access to global online help covering all components of
DevEnterprise is available from the workstation’s Start menu.
IMPORTANT:
Xpediter/Code Coverage results are based, in part, on the mapping of program source
code to the compiler-generated machine instructions executed. Because the results for
optimized programs can seem illogical, Xpediter/Code Coverage may make certain
inferences, indicated by an asterisk (*), in an attempt to clarify actual program execution.
For more information, see “Using Code Coverage with Optimized Programs” on page 6-1.
Reports Screen
The Reports screen shown in Figure 3-1 on page 3-2 is accessed by entering option 1 on
the Primary Menu. This screen is used to generate reports that detail the extent to which
different sections of your code have been executed. Various screen fields, described
below, allow you to control:
The Reports screen is accessed by entering option 1 on the Primary Menu. Sample reports
with detailed descriptions are provided in “Sample Code Coverage Reports” on page 3-5.
Press Enter to process any information in the screen fields and submit the job to generate
a Code Coverage report. Use the END command (default PF3) to return to the Primary
Menu without generating a report.
Reports can be run in foreground or batch mode. If the reports are run in the foreground,
the output is directed to the terminal. When viewing of these foreground reports is
complete, a Report Disposition screen is displayed that gives the user the option of
deleting the report, printing the report, or saving the report on disk. If the reports are run
in batch, the Job Information screen determines the attributes of the output.
3-2 Xpediter/Code Coverage Mainframe User/Reference Guide
Line Commands
The line commands displayed in Figure 3-1 are defined as follows:
R Enables the user to run a report request online, and then browse the output.
Primary Commands
SEtup
Modifies the global default values, including repository dataset(s), override source
listing dataset(s), and jobcards.
DEL
Deletes all reports in the ISPF table and inserts one new request.
ACT
Marks all report requests active.
SUS
Marks all report requests suspended.
SUBmit
Submits a batch job using all entries marked active.
Edit
Creates JCL for batch processing and repositions you into ISPF edit.
Generating Code Coverage Reports 3-3
RUN
Invokes the report program for processing all entries marked as active.
END
Exits the display and saves all changes.
CANcel
Exits the display without saving any changes.
Input Fields
Report type
Specifies the type of report you want Code Coverage to generate. Enter S (the default)
for a system-level report, P for a program-level report, and A for an annotated listing.
Examples are provided in “Sample Code Coverage Reports” on page 3-5.
Combine Debug/NoDebug
Specifies whether to include the results of testing in which debugging was done.
Such results may not necessarily reflect normal program execution. Valid entries are
Y for Yes and N for No.
Merge Annotated results
Specifies whether to merge annotated results. Valid entries are Y for Yes and N for No.
COBOL Procedure Division only
Specifies whether or not to include only the procedure division of COBOL programs
in the Code Coverage report.
Selection Criteria ACTIVE/SUSPNDED
Specifies one of two optional commands to activate or suspend the status of a
repository program report. After entering either a blank or a valid command in the
Report type field, specify a third optional command to display the Reports Selection
Criteria screen (Figure 3-2 on page 3-4). The optional commands are E (Edit), A
(Activate), or P (Suspend).
Report Filters ACTIVE/SUSPNDED
Specifies one of two optional commands to activate or suspend the status of a
repository program report. After entering either a blank or a valid command in the
Report type field, specify a third optional command to display the Report Filters
selection screen (Figure 2-5 on page 2-5). The optional commands are E (Edit), A
(Activate), or P (Suspend).
CMD
Specifies one of the six available line commands next to the system name you want
to affect. See “Line Commands” on page 3-2 for details of each command that can be
entered in this field.
Status
A protected field indicating the active or suspended status of a repository program
report. This field cannot be edited.
System Name
Specifies the system name on which Code Coverage is to report. More than one
system name can be specified by using additional lines. This field is limited to 15
characters in length and is subject to wildcard rules.
3-4 Xpediter/Code Coverage Mainframe User/Reference Guide
Test ID
Specifies the name of the test ID that the selected Code Coverage Repository will
report on. This field is limited to 15 characters in length and is subject to wildcard
rules.
User ID
Specifies the name of the TSO, IMS, or CICS user ID. This field is limited to eight
characters in length and is subject to wildcard rules.
Load Module
Specifies the load module on which Code Coverage is to report. More than one load
module can be specified. This field is limited to eight characters in length and is
subject to wildcard rules.
Program
Specifies the program on which Code Coverage is to report. This field is limited to
eight characters in length and is subject to wildcard rules.
OPERATOR (EQ/LT/GT)
Indicates the operators to be used to limit the scope of the Code Coverage report.
Valid operators are EQ (equals), LT (less than), and GT (greater than). If you enter an
OPERATOR, you must enter a VALUE.
Generating Code Coverage Reports 3-5
VALUE
Indicates the target percentage to be used in conjunction with an operator to limit
the scope of the Code Coverage report. For example, specifying an operator of LT and
a value of 90 will result in a report that only shows those members for which less
than 90% of the selection criteria indicated in the input fields have been executed.
Valid percentage values range from 0 to 100. If you enter a VALUE, you must enter an
OPERATOR.
Input Fields
Percent Verbs Executed
Specifies an operator and value in this row to limit report results based on the
proportion of verbs executed in the system, module, or program specified.
Percent Critical Verbs Executed
Specifies an operator and value in this row to limit report results based on the
proportion of verbs executed in the system, module, or program specified that pass
the Critical filters established on the Report Filters screen (see page 2-4).
Percent Exclude Verbs Executed
Specifies an operator and value in this row to limit report results based on the
proportion of verbs executed in the system, module, or program specified that pass
the Exclude filters established on the Report Filters screen (see page 2-4).
Percent Net Total Verbs Executed
Specifies an operator and value in this row to limit report results based on the
proportion of net total verbs executed in the system, module, or program specified.
Net total verbs executed is derived by subtracting exclude verbs executed from verbs
executed.
Percent Branches Executed
Specifies an operator and value in this row to limit report results based on the
proportion of branches executed in the system, module, or program specified.
Percent Critical Branches Executed
Specifies an operator and value in this row to limit report results based on the
proportion of branches executed in the system, module, or program specified that
pass the Critical filters established on the Report Filters screen (see page 2-4).
Percent Exclude Branches Executed
Specifies an operator and value in this row to limit report results based on the
proportion of branches executed in the system, module, or program specified that
pass the Exclude filters established on the Report Filters screen (see page 2-4).
Percent Net Total Branches Executed
Specifies an operator and value in this row to limit report results based on the
proportion of net total branches executed in the system, module, or program
specified. Net total branches executed is derived by subtracting exclude branches
executed from branches executed.
Note: If an OPERATOR and VALUE are specified for any of the above input fields, all of
the selection criteria specified must be met for the report to be generated.
System-Level Report
An example of a system-level hardcopy batch report is shown in Figure 3-3 on page 3-6.
This report summarizes results at the system, load module, and program levels. It
includes actual numbers and percentages of verbs and branches executed as well as the
number and percentage of filtered verbs and branches if filters were established before
the report was generated. The report also provides the compile date and time for each
program and indicates whether compiler optimization was used.
The DEBUG column indicates whether results were obtained while using debugging
procedures or during normal non-debugging testing. This is important because the use of
certain debugging commands can alter the natural flow of execution in a program.
The L/T column indicates both the programming language (L) and the Compuware
product line type (T). Language selections available are C (COBOL), A (Assembler), and P
(PL/I). Defined Compuware product types are D (Xpediter/CICS) and T (Xpediter/TSO
and Xpediter/IMS).
Program-Level Report
An example of a program-level hardcopy batch report is shown in Figure 3-4. This report
summarizes results at the program level. It includes actual numbers and percentages of
verbs and branches executed as well as the number and percentage of filtered verbs and
Generating Code Coverage Reports 3-7
branches if filters were established before the report was generated. The report also
provides the compile date and time for each program and indicates whether compiler
optimization was used.
The DEBUG column indicates whether results were obtained while using debugging
procedures or during normal non-debugging testing. This is important because the use of
certain debugging commands can alter the natural flow of execution in a program.
The L/T column indicates both the programming language (L) and the Compuware
product line type (T). Language selections available are C (COBOL), A (Assembler), and P
(PL/I). Defined Compuware product types are D (Xpediter/CICS) and T (Xpediter/TSO
and Xpediter/IMS).
Annotated Listing
An example of an annotated listing hardcopy batch report is shown in Figure 3-5 on page
3-9 through Figure 3-9 on page 3-13. This report details results down to the line level for
one or more programs. It includes actual numbers and percentages of verbs and branches
executed as well as the number and percentage of filtered verbs and branches if filters
were established before the report was generated. This report is split into two sections: an
annotated summary and an annotated listing.
The ANNOTATED SUMMARY section provides the compile date and time for each
program and indicates whether compiler optimization was used. DEBUG MODE indicates
whether results were obtained while using debugging procedures or during normal non-
debugging testing. This is important because the use of certain debugging commands can
alter the natural flow of execution in a program.
The ANNOTATED LISTING section of the report shows the source code of the selected
program or programs with flags for each line indicating whether or not it was executed
and, if so, how many times.
3-8 Xpediter/Code Coverage Mainframe User/Reference Guide
Table 3-1 describes the meaning of each of the source line flags that are used in Code
Coverage annotated listings.
Chapter 4.
Generating System Flow Reports Chap 4
This chapter explains how to generate System Flow reports from within the mainframe
component of Xpediter/Code Coverage. It also includes an example CICS report with an
explanation of the data found there.
Note: System Flow data shows the logical relationships between transactions and
programs, but is not intended to be a transaction trace. Consequently, if program
A calls program B multiple times during the execution of a transaction, only one
occurrence of this relationship will be reported.
Press Enter to process any information in the screen fields and submit the job to generate
a System Flow report. Use the END command (default PF3) to return to the Primary Menu
without generating a report.
Reports can be run in foreground or batch mode. If the reports are run in the foreground,
the output is directed to the terminal. When viewing of these foreground reports is
complete, a Report Disposition screen is displayed that gives you the option of deleting
the report, printing the report, or saving the report on disk. If the reports are run in
batch, the Job Information screen determines the attributes of the output.
Line Commands
The line commands displayed in Figure 4-1 are defined as follows:
S Submit a System Flow report request for batch processing for this line.
R Enables a user to run a System Flow report request online, and then browse the output.
Primary Commands
SEtup
Modifies the global default values, including repository dataset(s) and jobcards.
DEL
Deletes all System Flow reports in the ISPF table and inserts one new request.
ACT
Marks all System Flow report requests active.
SUS
Marks all System Flow report requests as suspended (suspnded).
SUBmit
Submits a System Flow batch job using all entries marked active.
Edit
Creates JCL for batch processing and repositions you into ISPF edit.
RUN
Invokes the report program for processing all entries marked as active.
END
Exits the display and saves all changes.
CANcel
Exits the display without saving any changes.
Input Fields
CMD
Specifies one of the six available line commands next to the system name you want
to affect. See “Line Commands” on page 4-1 for details of each command that can be
entered in this field.
Status
A protected field indicating the active or suspended (suspnded) status of a repository
program report. This field cannot be edited.
System Name
Specifies the system name for which the System Flow report is to be generated. More
than one system name can be specified by using additional lines. This field is limited
to 15 characters in length and is subject to wildcard rules.
Test ID
Specifies the name of the test ID for which the System Flow report is to be generated.
This field is limited to 15 characters in length and is subject to wildcard rules.
Generating System Flow Reports 4-3
User ID
Specifies the user ID of user for which the System Flow report is to be generated. This
field is limited to eight characters in length and is subject to wildcard rules.
Report Selected
This indicates that this is a System Flow report.
Report Request
This reflects the system, test ID, and User ID of the report requested from the System
Flow reports screen. There will be one entry here for each report requested from the
System Flow Reports screen (Figure 4-1 on page 4-1).
Repositories
This reflects the Code Coverage repositories that were supplied on the Code Coverage
repositories screen. One to nine repositories may be listed here. If System Flow data
for the selected system name, test ID, and user ID is contained on more than one
repository, the data from all repositories will be combined into a single report. To
report on data from a single repository, specify only that repository on the Code
Coverage repositories screen and rerun the report.
Notice
This notice is meant to highlight that the System Flow reporting is not a transaction
trace. If repetitive calls are made to a calling program only the first occurrence of that
call will be reported. The notice will appear on page 1 of each report.
TRAN OR PROGRAM
For CICS transaction records, this will contain the literal TRN- followed by the 4-byte
transaction code (for example, TRN-XVTC). For program records, this will contain
the name of the calling program (CSECT).
4-4 Xpediter/Code Coverage Mainframe User/Reference Guide
LOAD MODULE
This is the load module that contains the calling program.
FROM SYSID
This is the 4-byte CICS system identification of the CICS region where the calling
program is executing.
ACTION
This field is the type of call that the calling program is using to invoke the called
program. The possible entries for the ACTION field are LINK for EXEC CICS LINK,
XCTL for an EXEC CICS XCTL, STATIC for a static call, DYNAM for a dynamic call,
or INITIAL for the first program collected in a CICS transaction.
Note: A program listed as INITIAL might not be the first program given control by
CICS when executing a transaction. This is because System Flow collection
masks on the Test Definition/Collection Specification screen can limit which
programs System Flow “sees” during collection for a transaction.
PROGRAM
This field is the called program (CSECT).
LOAD MODULE
This is the load module that contains the called program.
TO SYSID
This is the 4-byte CICS system identification of the CICS region where the called
program is executing.
LANGUAGE
This is the language of the called program. The language could be any language
supported by CICS.
COMPILE DATE/TIME
This is the compile date and time from the Compuware language processors of the
called program. Is it not required that a program have a Compuware source listing to
be collected for System Flow. Therefore the compile date and time in the report may
be blank.
COLLECTION DATE AND TIME
This field is the collection date and time of the System Flow record. This is expressed
as a Coordinated Universal Time, formerly known as Greenwich Mean Time (GMT).
5-1
Chapter 5.
Using Results Repository Utilities Chap 5
This chapter describes how to use each of the Xpediter/Code Coverage utilities. These
utilities allow you to create and delete entire Code Coverage results repositories or
individual repository members, import or export repository members, and merge records
from two repository datasets.
The Results repository utilities can be run as batch jobs or can be used interactively by
accessing the screens described in this chapter. Sample JCL is provided in the SLXVSAMP
members listed in Table 5-1.
Note: For information about the member name for the JCL Flag Utility, refer to the
chapter entitled “Batch File Utility CWDDSUTL,” in the Compuware Shared Services
User/Reference Guide, MVS Version.
Utilities Menu
The Utilities menu shown in Figure 5-1 provides access to the various Code Coverage
utilities. This menu is displayed by entering option 2 on the Primary Menu (see “Primary
Menu” on page 1-2).
Type 1 in the OPTION field and press Enter to create or delete a Code Coverage Results
Repository dataset. Refer to the “Repository Utility Screen” on page 5-2 for details.
Type 2 in the OPTION field and press Enter to view a list of repository members or delete
selected members. Refer to the “List/Delete Utility Screen” on page 5-4 for details.
Type 3 in the OPTION field and press Enter to export one or more repository members as
described in “Export Utility Screen” on page 5-13.
Type 4 in the OPTION field and press Enter to import repository members. Refer to the
“Import Utility Screen” on page 5-15 for details.
Type 5 in the OPTION field and press Enter to merge one or more repository members
into another repository dataset. Refer to the “Merge Utility Screen” on page 5-16 for
details.
Type 6 in the OPTION field and press Enter to select the flag that will create the batch job
to run the compare utility. Refer to the “Flag Utility Screen” on page 5-18 for details.
Type 7 in the OPTION field and press Enter to convert batch JCL for Code Coverage.
Refer to the “Convert JCL Utility Screen” on page 5-20 for details.
Type C in the OPTION field and press Enter to perform actions on the Program Inventory
file. Refer to the “CICS Program Inventory Maintenance Screen” on page 5-24 for details.
Type M in the OPTION field and press Enter to immediately print a report identifying the
release and maintenance applied to your Code Coverage system.
You can also run a batch job to create or delete a Results Repository dataset. Sample JCL is
provided in SLXVSAMP members JCLCRERP and JCLDELRP.
Commands
The primary commands shown in Figure 5-2 are defined as follows:
Input Fields
Repository File
Specifies the name of the dataset to be created or deleted. The name can be qualified
with quotes or unqualified. An unqualified name appears with your user ID as a
prefix. Ensure your site’s Code Coverage users have write access to the specified
dataset.
Management Class
Specifies the desired SMS management class. Only use this optional field or the
Storage Class field when creating an SMS managed dataset. When you use this field,
leave the Volume and Unit fields blank. The appropriate values for those fields will
be assigned by the system.
Storage Class
Specifies the desired SMS storage class. Only use this optional field or the
Management Class field only when creating an SMS managed dataset. When you use
this field, leave the Volume and Unit fields blank. The appropriate values will be
assigned by the system.
Volume
Specifies the volume serial number on which to allocate the repository dataset. You
can also specify a generic unit name. Only use this optional field only when creating
a non-SMS dataset. If you use the Management Class field or the Storage Class field
when creating an SMS managed dataset, then leave this field blank so that the system
will assign the appropriate value.
Unit
Specifies the generic unit name on which to allocate the repository dataset. If you
specify a unit name, a sequential dataset will be dynamically allocated to a volume
on that unit. This dataset will then be deleted and replaced by a VSAM dataset when
the IDCAMS batch job is run. Only use this optional field only when creating a non-
SMS dataset. If you use the Management Class field or the Storage Class field when
creating an SMS managed dataset, then leave this field blank so that the system will
assign the appropriate value.
Space Units
Specifies the primary space units for the dataset. A value must be entered when any
repository dataset is created or deleted. Valid values are cylinders (CYL) and
megabytes (MB). This field is required.
Primary Quantity
Specifies the number of primary space units to be allocated for the repository dataset.
This field is required. A valid space unit value must be entered when any repository
dataset is created. The default size is 10 cylinders, which provides enough space for
one or more systems totalling approximately 1000 programs of 800 executable
statements each. For estimating purposes, the size of each record is
Edit JCL
Allows you to choose whether or not to edit the JCL. When you are in batch mode,
specify Yes to edit the JCL of the IDCAMS allocation or deletion job prior to
submittal. The default value is No. When you are in an online mode, No is
automatically displayed in this field as a default and you are prohibited from
entering a value.
You can also run a batch job to list or delete Results Repository dataset members. Sample
JCL is provided in SLXVSAMP members JCLLST and JCLDEL.
Commands
The primary commands shown in Figure 5-3 and Figure 5-4 are defined as follows:
L Lists the items in a repository. Leaving the COMMAND field blank will also list the items in a repository.
Input Fields
All input fields are described below. The Repository File field, Type field, and Compile
Date and Compile Time fields do not accept wildcards.
Repository File
Specifies the name of the Results Repository dataset for which the systems are to be
listed or deleted. If an L is entered in the COMMAND field and the System, Test ID,
and Module fields are left blank, the System Selection screen shown in Figure 5-5 on
page 5-7 will be displayed.
Type
Specifies the type of record to be processed. Select C for Code Coverage records or F
for System Flow records. This field does not accept wildcard characters.
System
Specifies the system to be accessed. If L is entered in the COMMAND field, a system
name is specified in the System field, and the other fields are left blank, the Test ID
Selection screen shown in Figure 5-6 on page 5-9 will be displayed. The System field
is restricted to 15 characters or less in length and can be wildcarded.
Test ID
Specifies the test ID to be accessed. This field can be wildcarded. If wildcarded, all
entries that match the criteria will be displayed on the Test ID Selection screen
shown in Figure 5-6 on page 5-9.
User ID
Specifies the name of a valid TSO or IMS user. The field is limited to 8 characters or
less in length and can be wildcarded.
5-6 Xpediter/Code Coverage Mainframe User/Reference Guide
Module
Specifies the module to be accessed. If L is entered in the COMMAND field and this
field specified, the Program Selection screen shown in Figure 5-7 on page 5-10 will be
displayed. The Module field is restricted to 8 characters or less in length and can be
wildcarded.
Compile Date
Specifies a compile date to narrow the accessing of the specified program to those
with a matching compile date.
Compile Time
Specifies a compile time to further narrow the accessing of the specified program to
those with a matching compile time.
LT Less than. Choose records updated before, but not on, the date specified.
LE Less than or equal to. Choose records updated on or before the date specified.
GT Greater than. Choose records updated after, but not on, the date specified.
GE Greater than or equal to. Choose records updated on or after the date specified.
CICS SYSID
Specifies the ID of the CICS system that executed the System Flow. This field is
limited to 4 characters or less in length and is optional.
Call Type
Specifies the type of call (for System Flow only) made by the object (parent). Select D
for Dynamic, L for Link, X for XCTL, S for Static Link.A blank or asterisk (*) specifies
all choices. This single-character field is optional.
Line Commands
The line commands shown in Figure 5-5 are defined as follows:
Displays the “Test ID Selection Screen” (Figure 5-6 on page 5-9) with a list of the modules in the
S
selected system.
Primary Commands
The primary commands shown in Figure 5-5 are defined as follows:
Selects the step that transfers the user to the Test ID Selection screen and displays a list of all test
S
IDs that are associated with all systems listed on the System Selection screen.
DEL Selects the step that deletes all modules within all systems listed on the System Selection screen.
5-8 Xpediter/Code Coverage Mainframe User/Reference Guide
Selects the step that removes (excludes) all systems that have been marked viewed from the list
EXC
displayed on the System Selection screen.
Output Fields
Repository
The Results Repository dataset containing the listed systems.
Type
The category (System Flow or Code Coverage) of record to be processed.
Test ID
The names of one or more valid test IDs.
User ID
The names of one or more valid TSO, IMS, or CICS users.
Module
The module(s) within the listed systems that were specified on the List/Delete Utility
screen (Figure 5-3 on page 5-4).
Program
The name of the program to be accessed. This field is restricted to 8 characters or less
in length.
Compile Date
The compile date of the programs within the listed systems that were specified on
the List/Delete Utility screen.
Compile Time
The compile time of the programs within the listed systems that were specified on
the List/Delete Utility screen.
Debug
Indicates whether data gathered while using debugging commands is included.
System
The system or systems within the listed Results Repository dataset. The output is
limited to ’YES’, ’NO’, or ’Both Yes and No’.
Input Fields
Cmd
Specifies one of three available line commands next to the system you want to affect.
See “Line Commands” on page 5-7 for details of each command that can be entered
in this field.
Pressing Enter will display the Test ID Selection screen. Access to the Test ID Selection
screen is granted because you have chosen not to select a system for deletion while using
the System Selection screen.
Line Commands
The line commands shown in Figure 5-6 are defined as follows:
Deletes the members associated with a particular test ID contained within the system. If only one test
D
ID exists within the system, the system is also deleted.
Displays either the Program Selection screen (Figure 5-7 on page 5-10) if the type is Code Coverage
S
or the Object Selection screen (Figure 5-8 on page 5-11) if the type is System Flow.
Primary Commands
The primary commands shown in Figure 5-6 are defined as follows:
Displays either the Program Selection screen (Figure 5-7 on page 5-10) if the type is Code Coverage
S
or the Object Selection screen (Figure 5-8 on page 5-11) if the type is System Flow.
DEL Selects the step that deletes all modules within all systems listed on the Test ID Selection screen.
Selects the step that removes (excludes) all test IDs that have been marked viewed from the list
EXC
displayed on the System Selection screen.
Input Fields
Cmd
Specifies one of three available line commands next to the system you want to affect.
See “Line Commands” for details of each command that can be entered in this field.
5-10 Xpediter/Code Coverage Mainframe User/Reference Guide
Line Commands
The line commands shown in Figure 5-7 are defined as follows:
Primary Commands
The primary command shown in Figure 5-7 are defined as follows:
DEL Selects the step that deletes all modules within all systems listed on the Program Selection screen.
Output Fields
Repository
The Results Repository dataset containing the listed modules.
System
The selected system within the listed Results Repository dataset. The system name
displayed in this field is limited to 15 characters or less in length.
Test ID
The name of one or more valid test IDs. The test ID displayed in this field is limited
to 15 characters or less in length.
Using Results Repository Utilities 5-11
User ID
The name of one or more valid TSO, IMS, or CICS users.
Module
The module or modules within the selected system.
Program
The program(s) within the listed modules.
Debug
Indicates whether data gathered while using debugging commands is included. The
optional entries displayed in this field are Y (Yes) or N (No).
Comp Date
The compile date of the program.
Comp Time
The compile time of the program.
Input Field
Cmd
Specifies one of two available line commands next to the program you want to affect.
See “Line Commands” on page 5-10 for details of each command that can be entered
in this field.
Line Commands
The line commands shown in Figure 5-8 on page 5-11 are defined as follows:
X Removes the individual System Flow record from the displayed list.
Primary Commands
DEL
Selects the step that deletes all System Flow records listed on the Object Selection
screen (Figure 5-8 on page 5-11).
Output Fields
Repository
The Results Repository dataset containing the listed objects.
System
The selected system within the listed Results Repository dataset. The system name
displayed in this field is limited to 15 characters or less.
Test ID
The selected test ID within the listed Results Repository dataset. The test ID name
displayed in this field is limited to 15 characters or less.
User ID
The user ID of the transaction executing when the System Flow record was collected.
Module
The load module name containing the program that was executing when the System
Flow record was collected.
Parent
System Flow records contain two segments, a parent segment and a dependent
segment. The parent segment can be thought of as the calling program (or
transaction) and the dependent segment can be thought of as the called program.
This field will contain the calling program name for program records (PGM) or the
CICS transaction ID for transaction records (TRAN).
Parent-type
This field will contain TRAN for parent transaction segments or PGM for parent
program segments.
CICS-SYSID
The CICS SYSIDNT of the CICS region where the System Flow record was collected.
Depend
System Flow records contain two segments, a parent segment and a dependent
segment. The parent segment can be thought of as the calling program (or
transaction) and the dependent segment can be thought of as the called program.
This field will contain the called program name.
Dep.-type
This field is the dependent segment type and will only contain PGM.
Using Results Repository Utilities 5-13
Input Field
CMD
Specifies one of two available line commands D or X. See “Line Commands” on page
5-12 for the details of each command that can be entered in this field.
Press Enter to delete the member associated with the listed program. Use the END
command to cancel the delete process.
You can also run a batch job to export Results Repository dataset members. Sample JCL is
provided in SLXVSAMP member JCLEXP.
5-14 Xpediter/Code Coverage Mainframe User/Reference Guide
Press Enter to export the member specified. Enter the END command to cancel the export
process.
Input Fields
The input fields are described below. All fields except the Repository File, Type, Export
File, New System Name, New Test ID, and New User ID fields are subject to wildcard rules.
The excepted fields cannot accept wildcard characters.
Repository File
Specifies the repository dataset from which to export. The dataset previously
specified in the first position on the Repository screen (see Figure 2-3 on page 2-3) is
displayed as the default, but can be overtyped with any desired dataset name. This
field cannot accept wildcard characters.
Type
Specifies the type of record to be exported. Select C for Code Coverage records or F
for System Flow records. This field cannot accept wildcard characters.
System
Specifies the system to be accessed. This field is restricted to 15 characters or less in
length.
Test ID
Specifies a valid test ID. This field is restricted to 15 characters or less in length.
User ID
Specifies the name of a valid TSO, IMS, or CICS user. The field is limited to 8
characters or less in length.
Module
Specifies the module to be accessed. The Module field is restricted to 8 characters or
less in length.
Program
The name of the program to be accessed. This field is restricted to 8 characters or less
in length.
Using Results Repository Utilities 5-15
Compile Date
Specifies a compile date to narrow the accessing of the specified program to those
with a matching compile date.
Compile Time
Specifies a compile time to further narrow the accessing of the specified program to
those with a matching compile time.
Debug
Optionally specifies Y (Yes) to include repository members that contain data
captured while using debugging commands. The default is N (No). This field does not
apply to System Flow.
Export file
If exporting to an existing sequential dataset, specifies the dataset name. This field
cannot accept wildcard characters.
New System name
Optionally specifies a system name to replace the various system names of all the
members selected for export. This field cannot accept wildcard characters.
New Test ID
Optionally specifies the new test ID in the named system of the records to be
exported. This field cannot accept wildcard characters.
New User ID
Optionally specifies the new User ID contained in the named system to be exported.
This field cannot accept wildcard characters.
You can also run a batch job to import Results Repository dataset members. Sample JCL is
provided in SLXVSAMP member JCLIMP.
Press Enter to import the member specified. Enter the END command to cancel the
import process.
Input Fields
Repository file
Specify the repository dataset to import into. The dataset previously specified in the
first position on the Repository screen (refer to Figure 2-3 on page 2-3) is displayed as
5-16 Xpediter/Code Coverage Mainframe User/Reference Guide
the default, but can be overtyped with any desired dataset name. Specify the target
repository for import.
Import file
Specify the sequential dataset to import into the designated repository.
You can also run a batch job to merge members from one Results Repository dataset into
another. Sample JCL is provided in SLXVSAMP member JCLMERGE.
Note: Unless otherwise specified, all fields on this screen accept wildcards.
Press Enter to import the member(s) specified. Use the END command to cancel the
merge process.
Input Fields
From Area
These fields allow you to specify the repository member(s) to be merged.
Repository file
Specifies the repository dataset from which to merge members. Any previous value
entered is displayed as the default, but can be overtyped with any desired dataset
name. This field cannot accept wildcard characters.
Type
Specifies the type of record to be merged. Select C for Code Coverage records or F for
System Flow records. This field cannot accept wildcard characters.
Using Results Repository Utilities 5-17
System
Specifies the system to be accessed. This field is restricted to 15 characters or less and
cannot be left blank. If left blank, the message ENTRY REQUIRED is displayed.
Test ID
Specifies a valid test ID. This field is required and restricted to 15 characters or less in
length.
User ID
Specifies the name of a valid TSO, IMS, or CICS user. The field is limited to 8
characters or less in length. For unattended batch processing, this field will contain
XPTSO.
Module
Specifies the module to be accessed. The Module field is restricted to 8 characters or
less in length.
Program
The name of the program to be accessed. This field is restricted to 8 characters or less
in length.
Compile Date
Specifies a compile date to narrow the accessing of the specified program to those
with a matching compile date.
Compile Time
Specifies a compile time to further narrow the accessing of the specified program to
those with a matching compile time.
Debug
Optionally specifies whether or not to include repository members that contain data
captured while using debugging commands. Select Y (Yes) to include repository
members. The default is N (No). This field does not apply to System Flow.
To Area
These fields allow you to specify the repository dataset into which the selected
member(s) will be merged and offers you the option to change various characteristics of
the newly merged members.
Repository file
Specifies the repository into which the selected members are to be merged. The
dataset previously specified in the first position on the Repository screen (refer to
Figure 2-3 on page 2-3) is displayed as the default, but can be overtyped with any
desired dataset name. No wildcards can be used in this field.
New System name
Optionally specifies a system name to replace the various system names of all the
members selected for merging. System names are limited to 15 characters or less in
length. No wildcards can be used in this field.
New Test ID
Optionally specifies the new test ID in the named system of the records to be merged.
No wildcards can be used in this field.
New User ID
Optionally specifies the new User ID contained in the named system to be merged.
No wildcards can be used in this field.
5-18 Xpediter/Code Coverage Mainframe User/Reference Guide
Other Field
This field allows you to automatically delete merged members.
Press Enter to allow the action to be taken. Use the END command to cancel the delete
process.
When the Flag Utility is used for comparison purposes, it creates a new source listing
member whose modified lines are tagged with an identifier. These members can be in
separate source listings or in the same source listing file. An error message will be issued
if a member is missing for any reason.
You can use the Flag Utility screen to provide the necessary input to create the control
cards for the Flag Utility by accessing multiple Flag Utility screens and completing the
required fields. You will be able to select multiple baseline members by completing a
separate Flag Utility screen for each pair of baseline and current programs.
Using Results Repository Utilities 5-19
Input Fields
Base DDIO dataset name
Specifies the ddname of the source listing file that contains the baseline member(s).
If the current source listing file contains both the baseline and current members, this
DD statement is not required.
Base listing number
Specifies the listing number of the baseline member(s). This field can be left blank if
the program name is supplied. If the program name is not supplied then this field is
required.
Current DDIO dataset name
Specifies the ddname of the source listing file that contains the current member(s).
Current listing number
Specifies the listing number of the current source listing member. This member is
compared to the member specified in the Base listing number field. The flagged
results are written to the dataset specified in the Flagged DDIO dataset name field.
This field can be left blank if the program name is supplied. If the program name is
not supplied then this field is required.
Program name
Specifies the program name of the source listing member. Wildcard characters can be
entered. This field is limited to program names whose length is 8 characters or less. If
a program name is specified instead of base listing number and current listing
number, the members most recently written to both source listing files with the
specified program name are compared.
Flagged DDIO dataset name
Specifies the ddname of the source listing file for the tagged member. If the current
source listing file is to be used for the tagged member, you should not specify this
dataset name.
User Identifier
Specifies the user-defined identifier and its location. The first parameter is the ID
(User ID name) and the second parameter is the starting column position (limited
within columns 73-80). Both values must be enclosed in parentheses and separated
5-20 Xpediter/Code Coverage Mainframe User/Reference Guide
This utility takes normal application JCL and converts it to run Xpediter/TSO in
unattended batch mode for capturing Code Coverage statistics. Optionally, Test Data
Optimization (TDO) statistics can be collected. The utility then converts selected
members or, conversely, an entire input library to the new format, storing the converted
JCL in the output PDS or PDSE dataset.
Type the required data in each field as displayed and press Enter to proceed to the next
screen. When all required fields are entered, a batch job is submitted to execute the
Convert JCL Utility. The batch Convert JCL Utility runs under TSO in batch and will
require some adjustments during installation. Sample JCL is provided in SLXVSAMP
member XVJCLCNV.
Using Results Repository Utilities 5-21
Input Fields
"From" Dataset
Specifies the input JCL library. This library may be either a PDS or PDSE dataset. You
may enter the dataset name as unqualified or fully qualified with quotes. This field is
limited to 46 characters or less.
Member
Specifies the name of a specific member, an asterisk (*) for all members, or leave the
Member field blank. If blank, a member selection list is displayed when you press
Enter. This field is limited to 7 characters or less.
"To" Dataset
Specifies the output JCL library (either a PDS or a PDSE) that will contain new JCL for
Code Coverage. You must enter an already existing PDS/PDSE library. You may enter
the dataset name as unqualified or fully qualified with quotes. This field is limited to
46 characters or less.
Remove all comments from converted JCL
Specifies whether all comments must be removed from the converted JCL. Select Y
for Yes or N for No.
Replace like-named members
Specifies whether any duplicate members found in the output library will be
overwritten and replaced. Select Y for Yes or N for No.
Edit JOB statement override parameters
Specifies whether a new screen must be displayed that allows you to replace selected
portions of the job card in the application JCL. Select Y for Yes or N for No.
Enter/Edit Xpediter/TSO datasets
Specifies whether a new screen must be displayed to specify all datasets associated
with Xpediter (including the source listing files). Select Y for Yes or N for No.
Edit JCL before submitting job
Specifies whether you must edit JCL (in ISPF edit mode) that runs the batch Convert
JCL Utility prior to submitting your job. Select Y for Yes or N for No.
5-22 Xpediter/Code Coverage Mainframe User/Reference Guide
Repository Dataset
Specifies the name of the Code Coverage dataset designated for saving results. This
field is limited to 46 characters or less.
System Name
Specifies an arbitrary name used to differentiate results by application. This field is
limited to 15 characters or less.
Test ID
Specifies an additional name to subdivide results under system name. This field is
limited to 15 characters or less.
TDO Dataset
Optionally specifies the name of an existing physical-sequential, fixed-blocked, 80-
byte record dataset. If specified, TDO information will be collected along with Code
Coverage statistics. If not specified, only Code Coverage statistics will be collected.
(See Chapter 9, “Test Data Optimization” for more information.)
Held MSGCLASS
A message class that is defined at installation as a held class. It is used to hold the
output of a TYPRUN=SCAN job submission wherein the output can then be extracted
as part of the conversion process.
The Convert JCL Utility Job Card Override parameter screen is accessed from the Convert
JCL Utility screen (refer to Figure 5-15 on page 5-21). This screen is necessary because JCL
conversion is based on the premise that original JCL output will be submitted with
modified JOB statement parameters to achieve a pre-defined set of results.
Figure 5-16. Convert JCL Utility Job Card Override Parameter Screen
Input Fields
Job name
Specifies a job name that will replace all other job names. This field is limited to 8
characters or less.
Job Account Nbr.
Specifies a job account number that you will use to replace the first field of the job
account. This field is limited to 46 characters or less.
Job Account info
Specifies a job account name that you will use to replace the second field of the job
account. This field is limited to 46 characters or less.
Programmer Name
Specifies a programmer name that you will use to replace the programmer name field
in the job card. This field is limited to 46 characters or less.
Priority
Specifies the JES priority for your job. Enter a number from 1 and 9. This field is
limited to one character.
Global Job Class
Specifies the job class that you want used for all jobs. When you enter a value in this
field, all individual replacement job classes are ignored.
Specify JOB CLASS parameter replacements below:
Specifies job classes on an individual basis with a new value (not previously
specified). This new value will be ignored if a global job class is used.
Input Fields
Test Script
Specifies the name of the script dataset. This can also be a program dataset with
member name in parentheses. This field is limited to 56 characters. Specifying this
field causes a DD statement for JCLXINCL to be included in the generated JCL.
DDIO Datasets
Specifies the name of the source datasets. Each one of these fields limited to 46
characters. Specifying this field causes a DD statement for JCLDDIO to be included in
the generated JCL.
Include program DSN
Specifies the name of the dataset that contains a list of programs to be included in
the JCL convert. This can also be a program dataset with member name in
parentheses. This field is limited to 56 characters. Trailing asterisks (*) may only be
used as wildcards for included programs at the end of this field, not in the middle.
An inclusion program entry takes precedence over exclusion program entries.
Specifying this field causes a DD statement for JCLINCL to be included in the
generated JCL.
Exclude program DSN
Specifies the name of the dataset that contains the list of programs to be excluded
from JCL convert. This can also be a program dataset with member name in
parentheses. This field is limited to 56 characters. Trailing asterisks (*) may only be
used as wildcards for excluded programs at the end of this field, not in the middle.
An inclusion program entry takes precedence over exclusion program entries.
Specifying this field causes a DD statement for JCLXEXCL to be included in the
generated JCL.
Use of the CICS Program Inventory Maintenance function requires that Program
Inventory datasets, application load libraries, and CICS source listing datasets were
specified in the Code Coverage “Defaults” (Code Coverage Option 0) CICS CODE
COVERAGE section.
Using Results Repository Utilities 5-25
The Program Inventory Maintenance screen also scrolls right, allowing users to view the
source listing file and member associated with each chosen CSECT.
Note: Excluded from the actions allowed from a batch job is the GENERATE command.
Equivalent functionality can be created using wildcard entries for COLLECT
statements.
Line Commands
The line commands displayed in Figure 5-18 are defined as follows:
CO Collect. Toggles the collection status on and off. The status message displayed is “COLL PEND”.
Copy. Marks records selected for copy to another program inventory file from the current one. The
C
status message displayed is “COPY PEND”.
Delete. Removes an entry From the inventory file and from the displayed table. The status message
D
displayed is “DEL PEND”.
Export. Marks the records selected for export to the export file from the current inventory file. The
EX
status message displayed is “EXPRT PEND”.
Primary Commands
POPulate
Adds members to the current CICS Program Inventory file. When issued, this
command displays the “Program Inventory Populate Popup Window” described on
page 5-31.
COPY
Copies records from one Program Inventory file to another. When issued, this
command displays the “Program Inventory File Copy Popup Window” described on
page 5-28.
EXPort
Extracts records from a Program Inventory file into a sequential dataset. When
issued, this command displays the “Program Inventory File Export Popup Window”
described on page 5-29.
IMPort
Moves records from a previously exported file to the current Program Inventory file.
When issued, this command displays the “Program Inventory File Import Popup
Window” described on page 5-30.
LEFT
Shifts the detail lines of the CICS Program Inventory Maintenance screen to the left
because the data on the screen exceeds 80 columns. The module and CSECT columns
are stationary and the data to the right of these columns shifts left.
LOCATE
The LOCATE command is used to position CICS Program Inventory Maintenance
display to the requested module. The format is LOCATE module name, where the
module name may be a complete name or a partial name. The LOCATE command may
be abbreviated as L. If the module name is omitted, the display is positioned at the
top of data. If the module name is an exact match of a module in the display, then
that module is positioned at the top of the display. If the module name contains a
partial module name, such as “LOCATE CW” (or if the module name cannot be
located in the display) then the display is positioned at the module preceding the
first module beginning with CW.
END
Processes the pending lines and indicates if updates were successfully processed, then
returns to the previous screen. All pending line commands are processed before
exiting the current screen.
UPDate
Updates the CICS Program Inventory maintenance file for pending deletes and
collection status changes. The UPDATE command may be abbreviated as UPD. If the
“Edit JCL” parameter is set to No, then the JCL is submitted automatically.
CANcel
Discards all pending lines and exits without processing.
Refresh
Reloads the inventory file directory displayed on the screen. The Refresh command
can be abbreviated R. Use this command any time the contents of the CICS Program
Inventory file changes (for example, after submitting a job to delete records or
change the collection status).
Using Results Repository Utilities 5-27
RIGHT
Shifts the detail lines of the CICS Program Inventory Maintenance screen to the right
because the data on the screen exceeds 80 columns. The module and CSECT columns
are stationary and the data to the right of these columns shifts right.
Sort
Allows sorting of the CICS Program Inventory Maintenance display using the
following syntax:
where (A/D) represents either Ascending or Descending sorting order. The default is
Ascending. The following parameters can be used for the <column name>:
If no parameter is given with the sort command, sorting defaults to the load module
name in ascending order. The Sort command can be abbreviated S.
Output Fields
Module
The CICS load module to be code covered.
CSECT
The control section (CSECT) within the load module to be covered.
Compile DATE/TIME
The date and time the CSECT was processed using Compuware’s listing processor.
Lang/Opt
The recorded value of the language compiler and whether or not it is optimized by
the compiler. Possible values are:
Verbs
The number of verbs in the program.
Collect
Whether or not Code Coverage collection will be allowed.
Status
Whether or not a line command is pending execution.
Source Listing File
The Compuware source listing file containing the compiled listing for the CSECT.
Member
The member name in the Compuware source listing file for this CSECT.
Input Fields
Cmd
Specifies one of the available line commands next to the module you want to affect.
See “Line Commands” on page 5-25 for details of each command that can be entered
in this field.
Input Fields
Copy to file
The name of the new Program Inventory file to which the selected records should be
copied. Defaults to the Inventory Copy file from the CICS Program Inventory
Datasets screen. Any valid CICS Program Inventory file may be entered here.
Changing this field on this screen does not change the “Inventory Copy” entry on
the CICS Program inventory Datasets screen.
Replace records
Whether or not duplicate members are to be replaced on the “copy to file.” A
member is considered to be a duplicate if the module, CSECT, and compile date and
time are equal. Valid values are YES, NO, and ALL:
YES Only existing members that match date and time will be overwritten.
Using Results Repository Utilities 5-29
Input Fields
Export to file
The name of the file to which the marked records should be exported. Any valid,
sequential export file may be entered here. Sample JCL is supplied in SMXDSAMP
member JCLCDEFE for creating an export dataset. Changing this field on this screen
does not change the “Inventory EXP” entry on the Program Inventory Datasets
5-30 Xpediter/Code Coverage Mainframe User/Reference Guide
screen. This field defaults to the “Inventory EXP” file from the Program Inventory
Datasets file.
Number of pending export records
The number of detail lines the user has entered an EXport line command on prior to
entering the EXPORT primary command. Records with status “EXPRT PEND” plus
any other members indicated in the global export section will be copied to the
“export to file.”
Module Name
The desired module within the source file you wish to export to the new Program
Inventory file. Trailing asterisks (*) may only be used as wildcards at the end of this
field, not in the middle.
CSECT
The CSECT within the desired source module that you are exporting to the new
Program Inventory file. Trailing asterisks (*) may only be used as wildcards at the end
of this field, not in the middle.
Compile Date
The date on which the records to be exported were compiled. The date format is
CCYYMMDD (century, year, month, and day). If no compile date is entered, this field
defaults to an asterisk (*).
Compile Time
The time at which the records to be exported were compiled. The time format is
HHMMSS (hour, minute, and second). If no compile date is entered, this field defaults
to an asterisk (*).
Input Fields
Import from file
The name of the previously exported file name from which the selected records
should be imported. Any valid, sequential export file may be entered here. Changing
this field on this screen does not change the “Inventory IMP” entry on the Program
Inventory Datasets screen. This field defaults to the “Inventory IMP” file from the
Program Inventory Datasets file.
Using Results Repository Utilities 5-31
Replace records
Whether or not duplicate members are to be replaced on the target import file. A
member is considered to be a duplicate if the module, CSECT, and compile date and
time are equal. Valid values are YES and NO. The default is NO.
Module Name
The desired module within the source file you are importing to the new Program
Inventory file. Trailing asterisks (*) may only be used as wildcards at the end of this
field, not in the middle.
CSECT
The CSECT within the desired source module that you are importing to the new
Program Inventory file. Trailing asterisks (*) may only be used as wildcards at the end
of this field, not in the middle.
Compile Date
The date on which the records to be imported were compiled. The date format is
CCYYMMDD (century, year, month, and day). If no compile date is entered, this field
defaults to an asterisk (*).
Compile Time
The time at which the records to be imported were compiled. The time format is
HHMMSS (hour, minute, and second). If no compile date is entered, this field defaults
to an asterisk (*).
Input Fields
Module
The name of the load module that contains the CSECT that will be code covered. If
the Member field is used, then this field cannot contain wildcards.
CSECT
The name of the CSECT that will be code covered. If the Member field is used, then
this field cannot contain wildcards.
Collect ON/OFF
The collection status for one or more programs once you have designated which
programs you want Code Coverage to monitor. Valid values are ON and OFF. The
5-32 Xpediter/Code Coverage Mainframe User/Reference Guide
default is ON. If collection is set to OFF, Code Coverage data will not be collected for
the specified CSECT.
Replace YES/NO/ALL
Whether or not existing duplicate program entries in the target file should be
overwritten by values in the CICS Program Inventory file. A member is considered to
be a duplicate if the module, CSECT, and compile date and time are equal. Valid
values are YES, NO, and ALL. The default is NO.
Member
The member name of the source listing on the Compuware source listing file. This is
usually the same name as the CSECT name. This field cannot be wildcarded. If this
field is used, the module name and CSECT name must be provided without
wildcards.
Provide detailed messages
Specifies the detail of the messages created by the Populate utility. Valid values are
YES and NO. The default is NO. If this option is set to NO, a message will be
produced for each member indicated on this screen. If the option is set to YES, a
message will be created for each member read from the CICS application load
libraries specified. This option is only available in the batch mode because messages
produced by the populate utility are not shown in foreground mode unless an error
occurs.
6-1
Chapter 6.
Using Code Coverage with Optimized Programs Chap 6
This chapter discusses certain considerations that apply to the use of Xpediter/Code
Coverage with programs that have been compiled using an optimizing compiler.
Overview
When programmers are building applications, they tend to envision the program logic in
terms of the high-level language in which they plan to do the coding. The completed
source code is translated by a compiler into machine instructions, which are then
normally stored in a library as an executable load module. During execution of the
module, it can be difficult to tell whether the program was written in COBOL, Assembler,
PL/I, or some other language. One of the primary functions of Code Coverage is to map
those compiler-generated machine instructions back to the high-level language of the
source code in order to identify which parts of the application have been executed during
testing.
When Code Coverage collects data during program testing, it uses information obtained
from the compiler to relate the machine instructions back to their corresponding source
lines. If a non-optimizing compiler was used, there is typically a one-to-one relationship
between machine instructions and source lines. The output from an optimizing compiler,
however, may lack that one-to-one correspondence between source and machine code.
For this reason, when Code Coverage data is collected for a program that has been
compiled with an optimizing compiler, it can sometimes seem as though the results don’t
make sense. The following sections explain why this happens and the ways in which
Code Coverage attempts to clarify those results.
1. Not generating machine code for a source line if it can never be reached or its
purpose has already been accomplished.
In this example,
the compiler might decide that because line 200 will always evaluate to false, there is
no need to generate machine code for lines 200 and 300. In addition, it might decide
not to generate code for line 400, since the operation requested there was already
accomplished in line 100.
2. Merging operations from multiple source lines into a single machine instruction.
6-2 Xpediter/Code Coverage Mainframe User/Reference Guide
100 01 OUTPUT-REC.
110 02 TYPE-CODE PIC XX.
120 02 CUST-NUM PIC X(5).
130 02 STATE PIC X(2).
.
.
.
500 MOVE ’AA’ TO TYPE-CODE.
600 MOVE ’10331’ TO CUST-NUM.
700 MOVE ’IA’ TO STATE.
Instead of generating three machine instructions, the compiler could generate one
machine instruction to accomplish the assignments requested in lines 500 through
700.
3. Relocating all or part of the logic required to accomplish a source operation.
In the following example,
it would be redundant to execute line 300 on each iteration of the perform loop, so
the compiler might relocate the machine code for that line prior to the machine code
for line 100.
When any of these optimization techniques are used, however, the one-to-one
correspondence between source instructions and machine code sequences is likely to
break down. The load module produced by an optimizing compiler may contain no logic
for some source instructions and multiple, identical instances of machine code for
others. In fact, the logical flow of the load module may bear little resemblance to that of
the original high-level language program.
1. The optimization technique used by the compiler may appear to vary from line
to line or section to section.
Looking at the same example from above,
it is practically impossible to predict what the compiled machine instructions will be.
Theoretically, line 100 is the only instruction that would be kept. But even though
the compiler doesn’t need to generate code for lines 200 through 400, it may:
– keep the IF logic for line 200 but eliminate line 300.
– suppress the generation of machine code for line 400.
Using Code Coverage with Optimized Programs 6-3
– not perform any optimization and instead generate distinctive code for each of
the four source lines.
2. The compiler produces almost no specific information on what was optimized
and how.
For example, when an optimizing compiler suppresses the generation of machine
code for a particular line of source code, it will do one of two things:
– Eliminate all references to the source line from its summary reports.
– Indicate that the underlying logic for the source line — which was never actually
generated — occurs at an offset shared with another source line.
It would seem reasonable to assume that when a source line is completely eliminated
from a compiler report, no code is generated for that line. But when two lines of
source code map to the same offset, it does not necessarily imply that the logic for
one of them was eliminated. In fact, those lines may be combined into a single
machine instruction that represents the logic of both source lines.
This inconsistency and lack of compiler information make it hard to illustrate the actual
logic flow or summarize execution coverage using the source program as a template.
In fact, the number of executable verbs derived from a source program can vary based on
the compiler used and the compile options chosen. If a non-optimizing compiler is used,
the traditional one-to-one correspondence between source verbs and machine code
sequences makes it easy to determine the number of verbs and branches by simply
counting them in the source code. With optimized code, however, a source line might
not have any underlying code and therefore wouldn’t be considered a verb by Code
Coverage. Conversely, the underlying code generated for a single line of source code
might be duplicated and exist at two distinct offsets. In that case, one source line would
be counted as two executable verbs, each with the potential to be executed or not.
Branch coverage statistics for optimized programs can also be confusing. Although a
conditional source line may have underlying machine code — implying that two
potential paths are included in the branch coverage tally — the compiler may have
generated machine code in such a way that only one path could ever be taken, no matter
what data passes through the program. In such cases, it is logically impossible to achieve
100% coverage.
With this in mind, you can see how a Code Coverage report might vary depending on the
compiler and compile options used. With a non-optimizing compiler, we might see
machine code generation similar to that shown in Table 6-1:
For this portion of the program, the Code Coverage report would reflect four verbs and
one conditional with its two branches.
For this portion of the program, the Code Coverage report would reflect just one verb
and no branches from conditionals.
How could this happen? With optimization, it may be due to the fact that the machine
instructions generated on behalf of that executed MOVE verb ended up nowhere near the
instructions generated for the surrounding unexecuted verbs.
In the Code Coverage annotated listing for a non-optimized program, every executable
source line is marked E (executed), U (unexecuted), or Bn (branch). To make listings for
optimized programs more readable, two special forms of annotation have been added to
designate lines of source code for which there is no directly related machine code in the
load module: the letter X and an asterisk (*). Even though such source lines are annotated
in the listing, they are excluded from counts and percentages in Code Coverage summary
reports. For detailed descriptions of the Code Coverage annotated listing flags, see Table
3-1 on page 3-8.
Source lines annotated with the letter X have been completely “optimized out” of the
compiler output. As discussed earlier, this may have been done because the compiler
concluded that the operation called for in that source line was redundant, that the line
was unreachable, or that its execution depended on a condition that would never occur.
An asterisk (*) designates a line of source code that has been “optimized out” but shares
an offset with another source line. The compiler doesn’t indicate whether logic to
support the source line’s operation was completely omitted from the load module or just
integrated with the machine code supporting another source line. It does, however,
provide an offset associated with the line.
When multiple verbs or statements share an offset, only the last one is included in the
Code Coverage summary counts and annotated as a standard verb or statement with an E
or U. Code Coverage infers that any other source lines with the same offset must have the
same execution status, so it marks them with the same E or U as the last statement and
adds an asterisk to indicate that they share a collective offset. A verb or statement
Using Code Coverage with Optimized Programs 6-5
annotated E* is associated with a collective offset, and the machine instruction at that
offset was executed. A verb or statement annotated U* also has a shared offset, but the
machine code at that offset was not executed.
Here is another example. If four MOVE verbs assign constants to contiguous fields, an
optimizing compiler might generate just one machine instruction to accomplish the
same thing. Assuming execution reached this instruction sequence, the annotated listing
produced by Code Coverage would look like this:
All four lines share the same offset, and the machine code at that offset was executed.
Conclusion
Optimizing compilers introduce certain idiosyncrasies that can make Code Coverage
results difficult to understand. If you require a more direct representation of your
program’s execution, simply recompile it without optimization. It is generally preferable,
however, to perform testing on the actual load module that will eventually be moved
into production.
Even though an annotated listing may be confusing, it is important to remember that the
summarized counts and percentages reported by Xpediter/Code Coverage are an accurate
reflection of the executed load module structure. In fact, the Code Coverage annotated
listing can provide unique insights into areas of unreachable or unnecessary source code.
6-6 Xpediter/Code Coverage Mainframe User/Reference Guide
Part 2.
2 Using Xpediter/Code Coverage with
Xpediter/TSO and Xpediter/IMS
Xpediter/Code Coverage Mainframe User/Reference Guide
7-1
Chapter 7.
Using Code Coverage with Xpediter/TSO Chap 7
This chapter describes how to use Xpediter/Code Coverage with Xpediter/TSO, including
basic setup and specific Code Coverage related options. This chapter also provides a
detailed explanation about how Code Coverage data is collected.
Note: All the procedures in this and subsequent chapters assume that Code Coverage
has been properly installed and configured in accordance with the Compuware
Installer Mainframe Products SMP/E Installation Guide and the Xpediter/Code Coverage
Installation Guide.
Installation Requirements
Before Code Coverage can be used under Xpediter, the following steps must be performed
by the Xpediter/TSO installer:
2. The CCNODE() parameter in the XPLIBDEF must be set to the Code Coverage high-
level qualifier.
If you prefer, you can concatenate the Code Coverage ISPF datasets to the
corresponding ISPLLIB, ISPPLIB, ISPMLIB, ISPSLIB, and SYSPROC DD statements in
the TSO LOGON PROC.
7-2 Xpediter/Code Coverage Mainframe User/Reference Guide
Note: The system name cannot contain an asterisk (*) as this is used as a wildcard.
– Use the Xpediter/TSO DDIO File Facility and refer to any of the Xpediter/TSO and
Xpediter/IMS User Guides for information about allocating source listing datasets.
2. After you have created your source listing dataset, create source listing members for
all application programs by compiling with CSS.
There are two ways to compile your application programs:
– Use the Xpediter/TSO Program Preparation Facility (as described in all
Xpediter/TSO and Xpediter/IMS User Guides).
– Run a CSS Batch Compile. Refer to the Compuware Shared Services (CSS) User/Reference
Guide MVS Version for information on using the CSS Language Processor (LP).
Note that Code Coverage Test? ===> appears on this interactive test screen. Similarly,
when you have converted the JCL, option 3 (Debug programs interactively under batch)
will produce a screen comparable to the screen displayed in Figure 7-4.
7-4 Xpediter/Code Coverage Mainframe User/Reference Guide
Note that new optional line commands have been added to the Xpediter/TSO Select Job
Step screen. These changes are detailed as follows:
Note: See Chapter 9, “Test Data Optimization” for more details on TDO.
The Line Commands and Primary Commands of this screen are defined as follows:
Line Commands
I - Interactive testing
Selects the step to run in interactive mode.
U - Unattended testing
Selects the step to run in unattended mode.
IC - Interactive Code Coverage
Selects the step to run in interactive mode (with Code Coverage active).
IT - Interactive Code Coverage with TDO
Selects the step to run in interactive mode (with Code Coverage and TDO active).
UC - Unattended Code Coverage
Selects the step to run in unattended mode (with Code Coverage active).
UT - Unattended Code Coverage with TDO
Selects the step to run in unattended mode (with Code Coverage and TDO active).
Note: If you are licensed to use Compuware’s Code Coverage product, options IC,
IT, UC, and UT are displayed on the Xpediter/TSO Select Job Step screen. It is
important that you become aware of some optional primary commands
which are not visible on the Select Job Step screen. Information regarding
these optional commands is provided in “Primary Commands” on page 7-5.
Using Code Coverage with Xpediter/TSO 7-5
Primary Commands
Edit
Accesses the ISPF edit facility. The JCL is automatically converted and displayed on
the ISPF edit screen. You can view and confirm the JCL conversion and make
additional modifications to the converted JCL. You can submit the JCL from the edit
screen using the RUN or SUBMIT command. Changes made to converted JCL will not
be saved when you use CANCEL or press PF3 (END) from the edit screen. Refer to
“Editing the JCL” on page 7-10 for more information.
END
Exits without converting the JCL, saving any modifications, or submitting the job,
and returns you to the Process JCL screen.
RUN
Converts the steps selected by the I, U, IC, and UC line commands to Xpediter/TSO
steps and submits the JCL. The terminal cannot be used while the job is running. If
the job is a long-running job, the Connect Status screen is displayed showing the job
status. When the job processes successfully, you are automatically connected to the
job steps selected to run in foreground mode and the Source screen is displayed.
If the JCL is already converted, the RUN command (with a DSNAME) can be entered
on any screen except an Xpediter test session screen. Refer to the Xpediter/TSO and
Xpediter/IMS Reference Manual for more information about the RUN command.
SEtup
Displays the Setup Menu from which you can select to view and change the job card
and library information, such as the source listing file (XPSL000n) and the SCRIPT
file (XINCLUDE).
SUBmit
Converts the steps selected by the I, U, IC and UC commands to Xpediter/TSO steps
and submits the job. While the job is running, you can continue using your terminal.
A job submitted with the SUBMIT command is not automatically connected. To
connect to a job submitted with the SUBMIT command, you must use the CONNECT
or STATUS command. Refer to “Connecting to a Job” on page 7-9.
STatus
Displays the status of a job. You can connect to the job directly from the Status
screen.
ICAll (Optional)
When entered as a Primary Command on the Job Step Selection screen, ICAll will
place the letters IC on all of the individual step selection lines. If you are testing with
Batch Interactive Code Coverage (Line Command IC), and are processing a JCL
stream with many steps, you will then be able to blank out all of the steps for which
you do not want Code Coverage.
UCAll (Optional)
When entered as a Primary Command on the Job Step Selection screen, UCAll will
place the letters UC on all of the individual step selection lines. If you are testing
with Batch Unattended Code Coverage (Line Command UC), and are processing a
JCL stream with many steps, you will then be able to blank out all of the steps for
which you do not want Code Coverage.
PROGRAM
The name of the program to be tested. The program name does not necessarily match
the EXEC PGM name.
INITSCR
The member name of the script in the INCLUDE library specified on the Setup
screen. The INITSCR field can be typed over to specify a test script member which
can be processed at the beginning of a debugging session.
When using Xpediter/TSO, enter the member name of a test script if you want to
execute a predefined command stream at the beginning of the debugging session.
This member will be executed after the inclusion of the Site-wide script member
@@SITE@@, if defined.
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. XPTSO if I (Interactive)
or IC (Interactive Code Coverage) was specified for the step. XPBATCH if U
(Unattended) or UC (Unattended Code Coverage) was selected for the step. The field
is left blank if the name is the same as the one entered in the PROGRAM field.
For both interactive and batch tests, you can specify the appropriate Code Coverage
system name by first entering the SEtup command and selecting option C (Code
Coverage Setup options) from the SETUP menu. The Code Coverage Setup options screen
is similar to the screen displayed in Figure 7-5.
Using Code Coverage with Xpediter/TSO 7-7
On the Xpediter/Code Coverage Setup Options screen, you must enter the Code Coverage
Repository dataset name, the Code Coverage system name, and the Code Coverage test
ID name pertaining to the Code Coverage test. For more information on Test Data
Optimization (TDO) and its associated fields, refer to Chapter 9, “Test Data
Optimization”.
Input Fields
Repository DSNAME
Specifies the repository dataset name where Xpediter will write the Code Coverage
information. The Repository DSNAME field is limited to 46 characters or less in
length.
System Name
Specifies the Code Coverage system name for this test. This name can be any user-
specified name. This field is limited to 15 characters or less in length. They can be
any character except an asterisk (*), including embedded blanks, and the field is
automatically left-justified. The Code Coverage system name allows clustering of
collected data by whatever criteria you choose. It could be by application (such as
“PAYROLL” or “INVENTORY”), by department (for example, “PROGRAMMING,”
“MATERIALS,” or “ACCOUNTING”), or by arbitrary grouping (for example, “TEST
SET #01” or “TEST SET #02”).
Test ID
Specifies a Code Coverage Test Identification name to be added to the Code Coverage
test. This information is useful when reviewing test reports from Code Coverage. This
field is limited to 15 characters or less in length and cannot contain an asterisk (*).
'userID.XPTDO.mmmdd.Thhmmss'
7-8 Xpediter/Code Coverage Mainframe User/Reference Guide
where mmm is a three-character abbreviation for the current month, dd is the current
date in the month, and hhmmss is the current time of day, in hours, minutes, and
seconds.
Data Class, Space Units, Primary, Secondary, Storage Class, Unit, Volume
Specifies the allocation parameters according to your site’s standards if the dataset
needs to be created.
Disposition After the Test
Specifies either of the following:
A Append the new TDO information to the existing data in the dataset.
D Delete and recreate the current dataset.
? Before the test begins, prompt for an action to be taken against the dataset.
The GEN option will be set to ON during a Code Coverage test to collect data for all
statements. These statements include translator-generated statements (for example, DL/I
or DB2) and all statements suppressed by the compiler (for example, COPY SUPPRESS or
PRINT NOGEN %NOPRINT). Requests to turn Code Coverage GEN OFF during a session
will be ignored. During an interactive test session, the appearance of the source to the
user will be different during a Code Coverage test. All normally suppressed statements
will be displayed.
Verb Coverage
Supported for COBOL, PL/I, and Assembler, Verb Coverage indicates whether or not each
unique verb was executed. Verb coverage is achieved by having Xpediter set special Code
Coverage breakpoints on all statements. When a breakpoint is reached, the data is
collected in a repository and the breakpoint is removed. These special Code Coverage
breakpoints are not presented to you while you are using Code Coverage and require no
interaction. You may still specify your own breakpoints. Those breakpoints will function
independently of the special Code Coverage breakpoints.
Branch Coverage
Branch Coverage, supported for COBOL only, indicates whether the next verb is intended
for execution or some other verb is intended for execution after each qualifying
condition statement.
The qualifying condition statements include IF, ON n, and WHEN. The collection of
branch coverage statistics is optional during a Code Coverage session. Frequency
information is carried into the repository for any COUNT command you issue.
requires that the site-specific default defined to Xpediter/TSO be changed to specify the
following:
CTLBRCOV=Y
For additional information on controlling Branch Coverage for a Code Coverage test with
Xpediter/TSO, refer to the description of JCLRA093 parameter CTLBRCOV in Appendix B
of the Xpediter/TSO and Xpediter/IMS Installation Guide.
Branch Coverage can be set ON or OFF for a single execution by including the SET
BRCOV ON/OFF command in the initial script invoked when the Code Coverage
collection takes place. The SET BRCOV command can also be specified in a site-wide
script.
Collection of Branch Coverage information can cause the Code Coverage collection
process to run longer since more detailed information is being collected. Xpediter/TSO
includes an optional SVC breakpoint processing technology that reduces the overhead
associated with collection of Branch and Frequency data. Refer to the Xpediter/TSO and
Xpediter/IMS Installation Guide for information on how to implement this breakpoint
technology.
Connecting to a Job
Two methods exist for connection to a job: the RUN command and the SUBMIT
command.
When you use the RUN command to submit the job, the steps that are selected for
interactive debugging are automatically displayed at your terminal.
When you use the SUBMIT command to submit the job, there are two ways to connect to
a job: the CONNECT command and the STATUS command.
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. You
can connect to a job with multiple steps or to a single step job. For information on the
CONNECT command syntax, refer to the Xpediter/TSO and Xpediter/IMS Reference Manual.
STATUS command
The STATUS command is used to display the Status screen containing a list of the jobs in
the system. The STATUS command can be entered from any screen. The ATTACH line
command on the Status screen is used to connect to a job and display the source of each
job step for which the I (Interactive), IC (Interactive Code Coverage), or IT (Interactive
Code Coverage with TDO) command was specified. A message is displayed notifying you
that the job step selected for testing is executing.
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 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.
7-10 Xpediter/Code Coverage Mainframe User/Reference Guide
1. Primary editing is available by entering the EDIT primary command on the Process
Execute JCL screen. An ISPF edit session is invoked and the specified JCL is displayed.
If your 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 is invoked and a temporary copy of the JCL is
displayed. JCL statements for the steps selected for testing, using the I (Interactive),
IC (Interactive Code Coverage), IT (Interactive Code Coverage with TDO), U
(Unattended), UC (Unattended Code Coverage), or UT (Unattended Code Coverage
with TDO) line commands, are already converted when the edit screen is displayed.
After editing is complete, you can submit the job from this screen with the RUN or
SUBMIT command.
Note: Entering END (PF3) or CANCEL returns to the Select Job Step screen without
saving the changes. To save the converted JCL, use the ISPF CREATE
command and copy the contents to a dataset. The saved JCL can be
submitted at any time with the RUN or SUBMIT command.
8-1
Chapter 8.
Using Code Coverage with Xpediter/IMS Chap 8
This chapter describes how to use Xpediter/Code Coverage with Xpediter/IMS, including
basic Setup and specific Code Coverage related options. This chapter also provides a
detailed explanation about how Code Coverage data is collected.
Note: All the procedures in this and subsequent chapters assume that Code Coverage
has been properly installed and configured in accordance with the Compuware
Installer Mainframe Products SMP/E Installation Guide and the Xpediter/Code Coverage
Installation Guide.
Installation Requirements
Before Code Coverage can be used under Xpediter, the following steps must be performed
by the Xpediter/IMS installer:
1. The Basic Code Coverage Support features and the IMS Code Coverage Support
product features must be enabled in Xpediter.
If you are uncertain whether these features are enabled, execute the XPLIBDEF CLIST
with a parameter of ‘INSTALL’ (refer to the Xpediter/TSO and Xpediter/IMS Installation
Guide). On the Product Features screen (Figure 8-1), verify that the Code Coverage
Support options are set to Y (Yes).
2. The CCNODE() parameter in the XPLIBDEF must be set to the Code Coverage high-
level qualifier.
If you prefer, you can concatenate the Code Coverage ISPF datasets to the
corresponding ISPLLIB, ISPPLIB, ISPMLIB, ISPSLIB, and SYSPROC DD statements in
the TSO LOGON PROC.
8-2 Xpediter/Code Coverage Mainframe User/Reference Guide
2. After you have created your source listing dataset, create source listing members for
all application programs by compiling with CSS. There are two ways to compile your
application programs:
– Use the Xpediter/TSO Program Preparation Facility (as described in all
Xpediter/TSO and Xpediter/IMS User Guides).
– Run a CSS Batch Compile. Refer to the Compuware Shared Services User/Reference
Guide MVS Version for information on using the CSS Language Processor (LP).
Note that Code Coverage Test? ===> appears on this interactive BTS test screen.
Similarly, the IMS/MPP test screen is comparable to the one displayed in Figure 8-4.
8-4 Xpediter/Code Coverage Mainframe User/Reference Guide
SEtup
Displays the Setup Menu from which you can select screens for specifying load
libraries, DDIO datasets, and so on.
BTsin
Required Command field for the BTS screen. 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.
INter
Displays the Intercepts screen showing you what IDs are logged on to Xpediter/IMS,
what programs are being used, and so on. Located on the MPP screen.
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. Your program may require this list for the debugging session.
PROGRAM
Required if TRANCODE 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, 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.
Using Code Coverage with Xpediter/IMS 8-5
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 MPP Test screen. 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.
TRANCODE
Identifies which transactions are to be debugged by Xpediter/IMS. You can enter the
transaction code in this field or 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 want to execute a predefined command
stream at the beginning of the debugging session. This member will be executed after
the inclusion of the site-wide script member @@SITE@@, if defined.
POSTSCR
Enter the member name of a test script if you want to execute a predefined command
stream at the end of the debugging session.
START
The occurrence of the program invocation on which the intercept is to begin. Up to
four digits can be entered. 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.
DATA
Specify up to 30 bytes of data from the IMS transaction you want to debug.
The DATA field is only active if IMS User ID/Data Value Intercept Support is enabled.
See the Xpediter/TSO and Xpediter/IMS Installation Guide for more details.
Program Type
Required for BTS Test screen. The type of IMS program. The value is generally the
first parameter value passed to IMS in the JCL. The field can have any one of the
following values:
A BMP program is manually scheduled by the system operator and, typically, processes some
BMP
data that was held by IMS in a message queue.
A DBB program is processed in an offline DL/I batch processing region using ACB libraries
DBB
instead of PSB and DBD libraries.
A DL/I program is processed in an offline DL/I batch processing region using PSB and DBD
DLI
libraries.
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.
8-6 Xpediter/Code Coverage Mainframe User/Reference Guide
Note: If Xpediter/Code Coverage is active, this field is also used to record the IMS
user ID in the Code Coverage Repository. If an asterisk is specified, the TSO
user ID will be recorded.
Retain Breakpoints?
If you want Xpediter to retain breakpoints from one iteration of an IMS or BTS
program or transaction to the next, enter YES in this field. Before breakpoints, after
breakpoints, counts, skips, traces, Code Coverage breakpoints, and when conditions
from the previous test iteration will be reapplied. Count values will accumulate
across iterations, but a count with a maximum execution limit will be converted to a
standard counter. Keeps and inserted lines are not retained.
The default is NO and will result in each iteration starting with only the standard
before and after breakpoints.
NBA
Required for the MPP Test screen. The Normal Buffer Allocation (NBA), up to two
digits. The default value is 0.
OBA
Required for the MPP Test screen. The Overflow Buffer Allocation (OBA), up to two
digits. The default value is 0.
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.
Post Script, and the Abend Script. Interactive Xpediter commands are not permitted
(from the terminal).
Is This a DB2 Test?
Whether or not this is a DB2 test. Enter YES if the program executes EXEC SQL
statements. The default is NO.
System
The DB2 subsystem name. The subsystem name depends on the release level of DB2
allocated to the DSNLOAD library specified in the Setup option. 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.
To specify the appropriate Code Coverage system name, you must enter the SEtup
command and select option C (Code Coverage Setup options) from the SETUP menu. The
Code Coverage Setup options screen is similar to the screen displayed in Figure 8-5.
On the Xpediter/Code Coverage Setup Options panel, you must enter the Code Coverage
Repository dataset name, the Code Coverage system name, and the Code Coverage test
ID name pertaining to the Code Coverage test. Test Data Optimization (TDO) and its
associated fields are covered in Chapter 9, “Test Data Optimization”.
Input Fields
Repository DSNAME
Specifies the repository dataset name where Xpediter will write the Code Coverage
information. The Repository DSNAME field is limited to 46 characters or less in
length.
8-8 Xpediter/Code Coverage Mainframe User/Reference Guide
System Name
Specifies the Code Coverage system name for this test. This name can be any user-
specified name. This field is limited to 15 characters or less in length. They can be
any character except an asterisk (*), including embedded blanks, and the field is
automatically left-justified. The Code Coverage system name allows clustering of
collected data by whatever criteria you choose. It could be by application (such as
“PAYROLL” or “INVENTORY”), by department (for example, “PROGRAMMING,”
“MATERIALS,” or “ACCOUNTING”), or by arbitrary grouping (for example, “TEST
SET #01” or “TEST SET #02”).
Test ID
Specifies a Code Coverage Test Identification name to be added to the Code Coverage
test. This information is useful when reviewing test reports from Code Coverage. This
field is limited to 15 characters or less in length and cannot contain an asterisk (*).
'userID.XPTDO.mmmdd.Thhmmss'
where mmm is a three-character abbreviation for the current month, dd is the current
date in the month, and hhmmss is the current time of day, in hours, minutes, and
seconds.
Data Class, Space Units, Primary, Secondary, Storage Class, Unit, Volume
Specifies the allocation parameters according to your site’s standards if the dataset
needs to be created.
Disposition After the Test
Specifies either of the following:
A Append the new TDO information to the existing data in the dataset.
D Delete and recreate the current dataset.
? Before the test begins, prompt for an action to be taken against the dataset.
The GEN option will be set to ON during a Code Coverage test to collect data for all
statements. These statements include translator-generated statements (for example, DL/I
or DB2) and all statements suppressed by the compiler (for example, COPY SUPPRESS or
PRINT NOGEN %NOPRINT). Requests to turn Code Coverage GEN OFF during a session
will be ignored. During an interactive test session, the appearance of the source to the
Using Code Coverage with Xpediter/IMS 8-9
user will be different during a Code Coverage test. All normally suppressed statements
will be displayed.
Verb Coverage
Supported for COBOL, PL/I, and Assembler, Verb Coverage indicates whether or not each
unique verb was executed. Verb coverage is achieved by having Xpediter set special Code
Coverage breakpoints on all statements. When a breakpoint is reached, the data is
collected in a repository and the breakpoint is removed. These special Code Coverage
breakpoints are not presented to you while you are using Code Coverage and require no
interaction. You may still specify your own breakpoints. Those breakpoints will function
independently of the special Code Coverage breakpoints.
Branch Coverage
Branch Coverage, supported for COBOL only, indicates whether the next verb is intended
for execution or some other verb is intended for execution after each qualifying
condition statement.
The qualifying condition statements include IF, ON n, and WHEN. The collection of
branch coverage statistics is optional during a Code Coverage session. Frequency
information is carried into the repository for any COUNT command you issue.
CTLBRCOV=Y
Branch Coverage can be set ON or OFF for a single execution by including the SET
BRCOV ON/OFF command in the initial script invoked when the Code Coverage
collection takes place. The SET BRCOV command can also be specified in a site-wide
script.
Collection of Branch Coverage information can cause the Code Coverage collection
process to run longer since more detailed information is being collected. Xpediter/IMS
Release 6.5 and above include a new breakpoint processing technology that reduces the
overhead associated with collection of Branch and Frequency data. Refer to Steps 5 and
13 of the Xpediter/TSO and Xpediter/IMS Installation Guide for information on how to
implement this new breakpoint technology.
8-10 Xpediter/Code Coverage Mainframe User/Reference Guide
9-1
Chapter 9.
Test Data Optimization Chap 9
Whenever you have changes to program code, you can run one of Compuware’s
mainframe debuggers in conjunction with Code Coverage to make sure a significant
percentage of your program is still executing properly. Some users feed large volumes of
data into an application, hoping to achieve the desired percentage of statements
executed. It’s possible that not all of those input records are really necessary for a
thorough test. If you could identify the ideal subset of records that would most
thoroughly drive the different paths through a program, you could save all the wasted
time and resources consumed by testing with vast quantities of data.
Code Coverage’s Test Data Optimization (TDO) identifies records that are “active” when
statements are first marked executed. For programs in which the paths taken are
determined by data content on a current input record, TDO can help identify an
optimized subset of records that yield an acceptable execution percentage. Testing with
this subset of records can significantly reduce execution time and conserve resources.
The TDO routines monitor native COBOL files (QSAM and VSAM) and IMS files only
within programs compiled with a COBOL II or later version of the COBOL compiler. You
can optionally exclude certain files from monitoring. As the test runs, each time a
statement is first executed, Code Coverage routines determine the current record of each
applicable file. At the end of the test, the record identification data is written to a
physical-sequential fixed-blocked file in the form of 80-byte control cards. The formats of
this information are suitable as input to a File-AID/MVS or File-AID for IMS utility which
can be used to extract the data. These utilities typically use relative record location or key
information to identify the records.
The Repository DSNAME, System Name, and Test ID fields are essentially unchanged. All
fields below them are new and allow you to specify your preferences for TDO file
allocation.
9-2 Xpediter/Code Coverage Mainframe User/Reference Guide
'userID.XPTDO.mmmdd.Thhmmss'
where mmm is a three-character abbreviation for the current month, dd is the current
date in the month, and hhmmss is the current time of day, in hours, minutes, and
seconds.
Data Class, Space Units, Primary, Secondary, Storage Class, Unit, Volume
Specifies the allocation parameters according to your site’s standards if the dataset
needs to be created.
Disposition After the Test
Specifies either of the following:
A Append the new TDO information to the existing data in the dataset.
D Delete and recreate the current dataset.
? Before the test begins, prompt for an action to be taken against the dataset.
For a TSO Interactive session, such as one originating from the Xpediter/TSO Standard
(2.1) screen, request TDO in the standard Code Coverage Test? field near the bottom of
the screen. If you specify TDO, Code Coverage and TDO information will be collected
during your test. If you specify YES, standard Code Coverage statistics will be gathered,
but no TDO data will be collected.
Batch Connect tests can be started on the Select Job Step screen (Figure 9-3) with two
new options. Use the IT line command to request a Batch Connect Interactive test with
Code Coverage and TDO. Use the UT line command to request a Batch Connect
Unattended test with Code Coverage and TDO.
CTLDDTDX=(file1,file2,file3,file4,file5)
Note: PTF XTD0034 must be applied to Release 7.4 of Xpediter to enable specification of
file exclusions in the ADSCPDEF macro.
The second method of excluding files from TDO replaces the macro file list with a set of
file specifications customized for a single test. Use the following SET command:
to specify from one to eight DDNAMEs/DBDNAMEs from your list of files to exclude.
Additional SET commands can be entered to specify up to 100 files. Any SET command
containing more than eight names will be truncated. The entire list will be ignored if the
SET command would cause the total number of specified files to exceed 100. For any file,
the command must be entered before the file is opened. The commands can be placed in
an initial script.
In both methods of files exclusion, you can terminate a file specification with a forward
slash (/) to match for any DDNAME of DBDNAME with a prefix identical to the
characters preceding the slash. For example, you could use the following command:
to exclude from TDO collection any DDNAME/DBDNAME whose name begins with the
characters INFI, such as INFILE1, INFILE12, INFINITY, etc.
The TDO routines write a comment header at COBOL initialization time with the
following format:
where
This is followed by a series of control cards, grouped by file. Each grouping is separated
from the next by a card with a single asterisk in position one. The COBOL file
specifications precede the IMS file specifications. For sessions producing cards of both
types, the dataset will need to be divided manually, since they will each be input to a
distinct utility.
Note: GSAM file control cards are designed to be extracted by the File-AID/MVS utility,
not by File-AID for IMS.
Test Data Optimization 9-5
where
Each IMS (GSAM) file grouping begins with a comment card with the following format:
where
In these groupings, this comment will be followed by the cards that can be used with the
File-AID/MVS utility to subset the file.
where
dbdtype file type (HSAM, HISAM, SHSAM, SHISAM, HDAM, PHDAM, HIDAM, PHIDAM, PSINDEX)
progname COBOL PROGRAM ID
dbd-name the DBDNAME of the IMS file
In the grouping, this comment will be followed by the cards that can be used with the
File-AID for IMS utility to subset the file.
9-6 Xpediter/Code Coverage Mainframe User/Reference Guide
Part 3.
3 Using Xpediter/Code Coverage with
Xpediter/CICS
Xpediter/Code Coverage Mainframe User/Reference Guide
10-1
Chapter 10.
Using Code Coverage with Xpediter/CICS Chap 10
This chapter explains how to use Xpediter/Code Coverage with Xpediter/CICS and
includes the following sections:
• “Overview”
• “Preliminary Considerations”
• “CICS Code Coverage Transactions”
• Various screen descriptions
• “Line Commands”
• “Primary Commands”.
Note: All the procedures in this and subsequent chapters assume that Code Coverage
has been properly installed and configured in accordance with the Compuware
Installer Mainframe Products SMP/E Installation Guide and the Xpediter/Code Coverage
Installation Guide. The configuration procedure includes the creation of the CICS
Program Inventory dataset.
Overview
Using Code Coverage with Xpediter/CICS is a three-stage process:
• Program preparation
• Online data collection
• Reporting.
Each stage is discussed in greater detail below, and the entire process is illustrated in
Figure 10-1 on page 10-2.
Program Preparation
During the program preparation step, your programs are set up for Code Coverage
collection. In addition to the load module needed to execute any program in CICS, a
Compuware source listing member and a Code Coverage Program Inventory member are
also required.
Running the Compuware language processor creates the Compuware source listing
member. This step is also required to debug a program using source in Xpediter/CICS.
Creating a source listing member is discussed in greater detail in the Xpediter/CICS User's
Guide for the language being compiled.
In addition to the load module and source listing, Code Coverage in CICS requires that
an entry for the program/load module combination be added to the Code Coverage
Program Inventory file. This member is used to provide a correlation between the verbs
in a program and the generated machine instructions in the load module. This
accelerates Code Coverage collection in CICS. Adding a member to the Program
Inventory file is called “population” and can be accomplished in batch or by using the
ISPF Program Inventory Utility.
10-2 Xpediter/Code Coverage Mainframe User/Reference Guide
The Test Definition/Collection Specification screen (Figure 10-3 on page 10-4) is used to
specify which users, transactions, programs, and CSECTs should be collected during the
Code Coverage test. This screen can also optionally be used to validate that all required
elements (Program Inventory member, load module/program, and source listing) are
available within CICS before running the Code Coverage collection. The status of the test
on the Test Definition screen (Figure 10-2) will be shown as Available after definition
and before starting the test.
10-4 Xpediter/Code Coverage Mainframe User/Reference Guide
Reporting
After the Code Coverage data has been written to the repository, it can be reported on.
On the mainframe, reporting is done using the ISPF Code Coverage reporting screen. This
process is described in Chapter 3, “Generating Code Coverage Reports”. On the
workstation, DevEnterprise provides powerful display, analysis, and report generating
functions that are described in the Xpediter/Code Coverage Workstation User/Reference Manual.
Using Code Coverage with Xpediter/CICS 10-5
Preliminary Considerations
Before Code Coverage can be used under Xpediter/CICS, several considerations must be
taken into account:
• A Program Inventory file must be created. This is normally done during Code
Coverage installation.
• The Program Inventory file must be populated with the names of all the programs for
which you want to collect data. You can use COLLECT control statements from
within the Populater to designate specific programs for Code Coverage monitoring,
or use the Program Inventory Utility to select covered programs. For more
information, refer to Chapter 12, “CICS Populater” and Chapter 13, “Program
Inventory Utility”.
• You must ensure the value of the Xpediter/CICS global parameter XDCC is set to YES
(the default).
• You must ensure the value of the Xpediter/CICS Code Coverage global parameters
XVCC and XVSC match the transaction codes which default to XVCC and XVSC.
• You must ensure the load library containing Xpediter/CICS has been added to the
DFHRPL concatenation. This loadlib is provided as XPED.CICS.LOAD.
• You must ensure the load library containing Code Coverage has been added to the
DFHRPL concatenation. The file name is SYS2.XPCOVER.V3R1M0.LOADLIB.
• You must ensure a DD statement for the Code Coverage Program Inventory dataset
XVTPGINV has been added to your site’s startup JCL. Do not define this file with
RDO.
• You must create an Extract dataset (XVTCEXTR) for the intermediary Code Coverage
data.
• Optionally, you can create a JCL Template dataset (XVTCEXTJ) that contains the JCL
to write the intermediary Code Coverage data to the Code Coverage repository.
• Optionally, you can create a Save Specifications dataset (XVTCSPEC) to provide an
archive for Code Coverage test definitions.
To bypass the Xpediter/Code Coverage Primary Menu and directly access the Test
Definition screen:
To bypass the Xpediter/Code Coverage Primary Menu and directly access the
Specification Archive screen:
Interface Conventions
This section discusses the following Xpediter/CICS Code Coverage product conventions:
Figure 10-4 shows the screen areas and fields that are common across Xpediter/CICS
Code Coverage screen. Each area or field is described below.
Userid Field
The CICS userid of the current user.
PF Key Settings
Xpediter/CICS Code Coverage uses PF keys for command shortcuts. For example, to
display HELP information about the DOWN command, type DOWN in the COMMAND
field and press PF1 (HELP).
The values for the PF keys are shown in Table 10-2. Not all PF keys are available on all
screens. Each Code Coverage screen will display the PF keys available at the bottom of
the screen.
• Enter the number or letter of the screen you wish to transfer to (or in the case of X,
exit the product) in the command line and press Enter.
• Tab to the field before the number or letter, type S, and press Enter.
• Enter SEL or SELECT in the command line, place the cursor on the line for the item
you wish to transfer to, and press Enter.
10-8 Xpediter/Code Coverage Mainframe User/Reference Guide
Output Fields
USERID
The userID of the person accessing the screen.
Entry x of y
The current, top entry (x) and the total number of entries (y) available for display.
Available Commands
A list of line commands available for use on this screen. Valid commands for the
current Code Coverage state are highlighted. The actions of the various commands
are described in “Line Commands” on page 10-26.
Next Full Extract
The next time a full extract will occur. At that time, all system name and test
identifier combinations in Collecting status will have their collected data extracted
and optionally written (hardened) to the Code Coverage repository.
Current Time
The current time at which this screen was most recently displayed.
Owner
The userID of the person who created each system name and test identifier. If the
entry was created during product initialization by use of the DBPA input facility,
DBPA will be displayed in this field.
Using Code Coverage with Xpediter/CICS 10-9
Status
The current status of each system name and test identifier. Possible statuses are:
Insufficient inclusion and exclusion rules have been specified to make this system
Incomplete
name and test identifier available for collection.
Sufficient inclusion and exclusion rules have been specified for this system name and
Available test identifier. Collection may be started by using the SC (Start Code Coverage), SF
(Start System Flow), or SB (Start Both) commands on the Test Definition screen.
Collection of data for this system name and test identifier is being held due to an H
Quiescing
(Halt Collection) command being issued.
Collecting Collection of data for this system name and test identifier is currently in progress.
Code Coverage
Displays YES if the system name and test identifier have normal Code Coverage
collection active or NO if no Code Coverage collection is active. This field will only
display if the current status is Collecting.
System Flow
Displays YES if the system name and test identifier have System Flow collection
active or NO if no System Flow collection is active. This field will only display if the
current status is Collecting.
Input Fields
CMD
Allows entry of one of the line commands described in “Line Commands” on page
10-26.
Filters (Only available if Xpediter/CICS release 17.02 or above is installed)
In the separator line beneath the column names is a filter area that can be used to
reduce the number of detail lines displayed. The columns that can be filtered are
System Name, Test Identifier, and Owner. These filters are primed with asterisks.
Entering an asterisk (*) in any position wildcards that position. Entering anything
other than an asterisk means the corresponding position must match that character.
Filters remain in effect only as long as you remain in the Code Coverage screens. If
you exit Xpediter/Code Coverage by clearing the screen or using the =X primary
command, the filters will be reset to asterisks the next time you access the screens.
The product installer can configure Xpediter/Code Coverage to prime the Owner
filter with your userID by setting the global table parameter FILTDEFU=YES. If not, it
will be primed with asterisks. This parameter can also be set using global table
overrides.
The filters are shared by the Test Definition and Specification Archive screens.
System Name
Allows entry of a system name to be used for data collection. A TestID name must
also be specified. A system name may be used for several TestID names. This field is 1-
15 characters in length and may contain blanks but may not contain asterisks (the
wildcard character).
Once a system name and test identifier combination has been specified, the System
Name and Test Identifier fields become protected; you cannot change these fields for
an entry.
10-10 Xpediter/Code Coverage Mainframe User/Reference Guide
Test Identifier
Allows entry of a TestID name to be used for data collection. A system name must
also be specified. This field is 1-15 characters in length and may contain blanks but
may not contain asterisks (the wildcard character).
Once a system name and test identifier combination has been specified, the System
Name and Test Identifier fields become protected; you cannot change these fields for
an entry.
Extract All (Y/N)
Whether or not to cause data for all system name and test identifiers that are in a
collecting status to be extracted and written to the Code Coverage Repository. Enter
Y (Yes) allow extraction. The default value, N (No), bypasses extraction for all
collecting entries.
HELP. Displays help information about this screen. When displaying help for this screen, fields that
PF1 are in high intensity (default color red) may be tabbed to. When the cursor is placed on a high
intensity (red) field, pressing Enter will cause additional help text to be displayed regarding a topic.
PF7 BACKWARD. If displayed, allows you to scroll backward in the currently displayed data.
PF8 FORWARD. If displayed, allows you to scroll forward in the currently displayed data.
Access this screen using the S (Specify Collection) line command on the Test Definition
screen. Access this screen in browse only mode (no updates can be made) using the B
(Browse) line command on the Test Definition screen.
Using Code Coverage with Xpediter/CICS 10-11
Output Fields
System Name
The system name portion of the system name and test identifier entry that is
displayed.
TestID
The test identifier portion of the system name and test identifier entry that is
displayed.
Userid
The userid of the person currently accessing the screen.
Status
The current status of the system name and test identifier entry that is displayed.
Statuses that may be displayed are:
Additional inclusion and exclusion rules need to be specified in order to make this
Incomplete
system name and test identifier available for collection.
This system name and test identifier has sufficient inclusion and exclusion rules
Available specified. Collection may be started by using the SC (Start Code Coverage), SF (Start
System Flow), or SB (Start Both) commands on the Test Definition screen.
Collection of data for this system name and test identifier is being halted due to an H
(Halt Collection) command being issued. Once all transactions being code covered by
Quiescing
this system name and test identifier have ended, the status will be changed to
available. Collection can be resumed using on of the start commands (SC, SF, or SB).
Collecting Collection of data for this system name and test identifier is currently in progress.
Owner
The userid of the person who created this system name and test identifier entry. If
this entry was created during product initialization by use of the DBPA input facility,
DBPA will be displayed.
10-12 Xpediter/Code Coverage Mainframe User/Reference Guide
Available Commands
A list of available line commands which can be used on this screen. Valid commands
will have the command highlighted, for example (D) Delete. The actions of the
various commands are described in “Line Commands” on page 10-26.
Input Fields
The Collection Specification screen is divided into two major area: the USERS area and
the MASKS area. Each major area is then divided into two subsections: the Include rules
and the Exclude rules. The Include rules are combined with the Exclude rules during data
collection to determine whether or not data will be collected. Inclusion and exclusion
rules allow for maximum granularity when attempting to collect data; however,
additional processing time is required to resolve the include and exclude rules at
execution time. See the Note text that appears following the “Test Definition/Collection
Specification Screen” on page 10-10.
Each of the fields in the USERS and MASKS area of the screen may be wildcarded by using
the * character. If a field lacks wildcard termination, an exact match on that field must
occur.
The USERS area of the Collection Specification screen lists the userid masks used to
determine if a specific or wildcarded user will participate in data collection. Thirty-six
entries are available for inclusion rules and eighteen entries are available for exclusion
rules.
The MASKS area of the Collection Specification screen lists Transaction, Program, or
CSECT masks used to determine if a specific or wildcarded combination will participate
in data collection. Ten entries are available for inclusion rules and five entries are
available for exclusion rules.
CMD Allows entry of one of the commands described in “Line Commands” on page 10-26.
Allows entry of an explicit or wildcarded userid. A userid of all asterisks means that all userIDs will
User
participate in the inclusion or exclusion rule.
CMD Allows entry of one of the commands described in “Line Commands” on page 10-26.
Allows entry of an explicit or wildcarded program name. A program name of all asterisks
Program
means that all programs will participate in the inclusion or exclusion rule.
Allows entry of an explicit or wildcarded CSECT name. A CSECT name of all asterisks means
CSECT
that all CSECTs will participate in the inclusion or exclusion rule.
Using Code Coverage with Xpediter/CICS 10-13
HELP. Displays help information about this screen. When displaying help for this screen, fields that
PF1 are in high intensity (default color red) may be tabbed to. When the cursor is placed on a high
intensity (red) field, pressing Enter will cause additional help text to be displayed regarding a topic.
VALIDATE ALL. Begins the process of validating each wildcarded program and CSECT
combination. The Collection Validation screen will be displayed for each combination up to a
PF4
maximum of 10 after pressing PF4. Once validation is complete, display returns to the Collection
Specifications screen.
Mask Examples
Mask entries are sorted based on Tran, Program, and CSECT field values, in that order,
with the most specific entries taking precedence over less specific ones.
Example 1
In the example shown in Figure 10-7 on page 10-11, all users will be included for data
collection, except for users CARTMAN and KENNY. If a transaction is executed by a user
other than CARTMAN or KENNY, then the MASKS section of the rules will be checked. If
users CARTMAN or KENNY have initiated a transaction, then no data collection will take
place for that explicit execution of the transaction.
Also in the example shown in Figure 10-7 on page 10-11, all transactions, programs, or
CSECTs will be included for data collection, except for CSECT PARK, in program SOUTH,
when initiated by transaction SPIN. Data will be collected if any user other than
CARTMAN or KENNY, who have been excluded by the USERS rules, executes any
transaction except for transaction SPIN, which invokes program SOUTH which executes
CSECT PARK in program SOUTH. If a user executes transaction SPIN, and CSECT PARK in
program SOUTH is executed by that transaction, all data except that data for CSECT
PARK will be collected.
Example 2
In Figure 10-8, the include mask would cause data to be collected for all programs
beginning with CW, but the more specific exclude mask would override it and prevent
collection for CSECT CWCDSUBA.
10-14 Xpediter/Code Coverage Mainframe User/Reference Guide
Figure 10-8. Precedence on the Collection Specification Screen Via XVCC Transaction
Note: Although entries may pass validation tests, validation or its lack will not prevent
a mask from being accepted.
Testid
The test identifier displayed on the Test Definition screen.
Owner
The owner ID displayed on the Test Definition screen.
Program/Csect
A program and CSECT combination entered on the Collection Specification screen.
Collection Matches
The number of program and CSECT combinations for which Code Coverage is
possible out of the total number of matching Code Coverage inventory members.
Because the status of a program and CSECT can change between validation and
collection, the number of matches does not guarantee coverage will occur.
HELP. Displays help information about this screen. When displaying help for this screen, fields that
PF1 are in high intensity (default color red) may be tabbed to. When the cursor is placed on a high
intensity (red) field, pressing Enter will cause additional help text to be displayed regarding a topic.
VALIDATE NEXT. Continues the process of validating each wildarded program and CSECT
combination started from the Collection Specification screen. The Collection Validation screen
PF4
shown here will be displayed for each program and CSECT combination up to a maximum of 10.
Once validation is complete, display returns to the Collection Specifications screen.
PF7 BACKWARD. If displayed, allows you to scroll backward in the currently displayed data.
PF8 FORWARD. If displayed, allows you to scroll forward in the currently displayed data.
All program function keys, including the Clear and Program Attention (PA) keys are
disabled except as noted. To leave this screen, you must use the PF3 or the PF4 keys, not
the Clear key. Using the PF4 key will exit the screen if there are no more entries to
validate.
Access this display-only screen using the V (View Collection) line command on the Test
Definition screen. No updates can be made from this screen. The screen consists of two
columns of data. If less than an entire screen of data is displayed, the left three columns
will be filled in first.
Using Code Coverage with Xpediter/CICS 10-17
Output Fields
System Name
The system name portion of the system name and test identifier entry that is
displayed.
TestID
The test identifier portion of the system name and test identifier entry that is
displayed.
Owner
The userid of the person who created the system name and test identifier.
Entry x of y
Displays the top entry (x) of all the entries (y) that are available for display.
Userid
The userid of the person who ran the transaction that caused data to be collected for
this program and CSECT combination.
Program
Name of the program for which data is being collected.
CSECT
Name of the CSECT within the program for which data is being collected.
HELP. Displays help information about this screen. When displaying help for this screen, fields that
PF1 are in high intensity (default color red) may be tabbed to. When the cursor is placed on a high
intensity (red) field, pressing Enter will cause additional help text to be displayed regarding a topic.
PF7 BACKWARD. If displayed, allows you to scroll backward in the currently displayed data.
PF8 FORWARD. If displayed, allows you to scroll forward in the currently displayed data.
Specifications are always saved with the current requesting userID as the owner of the
specification. If the specification already exists in the Specification Dataset, a screen
appears (Figure 10-12) asking if users wish to replace the older specification with the
newer.
from the Test Definition screen, but will be written to the Specification Archive file with
the requester’s userID as the owner in the key. When viewing the keys in the
Specification Archive screen, you can browse, load, or start any test, but you can only
delete your own records. If you are a superuser (able to execute the XVSC transaction)
you can delete any record.
The Specification Archive screen shown in Figure 10-13 allows users to browse the
Specification Dataset and optionally select a specification upon which to act. Access this
screen using option 2 on the Xpediter/Code Coverage Primary Menu.
Once on the Specification Archive screen, use the LOCATE command to position the
screen to a specific key or generic key. The XVTCSPEC file’s key is composed of a system
name, test ID, and owner. To locate a particular test ID, you must also include the system
name as in any generic key. If the value to be located contains any spaces, the entire key
or generic key must be enclosed in quotes.
Output Fields
USERID
The userID of the person accessing the screen.
Entry x of y
The current, top entry (x) and the total number of entries (y) available for display.
Available Commands
A list of line commands available for use on this screen. The actions of the various
commands are described in “Line Commands” on page 10-26.
System Name
Displays the system name of the collection specification previously saved on the
Specification Archive file. The system name, TestID, and Owner form the key of that
record. This system name will be used for data collection if the chosen specification
is loaded or started.
Test Identifier
Displays the TestID name of the collection specification previously saved on the
Specification Archive File. The system name, TestID, and Owner form the key of that
10-20 Xpediter/Code Coverage Mainframe User/Reference Guide
record. This system name will be used for data collection if the chosen specification
is loaded or started.
Owner
Displays the Owner who saved this collection specification on the Specification
Archive file. The system name, TestID, and Owner form the key of that record. If the
specification is loaded or started, the userID of the person currently using this screen
will be propagated as the owner of the specification, not the userID of the person
who saved the specification as displayed in the key of the record. A user my browse,
load, or start any entry on the file regardless of the Owner who saved it.
Action
The current action resulting from the command entered on the last input screen for
each system name and test identifier. Possible actions are:
An error occurred trying to activate the current system name and test identifier
Add Failed combination. This message may be generated for the load command or any of the
start commands if the test specification is not active and an internal load is required.
The Delete command previously entered for this record has been cancelled on the
Del Cancel
delete confirmation screen.
The Specification record for this system name, test identifier, and owner has been
deleted from the Specification file. This message only appears if there are other
Deleted commands currently being processed on the same screen. If only deletion commands
exist and all are successful, the screen will be displayed with the deleted records
removed.
The system name and test identifier combination are currently in the system and may
Duplicate
not be loaded again. The combination may be started if the status is available.
The detailed specifications from this record have been entered into the current list of
test definitions with this system name and TestID. Regardless of the Owner in the
Loaded
record, the userID of the person actually performing the Load will be used as the
owner of the test definition.
Load Err The specification could not be entered into the current list of test definitions.
The specification has been loaded into the system and the start command successfully
Started issued. The Code Coverage and System Flow fields will reflect which start command
was issued.
The specification was unable to be started. Transfer to the Test Definition screen and
Start Err check the status to ensure the specification is available. If not, make the necessary
changes on the Test Definition screen and reissue the start command there.
Code Coverage
Displays YES if the system name and test identifier have just had normal Code
Coverage collection started or NO if the System Flow command was issued. This field
will only display immediately after a start command is entered (Start Coverage, Start
System Flow, or Start Both).
System Flow
Displays YES if the system name and test identifier have System Flow collection
active or NO if the Start Coverage command was issued. This field will only display
immediately after a start command is entered (Start Coverage, Start System Flow, or
Start Both).
Input Fields
CMD
Allows entry of one of the applicable line commands described in “Line Commands”
on page 10-26.
Using Code Coverage with Xpediter/CICS 10-21
HELP. Displays help information about this screen. When displaying help for this screen, fields that
PF1 are in high intensity (default color red) may be tabbed to. When the cursor is placed on a high
intensity (red) field, pressing Enter will cause additional help text to be displayed regarding a topic.
PF7 BACKWARD. If displayed, allows you to scroll backward in the currently displayed data.
PF8 FORWARD. If displayed, allows you to scroll forward in the currently displayed data.
If this screen was entered through CICS, the Clear key exits the product. If this screen
was entered through Xpediter, the Clear key exits the user to the original point of entry
in Xpediter.
Confirm the deletion of the Archive Specification file by pressing Enter to delete the test
definition screen.
Additional inclusion and exclusion rules need to be specified in order to make this
Incomplete
system name and test identifier available for collection.
This system name and test identifier has sufficient inclusion and exclusion rules
Available specified. Collection may be started by using the SC (Start Code Coverage), SF (Start
System Flow), or SB (Start Both) commands on the Test Definition screen.
Collection of data for this system name and test identifier is being halted due to an H
Quiescing (Halt Collection) command being issued. This status will change to Available after the
data is extracted.
Collecting Collection of data for this system name and test identifier is currently in progress.
Owner
The userid of the person who created this system name and test identifier entry. If
this entry was created during product initialization by use of the DBPA input facility,
DBPA will be displayed.
HELP. Displays help information about this screen. When displaying help for this screen, fields that
PF1 are in high intensity (default color red) may be tabbed to. When the cursor is placed on a high
intensity (red) field, pressing Enter will cause additional help text to be displayed regarding a topic.
All program function keys, including the Clear and Program Attention (PA) keys are
disabled except as noted. To leave this screen, you must use the PF3 key, not the Clear
key.
XVSC Transaction
The XVSC transaction allows authorized users to delete tests from the specification file
even if they are not the owner. These deletions may be performed even if the user is
currently running the XVCC transaction.
10-24 Xpediter/Code Coverage Mainframe User/Reference Guide
XVSI Transaction
The Code Coverage CICS transaction XVSI will dynamically update the in-storage copy of
the XVTCGBL global table. The global overrides dataset (XVGBLINP) will be read as input
and the corresponding values will be replaced in XVTCGBL. Typically, only certain Code
Coverage users would be authorized to run the XVSI transaction. For more information
on the Xpediter/Code Coverage Global Override feature, please see Chapter 3, “Global
Parameters Table” of the Xpediter/Code Coverage Installation Guide. When the XVSI
transaction completes the following message will be displayed on the terminal issuing
the XVSI transaction:
Refer to the console log and printed report for additional messages.
The DBPA keywords for creating entries for the Test Definition screen are defined in Table
10-3.
SYSTEM and TESTID are required keywords for every entry, but may be allowed to default
to values in the last valid entry. If an error is detected in an entry where SYSTEM and
TESTID are specified, the values are not saved as defaults for following entries. SYSTEM
and TESTID may be specified in a DBPA entry with no other keywords to establish default
values for following DBPA entries.
START keywords can be used to start collection of Code Coverage data, System Flow data,
or both. If a START keyword is specified, it must be the last entry for the TESTID. No
changes can be made to a test while data collection is actives
Example 1
Enter the following values to define tests for the PAYROLL system and keep Joe’s data
(ACCJOE) under a separate TESTID. Only collect data for program DATECONV if Joe is
the user.
Example 2
The following values are equivalent to the previous example. The values in this example
demonstrate the use of defaults for SYSTEM and TESTID. If SYSTEM or TESTID are not
specified, the last valid name is used as the default.
Example 3
If the following values are entered after the values from Example 1, the system will start
collecting System Flow data for ALL BUT JOE and to start collecting both Code Coverage
and System Flow data for ONLY JOE.
Example 4
If the following values are entered to define a test the system will begin Code Coverage
for Joe and Jane, collect data for all programs, but exclude CSECT CWCDSUBA if it is
within program CWDEMCB2.
10-26 Xpediter/Code Coverage Mainframe User/Reference Guide
Line Commands
This section lists the line commands which can be used on the various CICS Code
Coverage screens. Valid commands listed on a screen will be highlighted; for example (S)
Specify Collection.
For several line commands, specifically those related to CICS Code Coverage and CICS
System Flow collection and termination, messages are generated to form an activity trail
of coverage. These messages are written to the transient data queue (LOGQ) as defined in
the Code Coverage global table XVTCGBLM. Messages have the following format:
Each message is displayed on a single line, though formatting herein may have them
appear to wrap from line to line. Messages generated for the appropriate line commands
are detailed within each command’s description below.
A (Archive)
When entered on the Test Definition screen, allows users to save a system-tested
specification in the Specification Dataset. If the specification already exists in the
Specification Dataset, a screen appears asking if users wish to replace the older
specification with the newer (see “Test Definition/Collection Specification Screen” on
page 10-10 for more information). The archive requester’s userID becomes the Owner
used when the specifications record is created and written.
B (Browse)
When entered on the Test Definition screen, transfers to the Collection Specification
screen in browse mode. The inclusion and exclusion rules that apply to the
system/TestID can be viewed from this screen but cannot be modified.
When entered on the Specification Archive screen, transfers users to the Specification
Archive/Browse screen.
D (Delete)
When entered on the Test Definition screen for a system/TestID, the entry for the
system/TestID will be deleted. If the system/TestID is in Collecting or Quiescing status,
no delete will occur.
DS (Delete System)
When entered for a system/TestID on the Test Definition screen in Incomplete or
Available status, all TestIDs within the system will be deleted. If a given TestID within the
system is in Collecting or Quiescing status, no delete will occur.
Using Code Coverage with Xpediter/CICS 10-27
E (Extract Entry)
When entered for a system/TestID on the Test Definition screen in Collecting status,
extraction of the collected data to the Code Coverage extract dataset (XVTCEXTR) will
commence. Assuming global parameter SUBMIT=YES (the default), a batch job will then
be submitted to write the data to the Code Coverage repository. When extraction is
complete, the status of the system/TestID will remain as Collecting. The following is an
example of the activity trail message generated for this command:
XVTC3001I 03 Nov 2003 10:24:42 H01AC093 UserID01 DATA EXTRACT COMPLETE for
System Name=xxxxxxxxxxxxxxx Testid=yyyyyyyyyyyyyyy.
Note: To extract the data for this system/TestID and simultaneously end the Code
Coverage test, use the HALT command.
ES (Extract System)
When entered for a system/TestID on the Test Definition screen in Collecting status,
extraction of the collected data to the Code Coverage extract dataset (XVTCEXTR) for all
TestIDs within the system will commence. Assuming global parameter SUBMIT=YES (the
default), a batch job will then be submitted to write the data to the Code Coverage
repository. When extraction is complete, the status of the system/TestID will remain as
Collecting. The following is an example of the activity trail message generated for this
command:
XVTC3001I 03 Nov 2003 10:24:42 H01AC093 UserID01 DATA EXTRACT COMPLETE for
System Name=xxxxxxxxxxxxxxx Testid=yyyyyyyyyyyyyyy.
H (Halt Collection)
When entered on the Test Definition screen causes the system/TestID to go into
QUIESCING status while the data being collected is extracted. Once all transactions being
code covered by this system/TestID have ended, the status will be changed to AVAILABLE.
Collection can be resumed by using one of the start commands (SC,SF, or SB). Examples
of the messages generated for this command appear as follows:
XVTC3001I 03 Nov 2003 10:24:42 H01AC093 UserID01 Code Coverage halted for
System Name=xxxxxxxxxxxxxxx Testid=yyyyyyyyyyyyyyy.
XVTC3001I 03 Nov 2003 10:24:42 H01AC093 UserID01 System Flow halted for
System Name=xxxxxxxxxxxxxxx Testid=yyyyyyyyyyyyyyy.
L (Load)
When entered on the Specification Archive screen, allows users to load a specification
into the current list of test definitions. User can load a specification even if they are not
the owner, but the active owner displayed will be their userID and not the owner ID in
the record.
S (Specify Collection)
When entered for a system/TestID on the Test Definition screen in Incomplete or
Available status, allows the authorized user to specify additional inclusion and exclusion
rules to apply. Transfer to the Collection Specification screen will occur.
SB (Start Both)
When entered for a system/TestID on the Test Definition screen in Available status,
collection of both Code Coverage and System Flow data will commence. Examples of the
messages generated for this command appear as follows:
10-28 Xpediter/Code Coverage Mainframe User/Reference Guide
XVTC3001I 03 Nov 2003 10:24:42 H01AC093 UserID01 Code Coverage started for
System Name=xxxxxxxxxxxxxxx Testid=yyyyyyyyyyyyyyy.
XVTC3001I 03 Nov 2003 10:24:42 H01AC093 UserID01 System Flow started for
System Name=xxxxxxxxxxxxxxx Testid=yyyyyyyyyyyyyyy.
When entered on the Archive Specification screen, the test in the specification file will be
loaded and then started if it is in available status. If the system or text ID has already
been loaded or is currently active, it will not be started from this screen.
XVTC3001I 03 Nov 2003 10:24:42 H01AC093 UserID01 Code Coverage started for
System Name=xxxxxxxxxxxxxxx Testid=yyyyyyyyyyyyyyy.
When entered on the Archive Specification screen, the test in the specification file will be
loaded and then started if it is in available status. If the system or text ID has already
been loaded or is currently active, it will not be started from this screen.
XVTC3001I 03 Nov 2003 10:24:42 H01AC093 UserID01 System Flow started for
System Name=xxxxxxxxxxxxxxx Testid=yyyyyyyyyyyyyyy.
When entered on the Archive Specification screen, the test in the specification file will be
loaded and then started if it is in available status. If the system or text ID has already
been loaded or is currently active, it will not be started from this screen.
Specific to the Collection Specification screen, this command allows users to validate an
individual program and CSECT mask. This command is only active for generic include
masks. UserIDs (include or exclude) are not validated. Specific masks are validated by
default. Can be used to validate a single mask after making changes to the resources in a
mask.
Primary Commands
The following list details the primary commands that can be used with Xpediter/Code
Coverage CICS. Some commands are common throughout the CICS portion of the
product, while others are only active on selected screens. Use the HELP COMMANDS
primary command to obtain on-line help for all commands, or HELP xxxxxxxx, where
xxxxxxxx is the command name for specific help on the command (for example, HELP
DOWN will give you specific help regarding the DOWN command). Use the HELP HELP
command to obtain further help about the product and how to use the HELP facilities of
Xpediter/Code Coverage CICS.
Using Code Coverage with Xpediter/CICS 10-29
= (transfer)
The = command allows you to transfer directly from one screen to another. Because
Xpediter/Code Coverage features an ISPF-like menu structure, transfers can take place in
several ways.
The screen ID is displayed following the screen title on the first line of every screen. This
is the screen ID that should be entered following =.
Examples:
ALTSCRN (ALT)
The ALTSCRN command allows you to turn on or off the alternate screen size capability
for MOD 3, 4, and 5 display terminals. If an alternate screen size has been generated for
your CICS terminal definition, you can switch between your default screen size and the
alternate screen size by using the ALT command.
Note: Only the extra vertical size (rows) is used. Only 80 columns are displayed, even on
a MOD 5 display.
To reset from the alternate screen size back to the default screen size for your terminal,
use the OFF operand. If your terminal does not support alternate screen sizes or the CICS
terminal definition has not been defined with this option, this command has no effect. If
the ON operand has been entered, a switch to the alternate screen size occurs. The ON
operand is the default.
Note: No profile dataset is currently available for the product. Due to this restriction,
the setting for screen size cannot be saved when exiting the product. This means
that you will have to reissue the command when reentering the product either
from a blank screen or from Xpediter/CICS.
BOTTOM (BOT)
The BOTTOM command positions the display to the end of the data being viewed. The
last line of data available is displayed as the second to last line in the data area.
An indicator may be placed in the last line of the data area to show that this is the end or
bottom of the data. This command is equivalent to using the DOWN MAX command.
10-30 Xpediter/Code Coverage Mainframe User/Reference Guide
CANCEL (CAN)
The CANCEL command is available on selected screens and will cancel the action
requested.
COLS (COL)
The COLS command functions on help screens. It will display a scale line as the first line
of help text displayed on the screen. This scale line can be used to correctly determine
the column number to use when using the FIND command to find a string beginning in
a particular column, or limiting the FIND command to search only in a range of columns.
The scale line disappears as soon as you leave this screen, either by following a hyperlink,
by using the END or EXIT commands, or transferring to another screen.
where:
ON causes the scale line to be displayed. This is the default if no parameter is supplied.
DOWN (DN)
The DOWN command scrolls forward through the data currently being displayed on the
screen. The DOWN command is assigned to the PF8 key.
The DOWN command is used in conjunction with a scrolling value. If no scrolling value
is entered on the command line, the default scrolling value is obtained from the scroll
field on the screen. The scrolling values allowed are: CSR, HALF, PAGE, MAX, or nnnn (a
decimal value in the range 1 to 9999).
Scrolls forward through the data making the line of data where the cursor is currently
DOWN CSR positioned the top line of data. If the cursor is positioned outside of the data area, DOWN
CSR has the same effect as DOWN PAGE.
DOWN HALF Scrolls forward through one half of the number of lines of scrollable data.
Using Code Coverage with Xpediter/CICS 10-31
Makes the last line of data available the second from the last line displayed. An indicator
DOWN MAX may be placed in the last line of the data area to show that this is the end or bottom of
the date. This command may be abbreviated as BOT or BOTTOM.
Scrolls forward through n lines of data, where n is the number of lines of scrollable data
DOWN PAGE
on the screen.
DOWN nnnn Scrolls forward through the data nnnn lines. nnnn is a decimal value from 1 to 9999.
END
The END command ends the current function. It will return you to the previous screen. If
you are at the highest level screen, it will return you to the primary menu. If you are on
the primary menu, using the END command will exit the product. The END command is
assigned to the PF3 key.
Example
You are currently on the Test Definition/Collection Specification screen.
1. Using the END command transfers you to the Test Definition screen.
2. Using the END command from the Test Definition screen transfers you to the
Primary Menu screen.
3. Using the END command from the Primary Menu screen transfers you to CICS if you
entered the product from a blank screen, or back to Xpediter/CICS if you entered
from Xpediter/CICS.
EXIT
The EXIT command will perform in one of the following ways:
• If you entered the product directly from CICS, you will be returned to CICS.
• If you entered the product from Xpediter/CICS, you will be returned to the
Xpediter/CICS screen you were last on.
FIND (F)
The FIND command will position you to a string or area in the data currently being
displayed on the screen. This command is currently only available while displaying help
screens. The FIND command will only process the currently displayed help screen.
Examples
The following are examples of various FIND commands:
FIND XPED Find the next occurrence of string XPED (not case sensitive)
FIND XPED FIRST Find the first occurrence of string XPED (not case sensitive)
FIND C'Xped' Find the next occurrence of string Xped (case sensitive) find-string.
find-string
The find-string defines the string that the FIND command will search for in the data
being displayed.
text-string
The text-string operand allows you to specify a character string that is to be searched for
in the data being displayed. The string is matched against any combination of case, i.e.
the string XPED is considered the same as xped or Xped. The format of a text string is:
string:
A string consists of EBCDIC displayable characters. If you use the string delimiters (' or ")
to delimit the string, you must use the same delimiter at the beginning and end. When
the string is located, the line of data where it was found becomes the top line of the data
displayed. If the string cannot be located, the current data being displayed remains on
the screen. To repeat the search, use the RFIND command.
The following are valid examples of searching for the string XPED:
'XPED'
"XPED"
T'XPED'
T"xped"
char-string
The char-string operand allows you to specify a character string that is to be searched for
in the data being displayed. The string is matched using the case it was entered in, e.g.
the find will be case-sensitive. A char-string is only valid if your terminal supports mixed-
Using Code Coverage with Xpediter/CICS 10-33
case input. If your terminal does not support mixed-case input, the string will be treated
as a text-string. The format of a character string is:
string:
A string consists of EBCDIC displayable characters. If you use the string delimiters (' or ")
to delimit the string, you must use the same delimiter at the beginning and end. When
the string is located, the line of data where it was found becomes the top line of the data
displayed. If the string cannot be located, the current data being displayed remains on
the screen. To repeat the search, use the RFIND command.
hex-string
The hex-string operand allows you to specify a hexadecimal string that is to be searched
for in the data being displayed. The format of a hexadecimal string is:
string:
A string consists of hexadecimal characters (0-9, A-F). If you use the string delimiters (' or
") to delimit the string, you must use the same delimiter at the beginning and end. When
the string is located, the line of data where it was found becomes the top line of the data
displayed. If the string cannot be located, the current data being displayed remains on
the screen. To repeat the search, use the RFIND command.
X'E7D7C5C4'
X"E7D7C5C4"
*
The asterisk (*) operand will cause the last string specified in a FIND or RFIND command
to be used.
find-direction
Normally the FIND command searches for the next occurrence of the specified string,
starting at the top of the displayed page if the cursor is outside the help text, or at the
cursor position if the cursor is within the help text.
NEXT
NEXT can be entered as an optional parameter with the FIND command. Because NEXT is
the default direction, however, it is not required. For example,
looks for the next occurrence of the term “Xpediter” within the data. A search for the
next occurrence of the text string will be made, starting at the beginning of the first line
displayed if the cursor is outside the help text, or at the cursor location if the cursor is
within the help text
If the string is found, the cursor is placed at the start of the string. If the RFIND primary
command is then used, searching will continue until the next occurrence is found, and
then the next, repeating until the bottom of the data is reached.
When part of the data is searched and the string is not found before the bottom of the
data is reached, a BOTTOM OF DATA message is displayed. Use the RFIND command to
continue searching, wrapping around from the bottom of the data to the top.
PREV
PREV can be entered as an optional parameter with the FIND command. For example,
looks for the previous occurrence of the term “Xpediter” within the data. A search for the
previous occurrence of the text string will be made, starting at the end of the line
preceding the first line displayed if the cursor is outside the help text, or at the cursor
location if the cursor is within the help text.
If the string is found, the cursor is placed at the start of the string. If the RFIND primary
command is then used, searching backwards will continue until the string is found again,
or the top of the data is reached.
When part of the data is searched and the string is not found before the top of the data is
reached, a TOP OF DATA message is displayed. Use the RFIND command to continue
searching, wrapping around from the top of the data to the bottom.
FIRST
FIRST can be entered as an optional parameter with the FIND command. For example,
looks for the first occurrence of the term “Xpediter” within the data. A search for the first
occurrence of the text string will be made, starting at the beginning of the first line of the
data.
If the string is found, the cursor is placed at the start of the string. If the RFIND primary
command is then used, searching will continue until the next occurrence is found, and
then the next, repeating until the bottom of the data is reached.
If the string is not found before the bottom of the data is reached, a message is displayed
indicating that the string was not found.
LAST
LAST can be entered as an optional parameter with the FIND command. For example,
looks for the last occurrence of the term “Xpediter” within the data. A search for the last
occurrence of the text string will be made, starting at the end of the last line of the data
and continuing backwards until the string is found or the top of the data is reached.
If the string is found, the cursor is placed at the start of the string. If the RFIND primary
command is then used, backward searching will continue until the next to the last
occurrence is found, and then the third from the last, repeating until the top of the data
is reached.
If the string is not found before the top of the data is reached, a message is displayed
indicating that the string was not found.
ALL
ALL can be entered as an optional parameter with the FIND command. For example,
looks for all occurrences of the term “Xpediter” within the data. A search for all of the
occurrences of the text string will be made, starting at the beginning of the first line of
the data and continuing to the bottom of the data.
If the string is found one or more times, the cursor is placed at the beginning of the first
occurrence. A message is displayed indicating the number of times the string was found.
If the RFIND primary command is then used, searching will continue until the next
occurrence is found, and then the next, repeating until the bottom of the data is reached.
If the string is not found before the bottom of the data is reached, a message is displayed
indicating that the string was not be found.
columns
You can limit the columns that are searched with the FIND command by entering a pair
of column numbers indicating the first and last column to be searched. The string will be
found if it is completely contained within the designated columns.
10-36 Xpediter/Code Coverage Mainframe User/Reference Guide
Examples
FIND THE 20 40 looks for the text string 'the' (case insensitive) in columns 20 through 40.
FIND Xpediter looks for the text string 'xpediter' (case insensitive) in columns 1 through 79.
looks for the character string 'Xpediter' (case sensitive) in columns 7 through
FIND C'Xpediter' 7 30
30.
looks for the character string 'Xpediter' (case sensitive) beginning in column 15
FIND C'Xpediter' 15
only.
If columns are not specified, the columns to be searched defaults to the entire line, i.e.
columns 1 through 79. If a single column is specified, the string must start in that
designated column.
HELP
The HELP command allows you to obtain text that describes the screen you currently are
on. You may enter HELP xxxxxxxx where xxxxxxxx is a primary command or a keyword. If
you enter a command following HELP, you will receive additional text describing the
syntax and actions of the command. If you enter a keyword (you may type HELP
KEYWORDS to obtain a list of keywords), you will receive additional text describing the
keyword. You may enter HELP HELP to obtain general information about the help
subsystems, including a tutorial on how to use the help subsystem. The HELP command
is associated with the PF1 key.
If a message is displayed in the message area of the screen (line 2 immediately following
the Userid: field), and the message is enclosed in plus signs, then pressing PF1 will give
you additional text about the message, including the cause and actions to take.
Example
If line 2 contains:
LOCATE (LOC, L)
The LOCATE command positions the requested key or generic key at the top of the
screen. This command is currently only available on the Archive Specification screen.
Using Code Coverage with Xpediter/CICS 10-37
Generic keys will position to the first XVTCSPEC key that matches the generic key value.
If the key value contains spaces, it must be enclosed in single quotes. If no match is
found, the screen will be positioned to the next sequential key on the file.
Examples
LOCATE ABCSYST
L 'ABCSYST ATEST'
MENU (MEN)
The MENU command ends the current function and transfers to the Primary Menu
screen. While in Help, this command transfers you back to the highest level Help menu.
RFIND (RF)
The RFIND command (abbreviated as RF) can be used to repeat the last FIND command
that was entered. Since this command is sensitive to the current cursor position, it is
normally entered via the PF5 key which has been assigned to the RFIND command. This
command is currently only available when displaying help screens.
SELECT (SEL)
The SELECT command is available on the Primary Menu screen and can be used in
conjunction with the current cursor position to select an option on the menu. If you key
the SELECT command in the command field, move the cursor to the line containing one
of the menu options, and then press Enter, you will be transferred to the screen
associated with that menu option.
TOP
The TOP command positions you at the start of the data currently being displayed on the
screen. The first line of data available is displayed as the first line in the data area. This
command is equivalent to using the UP MAX command.
10-38 Xpediter/Code Coverage Mainframe User/Reference Guide
UP
The UP command scrolls you backward through the data currently displayed on the
screen. The UP command is associated with the PF7 key.
The UP command is used in conjunction with a scrolling value. The default scrolling
value is obtained from the scroll field on the screen unless overridden by entering a
temporary scrolling value on the command line. The scrolling values allowed are: CSR,
HALF, PAGE, MAX, or nnnn (a decimal value in the range 1 to 9999).
Scrolls backward through the data making the line of data where the cursor is currently
UP CSR positioned the bottom line of data. If the cursor is positioned outside of the data area, UP CSR
has the same effect as UP PAGE.
UP HALF Scrolls backward through one half of the number of lines of scrollable data.
Makes the first line of data available the top line displayed. This command may be abbreviated
UP MAX
as TOP.
Scrolls backward through the data n lines, where n is the number of lines of data that can be
UP PAGE
displayed on a screen.
VALIDATE (VAL)
The VALIDATE command is available the Test Definition/Collection Specification screen.
It will cause generic include masks for the specification to be validated.
11-1
Chapter 11.
Using System Flow with Xpediter/CICS Chap 11
This chapter explains how to use System Flow with Xpediter/CICS and includes the
following sections:
• “Overview”
• “Online Data Collection”
• “Reporting”
• “Preliminary Considerations”.
Notes:
1. All the procedures in this and subsequent chapters assume that Code Coverage has
been properly installed and configured in accordance with the Compuware Installer
Mainframe Products SMP/E Installation Guide and the Xpediter/Code Coverage Installation
Guide.
2. Xpediter/CICS 8.0 or above is required to collect System Flow data in CICS.
Overview
Using Xpediter/Code Coverage’s System Flow capability with Xpediter/CICS is a two-
stage process composed of the following:
Each stage is discussed in greater detail below, and the entire process is illustrated in
Figure 11-1 on page 11-2.
The program preparation steps normally necessary for Code Coverage collection are not
required for System Flow. Specifically, this means that the Compuware source listing and
Compuware program inventory files are not necessary to collect System Flow data.
11-2 Xpediter/Code Coverage Mainframe User/Reference Guide
The Test Definition/Collection Specification screen (Figure 11-3) is used to specify which
users, transactions, programs, and CSECTs should be collected during the System Flow
test. Because System Flow is designed for analyzing applications, values specified in the
Tran, Program, and CSECT fields of the Include MASKS portion of the screen should be as
generic as possible. If a mask is too specific, the resulting System Flow report will give an
incomplete view of application activity. For the same reason, the use of Exclude masks
during System Flow testing is not recommended. The status of the test on the Test
Definition screen (Figure 11-2) will be shown as Available after definition and before
starting the test.
Note: Unlike Code Coverage, the Collection Specification screen cannot be used to
validate that all required System Flow load modules and programs are available
within CICS before running the Code Coverage collection. This is because the
Code Coverage validate function requires a Program Inventory member and
11-4 Xpediter/Code Coverage Mainframe User/Reference Guide
Compuware source listings. These two elements are not required for System Flow
collection.
Reporting
After the System Flow data has been written to the repository, it can be reported on. On
the mainframe, reporting is done using the ISPF System Flow reporting panel. This
process is described in Chapter 4, “Generating System Flow Reports”.
Preliminary Considerations
Before the System Flow feature of Code Coverage can be used under Xpediter/CICS,
several considerations must be taken into account:
• You must ensure the value of the Xpediter/CICS global parameter XDCC is set to YES
(the default).
• You must ensure the value of the Xpediter/CICS Code Coverage global parameters
XVCC and XVSC match the transaction codes, which default to XVCC and XVSC.
• You must ensure the load library containing Xpediter/CICS has been added to the
DFHRPL concatenation. This loadlib is provided as XPED.CICS.LOAD.
• You must ensure the load library containing Code Coverage has been added to the
DFHRPL concatenation. The file name is SYS2.XPCOVER.V3R1M0.LOADLIB.
• You must create an Extract dataset (XVTCEXTR) for the intermediary Code
Coverage/System Flow data.
• Optionally, you can create a JCL template dataset (XVTCEXTJ) that contains the JCL
to write the intermediary Code Coverage/System Flow data to the Code
Coverage/System Flow repository.
• Optionally, you can create a Save Specifications dataset (XVTCSPEC) to provide an
archive for Code Coverage/System Flow test definitions.
Using System Flow with Xpediter/CICS 11-5
• The Test Definition screen (Figure 11-2 on page 11-3) or DBPA entries are used to
name and define an application system (SYSTEM) and individual tests (TESTID). For
more information on DBPA entries, see “DBPA Keywords for Code Coverage and
System Flow” on page 10-24. The Specification Archive screen (Figure 10-13 on page
10-19) may also be used to activate an archived specification.
• It is possible to start the same test definition entries for both Code Coverage and
System Flow data collection. However, it may be more practical to define separate
tests. The high level overview of the application system provided by System Flow will
be most complete if you define the test broadly. The detailed view of program code
provided by Code Coverage may only be needed for a narrower subset of the
application system.
Note: Xpediter/CICS 9.4.1 entries, which cause specified programs to be excluded from
monitoring by Xpediter, will be honored by System Flow. No System Flow data
will be collected for any activity in an excluded program.
11-6 Xpediter/Code Coverage Mainframe User/Reference Guide
12-1
Chapter 12.
CICS Populater Chap 12
This chapter describes the JCL and control statements to use the CICS Program Inventory
Populater.
Note: The Populater Utility can be included as a step within your site’s standard
Compile/Shared Services Processor/Link JCL.
12-2 Xpediter/Code Coverage Mainframe User/Reference Guide
EXEC Statement
The EXEC statement must run PGM=XVTCPOP. Coding PARM=FULL on your EXEC
statement will cause XVTCPOP to provide messages for every LMOD/CSECT in the
DFHRPL concatenation. If this parameter is not specified, only LMOD/CSECTs covered by
the DEFINE statements will result in messages being issued. This parameter is optional.
When the DEFINE, REPLACE, or COLLECT statements are supplied via JCL, the following
restrictions apply:
• The DEFINE statement is required but REPLACE and COLLECT are optional.
• No asterisk (*) wildcard characters can be included in the LMOD parameter.
• If REPLACE is not supplied, the value for REPLACE is forced to YES.
• If COLLECT is not supplied, the value for COLLECT is forced to ON.
• Only one DEFINE statement should be used. If multiple DEFINE statements are
coded, only the last one will be honored.
• The CONTROL dataset is ignored.
CICS Populater 12-3
DD Statements
A series of DD statements are used to specify parameters for the execution of the CICS
Populater.
SYSPRINT
SYSPRINT represents the report style output from XVTCPOP. It will contain
informational, warning, and error type messages. In some cases, error messages may be
written to the JES message log. Both output locations should be checked when
determining an error condition. SYSPRINT will generally be a JES SYSOUT dataset,
however to record SYSPRINT to a permanent dataset, use a 133-byte record length, a fixed
or fixed blocked record format, and ANSI carriage control. For example,
DCB=(RECFM=FBA,LRECL=133). Dataset blocksize (BLKSIZE) can be set to any desired
value.
DFHRPL
The DFHRPL concatenation contains the load modules that may be selected for Code
Coverage. This concatenation of datasets is normally a copy of the DFHRPL of a working
CICS region. It could also be coded manually or copied from some other JCL jobstream.
XVTPGINV
This DD names the Program Inventory file, which holds entries for eligible Code Covered
programs. This file is the primary output of XVTCPOP and the primary input to the CICS
Code Coverage collection process. XVTCPOP populates this dataset with program entries.
Before the Program Inventory dataset is populated, it must be formatted using the
FORMAT command in the Code Coverage Program Inventory Utility (XVTCUTIL).
EXCLUDES
This DD lists a series of load modules (LMODs) and CSECTs which are to be bypassed by
the XVTCPOP process. These LMODs and CSECTs may be programs with no associated
source listing members. A more typical use is to list IBM and OEM LMODs and CSECTs
for which Code Coverage does not need to be activated. This dataset must have an 80-
byte record length and a fixed or fixed blocked record format. For example,
DCB=(RECFM=FB,LRECL=80). Dataset blocksize (BLKSIZE) can be set to any desired value.
CONTROL
This DD is used to list a series of LMODs and CSECTs to be included or limited in Code
Coverage monitoring. It serves as a positive selection criteria, as opposed to the negative
selection represented by the EXCLUDES dataset. Typically, you would identify by one or
more statements in this dataset the LMODs and CSECTs you want monitored by Code
Coverage. This dataset must have an 80-byte record length and a fixed or fixed blocked
12-4 Xpediter/Code Coverage Mainframe User/Reference Guide
• YES means only existing inventory members will be replaced if their COMPILE
DATETIME stamp is the same as the current member being processed.
• ALL means all existing inventory members will be replaced regardless of their
COMPILE DATETIME stamp.
• NO means existing inventory members will not be replaced.
The DEFINE statement is used to control processing at the LMOD/CSECT level. This
statement may also be used to specify an source listing member name. There are three
positional parameters that can be used with the DEFINE statement. In positional order,
they are:
• LMOD name
• CSECT name
• source listing member name
For example, to set up Code Coverage monitoring of all load modules starting with PAY,
simply code DEFINE PAY* * in the CONTROL card dataset.
When a DEFINE statement names a specific source listing member, no wildcards are
allowed for any positional parameter. Specific LMOD and CSECT names must be
supplied.
The COLLECT control statement is used to control the initial collection status of a
program already added to the Program Inventory File. Valid values are ON and OFF. The
default is ON. OFF would result in no Code Coverage statistics being gathered for the
program. Setting initial collection status to ON causes immediate eligibility for Code
Coverage monitoring of the specified program.
Process Flow
The following sections describe the general flow of XVTCPOP.
Items in the EXCLUDE dataset are bypassed entirely. Items may be excluded at the LMOD
or CSECT level. Typically, you would exclude IBM and OEM LMODs and CSECTs that
might be found in the DFHRPL concatenation of your load libraries. For example, you
can exclude all LMODs or CSECTs that start with CEE, DFH, DSH, IGZ, IKF, and others.
The CONTROL card dataset is used to specify items to be processed. This dataset also
controls whether or not existing Program Inventory members are to be overwritten. This
dataset is used to control the LMODs and CSECTs which are selected for Code Coverage
monitoring. In the following example of the use of the CONTROL DD, assume that
PROGRAM1, PROGRAM2, PROGRAM3, and PROGRAM4 were recently compiled, and the
new changes for these programs need to be populated to the Program Inventory:
CICS Populater 12-5
COLLECT OFF
DEFINE PROGRAM1
REPLACE ALL
DEFINE PROGRAM2
DEFINE PROGRAM3
COLLECT ON
DEFINE PROGRAM4
Each member of the Control Card is processed independently. Before the process begins,
COLLECT is set to ON and REPLACE is set to NO. In the example, PROGRAM1 is set to
COLLECT OFF, and no previous versions of the program will be deleted. This enables you
to use Code Coverage on the older versions of the program and, if desired, delete those
versions later. All previous versions of PROGRAM2 and PROGRAM3 will be deleted, and
COLLECT will remain set to OFF for both programs. Only the new versions of the
programs will be populated, and Code Coverage collection can be turned ON later.
PROGRAM4 is set to ON for collection, and all older versions of the program will be
deleted.
Positional parameters — as opposed to keyword — are used by both the EXCLUDE and
CONTROL datasets. These positional parameters may include an asterisk (*) wildcard
character. This wildcard can be used as a suffix to a value or as the entire value. For
example, DFH* would apply to all values which begin with DFH, but * alone would
match any value.
Additional Processing
When the EXCLUDES and CONTROL cards have been processed, the Populater
(XVTCPOP) will then perform the following processing:
Chapter 13.
Program Inventory Utility Chap 13
This chapter describes the JCL and control statements to use the CICS Program Inventory
Utility (XVTCUTIL).
EXEC Statement
The EXEC statement must run PGM=XVTCUTIL. Coding PARM=FULL on your EXEC
statement will cause XVTCUTIL to provide messages with more detail. This parameter is
optional.
DD Statements
A series of DD statements are used to specify parameters for the execution of Program
Inventory Utility.
SYSPRINT
SYSPRINT represents the report style output from XVTCUTIL. It will contain
informational, warning, and error type messages. In some cases, error messages may be
written to the JES message log. Both output locations should be checked when
determining an error condition.
XVTPGINV
This DD names the primary Program Inventory file, which is the main object of all
Program Inventory Utility commands.
XVTPGCPY
This DD names the target of the COPY command used to copy from one Program
Inventory to another. An example would be:
//XVTPGCPY DD DISP=SHR,DSN=ACME.ALT.PGMINV
XVTPGEXP
This DD names the target of the EXPORT command used to extract program members
from a Program Inventory file. An example would be:
//XVTPGEXP DD DISP=SHR,DSN=ACME.EXPORT.PGMINV
See “EXPORT” on page 13-7 for more details. Sample JCL (JCLCDEFE) to define the
export file is supplied in SMXDSAMP.
Program Inventory Utility 13-3
XVTPGIMP
This DD names the source of the IMPORT command used to load program members into
a Program Inventory file. An example would be:
//XVTPGIMP DD DISP=SHR,DSN=ACME.EXPORT.PGMINV
CCCARDS
Insert this optional DD to name the dataset to be used as output from the GENERATE
command. For example:
//CCCARDS DD SYSOUT=*
If this dataset is other than a JES SYSOUT dataset, it must have an 80-byte record length
and a fixed or fixed blocked record format. For example, DCB=(RECFM=FB,LRECL=80).
Dataset blocksize (BLKSIZE) can be set to any desired value. Refer to the “GENERATE
Command” on page 13-7 for more details.
CONTROL
This DD contains one or more Code Coverage Program Inventory Utility commands
(control statements). Refer to “Program Inventory Utility Commands” on page 13-4 for
descriptions of the available commands. Each command is honored individually, which
means an error in one command will have no direct affect on a subsequent command.
CONTROL will normally be a JES SYSIN dataset, however to use an existing CONTROL
dataset, an 80-byte record length and a fixed or fixed blocked record format are required.
For example, DCB=(RECFM=FB,LRECL=80). Dataset blocksize (BLKSIZE) can be set to any
desired value.
13-4 Xpediter/Code Coverage Mainframe User/Reference Guide
Keyword parameters are coded keyword=value. The keyword may be a full or abbreviated
name.
Positional parameters can include an asterisk (*) wildcard character. This wildcard can be
used as a suffix to a value or as the entire value. For example, DFH* would apply to all
values which begin with DFH, but * alone would match any value.
The primary positional values are for LMOD, CSECT, and date and time stamp. Some
commands may require, or allow for, additional positional parameters. For example, the
COLLECT command allows for a value of ON or OFF as a fourth positional parameter.
FORMAT Command
A Program Inventory dataset must be formatted before it can be used by the CICS
component of Xpediter/Code Coverage. Its DCB attributes are RECFM=FBS, and the
LRECL and BLKSIZE must be equal. The BLKSIZE determines the size of a physical record
and will default to half-track blocking. The space allocation must allow enough primary
and secondary extents to cover the number of blocks to be formatted. The number of
blocks to be formatted is specified on a FORMAT command using the keyword parameters
described below.
Once you have formatted a Program Inventory, you cannot alter its space allocation
(number of TRKS or CYLS) or DCB attributes (RECFM, LRECL, or BLKSIZE). In order to
change DCB attributes, a Program Inventory must be re-allocated and formatted. If an
existing Program Inventory is reformatted, the dataset’s secondary allocation can be
utilized. Formatting an existing Program Inventory will erase all data in the dataset.
GROUPCNT
The GROUPCNT keyword parameter, abbreviated GC, is used to specify the number
of blocks which comprise an extent. For example, if GROUPCNT is 7, then space for
each program inventory member will be allocated in increments of 7 blocks. This
number must be between 7 and 31 (inclusive). The default is 7.
BLOCKS
The BLOCKS keyword parameter, abbreviated BLK, represents the number of physical
records to be formatted. The size of a physical record is specified by the DCB BLKSIZE
Program Inventory Utility 13-5
attribute. Regardless of the JCL SPACE allocation, only this number of BLKSIZE
records will be formatted. The default is 3000. When using a half-track blocking
factor, this default equates to 1500 tracks or 100 cylinders.
DIRENTS
DIRENTS (abbreviated DENT) specifies the minimum number of directory entries to
be allowed. The value specified should be greater than the maximum number of
programs to be tested with Xpediter/Code Coverage. The Program Inventory
directory is a pre-allocated, contiguous area within the Program Inventory file. This
number cannot be changed after the Program Inventory file has been formatted. The
default is 1500. Any reasonable value for the number of entries (i.e., a value not
exceeding the available blocks) can be specified.
AUTODELETE
AUTODELETE (abbreviated ADEL) optionally specifies that old members may be
deleted by the Populate Utility if space is needed to add a new member. If NO is
specified for AUTODELETE, the attempt to add the new member will fail. If YES is
specified for AUTODELETE, old members will be deleted until sufficient space is
available for the new member. All deletes are logged by the Populate Utility. The
default is YES.
COLLECT
Use the COLLECT command or the COLLECT control card in the Code Coverage CICS
Populater to set the collection status for your CICS programs.
Before Xpediter/Code Coverage can be used, the COLLECT command — or the COLLECT
control card in the Code Coverage Populater — must be used to designate which
programs you want Code Coverage to monitor. The COLLECT command sets the
collection status for one or more programs to either ON or OFF. When the Code Coverage
CICS Populater adds a program to the Program Inventory, the collection status for that
program is initially set to OFF by default.
lmod
For lmod specify the name of the desired load module or an asterisk (*) wildcard
character.
csect
For csect specify the name of the desired CSECT within the specified load module or
an asterisk (*) wildcard character.
date/time stamp
Specify the desired compile date/time stamp in the format CCYYMMDDHHMMSS.
ON/OFF
The fourth positional parameter is used to specify collection status. Valid values are
ON and OFF. The default is ON.
COPY
The COPY command allows program entries to be copied from one Program Inventory
file to another. The source Program Inventory file is named by the XVTPGINV DD
13-6 Xpediter/Code Coverage Mainframe User/Reference Guide
statement. The target file for the COPY command is named by the XVTPGCPY DD
statement. The COPY command can include up to four optional positional parameters,
but must include at least one.
lmod
Specify the name of the desired load module or an asterisk (*) wildcard character.
csect
Specify the name of the desired CSECT within the specified load module or an
asterisk (*) wildcard character.
date/time stamp
Specify the desired compile date/time stamp in the format CCYYMMDDHHMMSS.
REPLACE
The fourth positional parameter, REPLACE, is used to specify whether an existing
duplicate program entry in the target file is to be overwritten. It can be abbreviated
REP. The default is to not overwrite an existing duplicate program entry.
Note: The EXPORT and IMPORT commands can be used to copy program members
between Program Inventory files on systems that do not share DASD. The
EXPORT command is used to create a sequential dataset that is transmitted to the
target system. The IMPORT command is then be used to load the selected
members from the transmitted sequential dataset into the target system’s
Program Inventory file.
DELETE Command
The DELETE command allows program entries to be removed from the Program
Inventory file. The DELETE command can include up to three optional positional
parameters, but must include at least one.
lmod
Specify the name of the desired load module or an asterisk (*) wildcard character.
csect
Specify the name of the desired CSECT within the specified load module or an
asterisk (*) wildcard character.
date/time stamp
Specify the desired compile date/time stamp in the format CCYYMMDDHHMMSS.
Program Inventory Utility 13-7
DIR Command
The DIR command builds a report of each program entry within a Program Inventory file
and writes it to the specified SYSPRINT location. The DIR command can include up to
three optional positional parameters.
lmod
Specify the name of the desired load module or an asterisk (*) wildcard character.
csect
Specify the name of the desired CSECT within the specified load module or an
asterisk (*) wildcard character.
date/time stamp
Specify the desired compile date/time stamp in the format CCYYMMDDHHMMSS.
GENERATE Command
The GENERATE command writes a series of COLLECT control statements to the dataset
named by the optional CCCARDS DD statement. The CCCARDS dataset may be used as
input to subsequent executions of the Program Inventory Utility by specifying it in the
CONTROL DD statement. The COLLECT control statements output by the GENERATE
command have no wildcards values and their collection status is ON. The GENERATE
command can include up to three optional positional parameters.
lmod
Specify the name of the desired load module or an asterisk (*) wildcard character.
csect
Specify the name of the desired CSECT within the specified load module or an
asterisk (*) wildcard character.
date/time stamp
Specify the desired compile date/time stamp in the format CCYYMMDDHHMMSS.
EXPORT
The EXPORT command allows program entries to be extracted from a Program Inventory
file into a sequential dataset. The source Program Inventory file is named by the
XVTPGINV DD statement. The XVTPGEXP DD statement names the target file for the
EXPORT command. The EXPORT command can include up to three optional positional
parameters, but must include at least one.
lmod
Specify the name of the desired load module or an asterisk (*) wildcard character.
13-8 Xpediter/Code Coverage Mainframe User/Reference Guide
csect
Specify the name of the desired CSECT within the specified load module or an
asterisk (*) wildcard character.
date/time stamp
Specify the desired compile date/time stamp in the format CCYYMMDDHHMMSS or
an asterisk (*) wildcard character.
Note: The EXPORT and IMPORT commands can be used to copy program members
between Program Inventory files on systems that do not share DASD. The
EXPORT command is used to create a sequential dataset that is transmitted to the
target system. The IMPORT command is then be used to load the selected
members from the transmitted sequential dataset into the target system’s
Program Inventory file.
IMPORT
The IMPORT command allows program entries to be loaded into a Program Inventory file
from an EXPORT sequential dataset. The XVTPGIMP DD statement names the source file
for the IMPORT command. The XVTPGINV DD statement names the destination Program
Inventory file. The IMPORT command can include up to four optional positional
parameters, but must include at least one.
lmod
Specify the name of the desired load module or an asterisk (*) wildcard character.
csect
Specify the name of the desired CSECT within the specified load module or an
asterisk (*) wildcard character.
date/time stamp
Specify the desired compile date/time stamp in the format CCYYMMDDHHMMSS or
an asterisk (*) wildcard character.
REPLACE
Specify whether an existing duplicate program entry in the target file is to be
overwritten. The default is to not overwrite an existing duplicate program entry.
Note: The EXPORT and IMPORT commands can be used to copy program members
between Program Inventory files on systems that do not share DASD. The
EXPORT command is used to create a sequential dataset that is transmitted to the
target system. The IMPORT command is then be used to load the selected
members from the transmitted sequential dataset into the target system’s
Program Inventory file.
A-1
Appendix A. Appendix A.
This appendix explains the various informational, error, and warning messages associated with
Xpediter/Code Coverage.
where
aaaaaaaa is the VTAM applid of the CICS region issuing the message.
For example:
Because this first line has the same general format for most messages, it is not included in the
messages documented in this appendix.
Also in this appendix, message text that can vary is presented in italics. For example:
TSO/ISPF Messages
XVTT1000E ERROR OPENING SYSPRINT
User Response: Ensure that the STEPLIB contains the Code Coverage library.
User Response: Ensure that the STEPLIB contains the Code Coverage library.
Module: XVTTARPT
User Response: Ensure that the STEPLIB contains the Code Coverage library.
User Response: Ensure the SYSIN dataset is Fixed Block with Record length of 80.
User Response: Ensure the SYSPRINT dataset is Fixed Block with record length 133.
User Response: Ensure that XCOVER points to a valid Code Coverage repository.
Explanation: An error occurred while opening the EXTRACT dataset. “XXXX” is the VSAM
error code in decimal.
User Response: Ensure that the EXTRACT DD is pointing to a valid extract file, used by
Xpediter/CICS.
Code Coverage Messages A-3
Module: XVTTAHRD
Explanation: An error occurred while trying to acquire an enqueue in a Code Coverage
repository.
Module: XVTTAHRD
XVTT1014E DD MISSING
Module: XVTTAHRD and XVTTAEXP
Module: XVTTAHRD
Explanation: The hardening utility has successfully written the extract records to the
repository, and it has removed the records from the Extract file.
Module: XVTTAHRD
Explanation: The hardening utility has completed and either a previous error occurred while
trying to harden a member, or the NORESET execution parm was specified.
Module: XVTTAHRD
Explanation: An extract header record was not followed by a detail record.
Module: XVTTAHRD
A-4 Xpediter/Code Coverage Mainframe User/Reference Guide
Module: XVTTAHRD
Module: XVTTAEXP
Explanation: An error occurred while writing to the Export dataset.
User Response: Ensure that the EXPORT DD is pointing to a valid export file.
Module: XVTTAEXP
Module: XVTTAANT
Explanation: A required Code Coverage module could not be found.
User Response: Ensure that STEPLIB contains the Code Coverage load library.
Module: XVTTAANT
Explanation: An error occurred retrieving CSS information for member “XXXXXXXX” dated
hh:mm:ss mm/dd/yyyy.
User Response: If the member XXXXXXXX has been moved to another DDIO, specify the
new DDIO dataset in the DDIO overrides within the setup screen.
Code Coverage Messages A-5
Module: XVTTAANT
Explanation: An error occurred while opening either a repository or DDIO override dataset.
User Response: Ensure that the specified repository(s) and DDIO override datasets are valid.
Module: XVTTAHRD
Explanation: An error occurred reading the extract file. The VSAM feedback in decimal is
“XXXXXXXX”.
User Response: Ensure the EXTRACT DD is a valid Code Coverage Extract dataset.
Explanation: An error occurred finding the internal line number for an offset within CSECT
NNNNNNNN. The CSS External Symbol Dictionary (ESD) table does not contain an entry for
CSECT NNNNNNNN.
User Response: Ensure the repository and selection criteria are correctly specified.
Module: XVTTAHRD
User Response: For DELETE requests, ensure that Program, Date, and Time are specified.
User Response: Ensure that the STEPLIB contains the Code Coverage load library.
A-6 Xpediter/Code Coverage Mainframe User/Reference Guide
Module: XVTTAANT
Explanation: An error occurred while attempting to retrieve data from a Code Coverage
repository dataset or DDIO file. The error code is XXXX, followed by SSSSSSSS, which is a
description of the error.
User Response: Ensure that the repository and DDIO members required for the report still
exist in the appropriate dataset. For return code X'0040', make sure that the Code Coverage
application is invoked with the most recent CSS release installed at your site.
XVTT1040E LOGIC ERROR MERGING TO REPOSITORY: LENGTHS DID NOT MATCH, PREVIOUS
RECORD SKIPPED
Module: XVTTALRP
Explanation: A logic error was returned by the Repository I/O module while merging to the
repository.
Module: XVTTAPGM
Explanation: Dynamic allocation was used to allocate the repository datasets specified in the
user profile. A non-zero return code was received from dynamic allocation for all repository
datasets.
User Response: Use the Setup command in the print utility to modify the list of repository
datasets and specify all datasets that are cataloged and accessible by the batch program.
Module: XVTTAPGM
Explanation: Dynamic allocation was used to allocate the repository datasets specified in the
user profile. A non-zero return code was received from dynamic allocation for one or more
Code Coverage Messages A-7
repository datasets. The report continued with those repository datasets that were successfully
allocated.
User Response: Use the Setup command in the print utility to modify the list of repository
datasets and specify all datasets that are cataloged and accessible by the batch program.
Module: XVTTAPGM
Explanation: No repository records were found matching the criteria you specified.
Module: XVTTAPGM
Explanation: No valid Code Coverage collection has taken place in Xpediter.
User Response: You must run Xpediter/Code Coverage before you can generate a program,
system, or annotated report.
Explanation: The previous SYSOUT DD line includes a copy of the SYSIN record with a
syntax error. The LIST/DELETE request including the syntax error is not processed.
User Response: Correct the SYSIN data and rerun the LIST/DELETE utility.
Module: XVTTADEL
Explanation: The compilation date can be defined by the combination of these parameters:
MONTH, DAY and YEAR, or MONTH and YEAR, or YEAR. A single parameter of DAY is not
allowed.
User Response: Correct the SYSIN data and rerun the LIST/DELETE utility.
Module: XVTTADEL
Explanation: The compilation date can be defined by the combination of these parameters:
MONTH, DAY and YEAR, or YEAR, or MONTH and YEAR. Using the parameters: MONTH, or
MONTH and DAY, is not allowed.
User Response: Correct the SYSIN data and rerun the LIST/DELETE utility.
A-8 Xpediter/Code Coverage Mainframe User/Reference Guide
Module: XVTTADEL
Explanation: The compilation time can be defined by the combination of these parameters:
HOUR, MIN and SEC, or HOUR, or HOUR and MIN. A single parameter of SEC is not allowed.
User Response: Correct the SYSIN data and rerun the LIST/DELETE utility.
Module: XVTTADEL
Explanation: The compilation time can be defined by the combination of these parameters:
HOUR, MIN and SEC, or HOUR, or HOUR and MIN. Using the parameters: SEC, or SEC and
MIN is not allowed.
User Response: Correct the SYSIN data and rerun the LIST/DELETE utility.
Explanation: The optional EXEC PARM allows the user to change the default to 56 lines per
page for both SYSPRINT and SYSOUT. If specified, EXEC PARM must consist of numerical digits
which are higher than 18 and lower than 999.
Module: XVTTADEL
Explanation: The user is not authorized to update the contents of a Code Coverage
Repository dataset defined by the DSN of XCOVER DD.
Explanation: The user is not authorized to access the Code Coverage Repository dataset as
defined by the DSN of XCOVER DD.
Explanation: The on-line LIST/DELETE utility abended with a system code of ZZZZ.
User Response: Save the accompanying dump and contact Compuware Customer Support.
Code Coverage Messages A-9
User Response: Save the accompanying dump and contact Compuware Customer Support.
Explanation: Code Coverage Startup module XVTTAENQ abended with a system code of
ZZZZ at offset XXXX.
User Response: Save the accompanying dump and contact Compuware Customer Support.
Module: XVTTALRP
Explanation: A required Code Coverage module could not be found.
User Response: Ensure that the Compuware Shared Services (CSS) load library is allocated in
the STEPLIB DD card concatenation.
Module: XVTTALRP
Explanation: The initialization call to CSS has failed.
User Response: Contact Compuware Customer Support.
Module: XVTTALRP
Explanation: The open call to CSS has failed.
Module: XVTTALRP
Explanation: The Code Coverage Repository record points to a DDIO library. The allocation
for that DDIO library has failed.
User Response: Ensure that the DDIO library still exists. If it does, contact Compuware
Customer Support.
Module: XVTTALRP
User Response: This is only a problem if multiple reports were to be produced. If it occurs
frequently, contact Compuware Customer Support.
Module: XVTTALRP
Explanation: An unknown error code was returned by the Repository I/O module.
XVTT1068E LOGIC ERROR MERGING TO REPOSITORY: LENGTHS DID NOT MATCH, PREVIOUS
RECORD SKIPPED
Module: XVTTALRP
Explanation: A logic error was returned by the Repository I/O module while merging to the
repository.
Module: XVTTALRP
Explanation: An invalid I/O parameter was returned by the Repository I/O module.
User Response: Contact Compuware Customer Support immediately.
Module: XVTTAHRD
Explanation: An invalid component level record update was returned by the Repository I/O
module.
User Response: Contact Compuware Customer Support.
Module: XVTTALRP
Explanation: An error was reported while issuing a CSS-SLS Set View call.
Module: XVTTAMNT
User Response: Create a new dataset and rerun the job. If the job fails, contact Compuware
Customer Support.
Code Coverage Messages A-11
Module: XVTTAHRD
Explanation: An update of the repository dataset has failed. A segment is missing.
Module: XVTTAENQ
Explanation: None
Module: XVTTADEL
Explanation: None
Module: XVTTADEL
XVTT1080E EITHER KEYWORD DPGM OR KEYWORD DTXN CAN BE SPECIFIED FOR TYPE=F
Module: XVTTADEL
Explanation: An incorrect keyword is specified for TYPE=F.
XVTT1081E INCONSISTENT KEYWORD(S) WITH TYPE=F AND BOTH KEYWORD PGM AND
KEYWORD TXN ABSENT
Module: XVTTADEL
Explanation: An inconsistent keyword with TYPE=F is specified and another keyword is
absent.
Module: XVTTADEL
Module: XVTTADEL
Explanation: The repository is incompatible with the current release of Code Coverage .
User Response: Contact Compuware Customer Support.
Explanation: An invalid parameter value has been found and the remaining parameter card
set values have been reset to the default values.
User Response: Contact Compuware Customer Support.
Module: XVTTADEL
Explanation: An attempt to delete a record was denied because the user did not have
sufficient authority to delete it. This is an installation restriction on the repository dataset that
was used.
User Response: Ensure that the STEPLIB contains the Code Coverage library.
User Response: Ensure that the STEPLIB contains the Code Coverage library.
Module: XVTTASFR
Explanation: A System Flow report request was made for system: XXXXXXXXXXXXXXX
Testid: YYYYYYYYYYYYYYY and Userid: ZZZZZZZZ, but nothing was found in the repository
matching this request.
User Response: Ensure the repository and selection criteria are correctly specified.
XVTT5001E ABEND xxxx OCCURRED IN MODULE yyyyyyyy AT +zzz. PLEASE SAVE SYSABEND
DUMP AND CONTACT COMPUWARE.
ADSIS320
User Response: Correct the JCL and run the convert again.
User Response: Correct the JCL and run the convert again.
Module: ADSIS320
Explanation: The identified DD statement has a parameter that could not be parsed.
User Response: Correct the JCL and run the convert again.
Module: ADSIS320
Code Coverage Messages A-13
Explanation: The identified DD statement has a parameter that has been repeated or
conflicts with another parameter.
User Response: Correct the JCL and run the convert again.
User Response: Correct the input JCL member and run convert again.
Module: ADSIS320
Explanation: One or more members could not be converted because of errors. Check log.
User Response: Check previous messages. Correct the JCL from the input members and run
convert again.
Module: ADSIS320
Explanation: This message verifies that no members were written to the output dataset.
User Response: Check previous messages for explanation of why convert failed. Correct
errors and run JCL convert again.
Module: ADSIS320
Explanation: This message confirms that the JCL convert was successful on all members.
User Response: None.
XVTT5010I MEMBER(S) HAVE BEEN CONVERTED FROM PDS(E) xxxx.xxxxxx, INTO PDS(E)
yyyy.yyyyyyy.
Module: ADSIS320
Explanation: Informational message to denote the input and output libraries.
XVTT5011I SUFFIX (R) INDICATES THAT OUTPUT PDS(E), MEMBER HAS BEEN REPLACED BY
CONVERTED ONE.
Module: ADSIS320
Explanation: One or more members already existed in the output dataset. Those members
which were replace are identified with the characters (R) following the name.
User Response: None
Module: ADSIS325
Explanation: The DDNAME, XXXXXX is required for processing and was either omitted or is
empty.
User Response: Correct the JCL and run the convert job again.
Explanation: The required DD, xxxxxxxx was not found in the JCL or had the wrong record
format or record length.
User Response: Correct the JCL and run the convert job again.
User Response: Correct the JCL and run the JCL convert again.
Explanation: The JCLIN DD statement must point to a PDS without the member name.
User Response: Correct the JCL and run the JCL convert again.
Module: ADSIS320
Explanation: The member, xxxxxxxx was not found in the dataset allocated to DD JCLIN.
User Response: Correct the JCL and run the convert job again.
Explanation: The member name does not start with an alphabetic or national character or
contains a character other than alphabetic, national, or numeric value.
User Response: Correct the member name in the JCL and run the job again.
XVTT5018E MEMBER xxxxxxxx WASN''T RECOGNIZED AS CONTAINING JOB JCL. MEMBER NOT
CONVERTED.
Module: ADSIS334
Explanation: The member xxxxxxxx appears to be a data member and does not contain valid
JCL.
User Response: Correct the member name and run the convert again.
XVTT5019E MEMBER xxxxxxxx INCLUDES XMIT WHICH ISN'T SUPPORTED AT THIS TIME.
MEMBER NOT CONVERTED.
XVTT5020E MEMBER xxxxxxxxx HAD JCL ERROR WHEN SUBMITTED WITH TYPRUN=SCAN.
MEMBER NOT CONVERTED.
Module: ADSIS334
Explanation: When the member xxxxxxxx was submitted to the internal reader with a
TYPRUN=SCAN parameter a JCL error occurred. This member can not be converted.
User Response: Correct the JCL error and run the convert again.
Explanation: The job region contained an insufficient amount of storage was available to
run the job.
User Response: Increase the region size of the job on the EXEC or JOB cards.
XVTT5022W NULL JCL STATEMENT ENCOUNTERED IN THE MIDDLE OF JCL STREAM OF MEMBER
xxxxxxxx. JCL CONVERTED UP TO THE FIRST OCCURRENCE OF NULL STATEMENT (//).
User Response: Verify that the null JCL statement is correctly placed in the member.
Code Coverage Messages A-15
Module: ADSIS320
Explanation: The number of directory blocks is too small to contain all of the members.
User Response: Reallocate the library with more directory blocks and run the convert again.
XVTT5024E JCL IN MEMBER xxxxxxxx SUBMITTED WITH TYPRUN=SCAN TIMED OUT. MEMBER
NOT CONVERTED.
Module: ADSIS334
Explanation: Members are submitted to the internal reader to resolve substitutions based on
variables. The output from the submitted job is read back in. Five minutes of elapsed time is
allowed to process the TYPRUN=SCAN job, but this time was exceeded for this member.
User Response: If a job class is available for faster processing, specify that class on the default
job card found in Code Coverage option 0.1.
Module: ADSIS334
Explanation: More than one Job card was read from member xxxxxxxx. The member was not
converted.
User Response: Correct the member and run the convert job again.
XVTT5026W OUTPUT OF JCL IN MEMBER member name SUBMITTED WITH TYPRUN=SCAN HAS
BEEN PURGED BEFORE IT COULD BE EXAMINED. MEMBER NOT CONVERTED.
Explanation: The JCL member is submitted through the internal reader to a batch initiator
to resolve JCL procedures, variable substitutions, etc. The output from the TYPRUN=SCAN job
was not found on the held output queue.
User Response: Ensure that the MSGCLASS on the default job card found in option 0.1,
contains a held message class.
XVTT5027E JOB SUBMITTED TO RETRIEVE IMS AND/OR DB2 CONTROL FILES FOR MEMBER
xxxxxxxx HAS TIMED OUT. MEMBER NOT CONVERTED.
User Response: If a job class is available for faster processing, specify that class on the
default job card found in Code Coverage option 0.1.
XVTT5028E I/O ERROR xxxx OCCURRED WHILE WRITING CONVERTED MEMBER yyyyyyyy TO
OUTPUT PDS(E) DESIGNATED BY DD zzzzzzzz.
Module: ADSIS321, ADSIS334
User Response: Refer to the IBM Messages and Codes documentation for guidance on this
abend. If unable to resolve the issue, Contact Compuware Customer Support.
Module: ADSIS334
Explanation: The member already exists in the output library and the REPLACE option was
set to NO.
User Response: Point to a different output dataset or change the replace option to YES.
Module: ADSIS334
A-16 Xpediter/Code Coverage Mainframe User/Reference Guide
Explanation: The dataset for DD xxxxxxxx, could not be opened for processing.
User Response: Ensure the dataset is properly allocated with the correct disposition on the
DD statement. Correct the JCL and run the convert JCL program again.
Explanation: The DD xxxxxxxx has incompatible attributes of DSORG, LRECL or RECFM. This
dataset can not be processed.
User Response: Correct the JCL and run the convert program again.
Module: ADSIS320
Explanation: The output queue dataset has invalid RECFM or DSORG.
XVTT5033E BATCH CONVERSION JOB NAME xxxxxxxx CAN'T BE THE SAME AS JOB NAME IN JCL
TO BE CONVERTED.
Module: ADSIS334
Explanation: None
Module: ADSIS320
Explanation: This is a warning message that the name member was not converted.
User Response: Previous error message should explain the problem. Correct the problem and
run the convert job again.
Explanation: None
User Response: Correct the JCL and run the job again.
User Response: Ensure that the dataset has proper characteristics and the disposition on the
DD card is appropriate.
User Response: Verify that the required ISPF libraries are allocated in the batch job.
XVTT5038E INVALID LENGTH RETURNED FROM READ MACRO PROCESSING MEMBER xxxxxxxx.
Module: ADSIS334
Explanation: The block length of the dataset did not correspond to the length of the actual
block read.
User Response: The member appears to be corrupted. Correct the member and run the
convert again.
Code Coverage Messages A-17
XVTT5040E ERROR - CONTROL BLOCK SCT ADDR NOT RETURNED BY SWAREQ FOR DD -
xxxxxxxx.
Explanation: The system macro, SWAREQ was invoked to return the address of the SCT
control block, but returned an invalid return code.
XVTT5041E ERROR - CONTROL BLOCK SIOT ADDR NOT RETURNED BY SWAREQ FOR DD -
xxxxxxxx.
Explanation: The system macro, SWAREQ was invoked to retrieve the address of the SIOT,
but returned an invalid return code.
Module: ADSIS320
Explanation: The REXX ENVBLOCK is required for processing and was not found.
Explanation: The JOB card for the JCL member was not found. The JOB card is required for
processing. The JCL was not converted.
User Response: Add a JOB card to the JCL member and run the JCL convert again.
A-18 Xpediter/Code Coverage Mainframe User/Reference Guide
Module: ADSIS334
Explanation: The STOW macro failed to add or replace the entry for the member in the PDS.
User Response: Ensure the correct dataset disposition was used on the DD card for JCLOUT
DD.
Module: ADSIS334
Explanation: When reading the output from the internally submitted job, the inserted lines
to mark the beginning data were not found.
Module: ADSIS334
Explanation: The JOBNAME on the JOB card cannot be longer than 8 characters.
User Response: Correct the JOB card and run the JCL convert again.
Explanation: The TSO module IKJCT441 was called to retrieve the job messages, but failed.
User Response: Contact Compuware Customer Support.
Explanation: The GENCB macro failed for the internal reader dataset.
User Response: Ensure the region size for the JCL convert program is large enough. Contact
Compuware Customer Support.
Explanation: The open macro failed for the internal reader dataset.
User Response: Contact Compuware Customer Support.
Explanation: The ENDREQ macro failed for the internal reader dataset.
Explanation: The output dataset does not have the proper characteristics.
Explanation: None
Explanation: The dataset name from the OUTPUT command could not be parsed.
User Response: Contact Compuware Customer Support.
Explanation: The TSO module, IKJCT441 was called to reset the SYSOUTLINE variable, but
returned with an bad return code.
Explanation: The TSO module, IKJCT441 was called to set the SYSOUTTRAP variable, but
returned with an bad return code.
Explanation: The TSO module, IKJCT441 was called to reset the SYSOUTTRAP variable, but
returned with an bad return code.
XVTT5065E IKJCT441 FAILED ON CALL TO GET NUMBER OF TRAPPED MSGS, RC= nnnnn
Explanation: The TSO module, IKJCT441 was called to return the trapped output messages,
but returned with an bad return code.
XVTT5066E IKJCT441 FAILED TO RETURN VALID NUMBER OF TRAPPED MSGS. RC= nnnnn
Module: ADSIS333
Explanation: An internal logic error was encountered.
Module: ADSIS320
Explanation: An undocumented error code was returned internally. Probable logic error.
XVTT5070E MEMBER xxxxxxxx CONTAINS A JOB RESTART WITH A CHECKPOINT. THIS IS NOT
SUPPORTED.
Module: ADSIS334
Explanation: A member was found with JCL that is not supported for JCL conversion.
Explanation: The TSO module IKJEFTSR was called to issue a profile command, but failed.
User Response: Contact Compuware Customer Support.
XVTT5072E IKJCT441 FAILED TO RETURN ANY TRAPPED MESSAGES FOR THE PROFILE
COMMAND.
Module: ADSIS333, ADSIS334
Explanation: The TSO module IKJCT441 was called to retrieve the TSO PROFILE messages,
but failed.
XVTT5073W THE PLANGUAGE PARAMETER COULD NOT BE FOUND IN THE TSO PROFILE
OUTPUT.
Explanation: The PLANGUAGE parameter could not be found in the TSO PROFILE output.
Module: ADSIS321
Explanation: Member xxxxxxxx was not converted because a program executed in the JCL was
either XPTSO or XPBATCH. It is then considered as being converted already. The member will
not be converted again.
User Response: None.
Code Coverage Messages A-21
CICS Messages
XVTC0001S TRUE ALREADY ACTIVE. UNABLE TO ENABLE TRUE.
Explanation: An attempt was made to start the CICS Code Coverage TRUE, and it was
already active.
System Action: Activation of CICS Code Coverage TRUE is terminated.
Module: XVTCCCIN
Module: XVTCCCIN
Explanation: An internal logic error was detected while trying to enable the CICS TRUE.
System Action: Activation of Code Coverage is terminated.
Module: XVTCCCIN
Explanation: An attempt to disable the CICS Code Coverage TRUE failed, because the TRUE
was not active.
Module: XVTCCCIN
Module: XVTCCCIN
Module: XVTCCCIN
Module: XVTCCCIN
Module: XVTCCCIN
User Response: Make sure the transaction defined in the XVTCGBL table for data hardening
is defined to CICS. The default transaction is XVKP.
Module: XVTCCCIN
User Response: Make sure the library that contains the module XVTCGBL is in the CICS
DFHRPL concatenation.
Module: XVTCCCIN
Module: XVTCCCIN
Explanation: CICS does not have enough shared storage for Code Coverage to initialize.
System Action: Activation of Code Coverage is terminated.
Module: XVTCCCIN
Module: XVTCCCIN
Explanation: A FIND command was issued with multiple operands, but the actual target of
the find (the string to be found) could not be derived from the operands entered.
System Action: FIND processing is terminated.
User Response: Review the parameters you have coded on the FIND command. The string
you wish to find should be enclosed either in quotes (") or apostrophes ('). This error is
routinely caused when you wish to find a number or numeric string and have also coded a
range of columns to be searched. Example: FIND 10 1 The command parser cannot determine
if you want to find the string '10' 'startingincolumn1', or the string '1' 'startingincolumn10'. To
A-24 Xpediter/Code Coverage Mainframe User/Reference Guide
correct the problem, enclose the string you wish to find within quotes or apostrophes, i.e.
FIND '10' 1 which will look for the string '10' beginning in column 1, or FIND 10 '1' which
will look for the string '1' beginning in column 10.
Module: FINDCMD in XVTCMGR.
Explanation: The XVTCIOS subtask has abnormally ended. Unable to start quiesce
transaction (default XVTQ).
User Response: Make sure the transaction defined in the XVTCGBL table for quiesce is
defined to CICS. The default transaction is XVTQ.
Module: XVTCTRUE
Explanation: The XVTCIOS subtask has abnormally ended. Starting the quiesce of Code
Coverage to harden the data and terminate Code Coverage.
Module: XVTCTRUE
User Response: Review the parameters entered for the command. If you are unsure of the
syntax of the command, you may enter HELP command where command is the name of the
primary command you are using. After reviewing the help text for the command, press PF3
(END) to return to the original screen you issued the command and reenter the command
using the correct syntax.
Explanation: A FIND ALL command has detected multiple occurrences of the string
requested. xxxxxxx will be the number of occurrences of the string found.
System Action: The cursor will be positioned to the first occurrence of the string requested.
User Response: None.
Explanation: The command parser has detected that the primary command contains more
parameters than are allowed.
System Action: Command parsing will be terminated and the command entered on the
command line will be redisplayed.
User Response: Review the parameters entered for the command. If you are unsure of the
syntax of the command, you may enter HELP command where command is the name of the
primary command you are using. After reviewing the help text for the command, press PF3
(END) to return to the original screen you issued the command and reenter the command
using the correct syntax.
System Action: Command processing is terminated. The commands entered in the command
field will be redisplayed.
User Response: Stacking of commands (entering multiple primary command in the
command line) is not supported while displaying help for the product. The commands entered
will be redisplayed in the command line. Remove extraneous commands from the command
line and press Enter to reexecute the command.
Module: XVTCMGR.
User Response: Review the value entered in the command line and correct to match one of
the menu selection items displayed.
Module: XVTCMGR
Explanation: A transfer (=) command was issued with an invalid screen identifier.
System Action: Command processing is terminated. The value entered in the command line
will be redisplayed.
User Response: Review the value entered in the command line and correct it.
Module: XVTCMGR
Explanation: An unrecognized primary command was issued and the command parser
interpreted it as being a transfer.
System Action: Command processing is terminated. The value entered in the command line
will be redisplayed.
User Response: Review the value entered in the command line and correct it. You may type
HELP COMMANDS in the primary command field to display a list of valid primary
commands.
Module: XVTCMGR
System Action: The call will be terminated and a shortened list of specifications will be
displayed.
User Response: Note the hexadecimal return code displayed and contact Xpediter/CICS
Code Coverage Customer Support.
Module: XVTCP1. The call in error is XVTCCALL GETLIST.
Explanation: A line command was issued against a specification which is not currently in
Quiescing or Collecting status.
User Response: Review the line command used for this specification. Because the
specification is not in Quiescing or Collecting status, the command cannot be used.
Module: XVTCP1
User Response: Clear the line command field and press Enter to refresh the display. If the
specification disappears from your display, another user deleted the specification before your
request was processed. If the specification remains displayed, ensure the status is "Incomplete"
or "Available", and attempt the delete again. If it fails again, contact Xpediter/CICS Code
Coverage Customer Support.
Module: XVTCP1. The call being issued is XVTCCALL REMTEST.
Explanation: A delete system (DS) line command was issued to delete a set of specifications
sharing the same system name and the request failed. One or more specifications may have
been deleted by another user before your request was made or an internal error occurred while
processing your delete.
Explanation: A start line command (SC, SF, or SB) was issued and no system name was
specified or an attempt was made to add a specification and no system name was entered.
Module: XVTCP1
Explanation: A start line command (SC, SF, or SB) was issued and no test name was specified
or an attempt was made to add a specification and no test name was entered.
User Response: Review the specification being added or started and ensure that the test name
has been filled in.
Module: XVTCP1
Explanation: The system and test names have been entered for a new specification, but
during the add request, an internal error was detected.
Explanation: The system and test names have been entered for a new specification, but
during the add request, a specification with the same system and test name was detected.
Explanation: An internal logic error was detected while trying to start coverage for a
specification. The SC, SF, or SB line command issued a call to the activation routine which
could not detect a request byte in the parameter list.
Explanation: The status of a specification must be "Available" in order to use the SC, SF, or SB
line command to start collection. The current status is "Incomplete".
System Action: Processing of the start request is terminated.
User Response: Use the S line command to transfer to the transfer to the Test
Definition/Collection Specification screen to complete the specification.
Module: XVTCP1
Explanation: An internal error was detected during the processing of a specification. The
system was attempting to dequeue on the system name but was unable to complete the
dequeue.
Module: XVTCP1. The call being made was either a XVTCCALL ACTTEST, XVTCCALL
RETSTAT, XVTCCALL SETSTAT, or XVTCCALL HOLDTEST.
Module: XVTCP1. The call being made was either a XVTCCALL ACTTEST, XVTCCALL
RETSTAT, XVTCCALL SETSTAT, or XVTCCALL HOLDTEST.
Explanation: An internal error was detected during the processing of specification. The
system was attempting to dequeue on the system name chain but was unable to complete the
dequeue.
A-28 Xpediter/Code Coverage Mainframe User/Reference Guide
Explanation: An internal error was detected during the processing of specification. The
system was attempting to enqueue on the system name chain but was unable to complete the
enqueue.
Module: XVTCP1. The call being made was either a XVTCCALL ACTTEST, XVTCCALL
RETSTAT, XVTCCALL SETSTAT, or XVTCCALL HOLDTEST.
Explanation: An internal error was detected during the processing of specification. The
system was attempting to locate an entry for the test name but was unable to find it.
Explanation: The status of a specification must be "Collecting" in order to use the H (Halt)
line command to halt collection.
System Action: Processing of the halt request is terminated.
User Response: Remove the line command from the specification in error.
Module: XVTCP1
Explanation: The status of a specification must be "Available" in order to use the SC, SF, or SB
line command to start collection. The current status is "Quiescing".
Module: XVTCP1
Code Coverage Messages A-29
Explanation: The status of a specification must be "Available" in order to use the SC, SF, or SB
line command to start collection. The current status is "Collecting".
Module: XVTCP1
Explanation: An internal logic error was detected while modify the status of a specification.
A call was issued to the set status routine which could not detect a parameter list.
Explanation: An internal logic error was detected while modify the status of a specification.
A call was issued to the set status routine which could not detect a system name being passed
in the parameter list.
System Action: Processing of the start request is terminated.
User Response: Contact Xpediter/CICS Code Coverage Customer Support.
Module: XVTCP1. The call being issued is XVTCCALL SETSTAT.
Module: XVTCP1.
Module: XVTCP1
A-30 Xpediter/Code Coverage Mainframe User/Reference Guide
Explanation: A D (Delete) line command was used on a specification which has already been
determined to be a duplicate of another.
Module: XVTCP1
Explanation: An internal logic error was detected while acquiring the status of a
specification. A call was issued to the return status routine which could not detect a parameter
list.
Explanation: An internal logic error was detected while acquiring the status of a
specification. A call was issued to the return status routine which could not detect a test
identifier being passed in the parameter list.
System Action: Processing of the request is terminated.
User Response: Contact Xpediter/CICS Code Coverage Customer Support.
Module: XVTCP1. The call being issued is XVTCCALL RETSTAT.
Explanation: A V (Display Collection Activity) line command was used, which would link to
module XVTCP1B. Module XVTCP1B could not be found in the DFHRPL concatenation.
Module: XVTCP1A
Explanation: The user name being entered in the include/exclude user mask does not
contain a valid character.
Module: XVTCP1A
Module: XVTCP1A
Explanation: The user name entered matches a user name already entered.
Module: XVTCP1A
Module: XVTCP1A
Explanation: An internal logic error was detected while attempting to add an include user to
a specification. No userid was passed to the add include user routine.
Explanation: An internal logic error was detected while attempting to add a user to a
specification. The maximum number of include or exclude users was exceeded.
Explanation: An internal logic error was detected while attempting to modify a specification.
The processing routine detected that the specification was not in "Incomplete" or "Available"
status.
User Response: You are attempting to modify a specification that is not in "Incomplete" or
"Available" status. Remove any changes and press PF3 (END command) to return to the
previous screen.
Module: XVTCP1A.
Explanation: An internal logic error was detected while attempting to add an include user to
a specification. The ADDIUSER routine detected that no system name was being passed.
Explanation: An internal logic error was detected while attempting to add an include user to
a specification. The ADDIUSER routine detected that no test identifier was being passed.
Explanation: An internal logic error was detected while attempting to add a user to a
specification. The return code from the processing routine was not recognized by the calling
routine.
Module: XVTCP1A
Explanation: An internal logic error was detected while attempting to add an exclude user to
a specification. The add exclude user routine could not detect a parameter list being passed to
it.
Explanation: An internal logic error was detected while attempting to add an exclude user to
a specification. The add exclude user routine could not detect a system name being passed to
it.
Module: XVTCP1A
Explanation: A mask must include a transaction, program, and CSECT entry. The program
portion of the mask was not filled in.
Explanation: A mask must include a transaction, program, and CSECT entry. The CSECT
portion of the mask was not filled in.
Module: XVTCP1A
Module: XVTCP1A
A-34 Xpediter/Code Coverage Mainframe User/Reference Guide
Module: XVTCP1A.
Module: XVTCP1A
Module: XVTCP1A.
Code Coverage Messages A-35
Module: XVTCP1A
Module: XVTCP1A
Module: XVTCP1A
Explanation: A specification requires at least 1 Include User and 1 Include Mask in order to
complete the specification. No include user entry has been entered.
User Response: Ensure you enter an include user entry for the specification.
Module: XVTCP1A
A-36 Xpediter/Code Coverage Mainframe User/Reference Guide
Explanation: A specification requires at least 1 Include User and 1 Include Mask in order to
complete the specification. No include mask has been entered.
Module: XVTCP1A
Module: XVTCP1A
Explanation: An internal error occurred. A module has called the message routine with
message number 108, but no message has been assigned to this number.
System Action: Processing of the request is terminated.
Module: Unknown.
Module: XVTCP1C
Module: XVTCP1C
Module: XVTCP1C
Module: XVTCP1C
Module: XVTCP1C
Module: XVTCP1C
A-38 Xpediter/Code Coverage Mainframe User/Reference Guide
Explanation: No program/CSECT entries for the program and/or CSECT mask were found in
the Code Coverage program inventory.
Module: XVTCP1C
Explanation: No transaction has been defined to CICS that matches the trans- action portion
of the mask being validated.
User Response: Make sure that you have specified the correct transaction mask.
Module: XVTCP1C
Module: XVTCP1C
Explanation: No load module was found in the CICS DFHRPL concatenation that matches
the program portion of the specification mask being validated.
System Action: Validation of the specification will continue.
User Response: Make sure that you have specified a correct program, and that the program
has been defined and is available to this CICS region.
Module: XVTCP1C
Module: XVTCP1C
User Response: Make sure that you have specified a correct program/CSECT. Also make sure
that the Code Coverage program inventory has been properly populated.
Module: XVTCP1C
Explanation: The CSECT date and time from the Program Inventory for the mask being
validate has no match in the LOAD module.
User Response: Make sure that you have specified the correct CSECT name. Also make sure
that the correct version of the program has been link edited/bound into a library in the CICS
DFHRPL concatenation.
Module: XVTCP1C
Explanation: No matching entry could be found in the Code Coverage program inventory
for the mask being validate.
User Response: Make sure that you have specified the correct program and/or CSECT names.
Make sure you populate the Code Coverage program inventory with this program.
Module: XVTCP1C
User Response: Make sure that you have specified the correct program and/or CSECT names.
Make sure you have processed the program with the Compuware Shared Services Language
processor and populated the Code Coverage program inventory with this program.
Module: XVTCP1C
User Response: This program/CSECT will not have collection data accumulated if the
collection flag is off. If you wish to collect data for the program/CSECT, you must run the
program inventory population utility and set the collection flag to on.
Module: XVTCP1C
Explanation: A transfer command (=) was entered, but the screen identifier did not identify
a valid screen.
Module: XVTCMGR
Explanation: A PF (program function) key was pressed, but that key is either not defined or
not active on the current screen.
System Action: The current screen is redisplayed.
Module: XVTCMGR
Explanation: A PF (program function) key was pressed, but that key is not active on the
current screen.
Module: XVTCMGR
A-40 Xpediter/Code Coverage Mainframe User/Reference Guide
Explanation: A scrolling command caused a scroll beyond the first line of data to be
displayed.
System Action: The display will begin with the first line of data.
User Response: None.
Module: XVTCMGR
Explanation: The value specified for a scrolling amount was invalid. Valid scroll values are
PAGE, HALF, CSR, MAX or nnnn where nnnn is a value between 1 and 9999.
Module: XVTCMGR
User Response: Use this link to get a list of valid primary commands and reenter a valid
primary command.
Module: XVTCMGR
Explanation: The primary command you entered is not available on this screen.
System Action: The current screen is redisplayed.
Module: XVTCMGR
Explanation: An internal error was detected by the messaging program. A message number
was passed for which no message text exists.
Explanation: A primary command was entered with one or more operands that conflict or
are inconsistent with the function requested. Use this link to get a list of primary commands
and from this list select the command you entered to examine the correct operands.
System Action: The current screen is redisplayed.
User Response: Reenter the command and operands.
Module: XVTCMGR
System Action: The screen display will be adjusted to display the last line of data available.
Explanation: A scrolling command caused a scroll beyond the first line of data to be
displayed.
System Action: The display will begin with the first line of data.
Module: XVTCMGR
System Action: The current screen will be redisplayed using the default screen size.
Explanation: You have entered a line command that is not recognized on this screen.
System Action: The current screen will be redisplayed.
User Response: Remove or correct the line command in error.
Module: Various.
Explanation: A scrolling command caused a scroll beyond the first line or last line of data to
be displayed.
Explanation: You tried to use a scrolling command with the amount of MAX, but MAX is not
supported for the type of data being displayed.
Module: XVTCMGR
Explanation: You attempted to access a help module and either the help modules are not
installed or a help module could not be located for the help requested.
System Action: The screen will display the name of the help module requested.
A-42 Xpediter/Code Coverage Mainframe User/Reference Guide
User Response: 1) Contact your sites Xpediter/CICS Code Coverage support representative,
or 2) Contact Xpediter/CICS Code Coverage Customer Support and give them the message
number displayed and the type of help you were requesting.
Module: XVTCMGR
Module: XVTCMGR
Module: XVTCMGR
Module: XVTCMGR
User Response: Press PF1 for more information about using the help facility of
Xpediter/CICS. You may also use the HELP HELP primary command at any point in the
product or you may use this link for more information about the help subsystem.
Module: XVTCMGR
User Response: Correct the operand. For a list of commands and their operands use this link
or use the HELP COMMANDS primary command.
Module: XVTCMGR
System Action: Use the PF3 key or END command to redisplay the prior help screen.
User Response: Contact Xpediter/CICS Code Coverage Customer Support and advise them
on what sequence of help screens you were viewing.
Module: XVTCMGR
XVTC0150E XVTCMGR must run on a device that supports 3270 Data Streams
Explanation: An attempt was made to execute CICS Code Coverage screens from a terminal
(3270 display) whose screen size is less than 24 rows by 80 columns.
User Response: Ensure that you are attempting to run the CICS Code Coverage transactions
(XVCC or XVSC) from a device with a minimum screen size of 24 rows by 80 columns.
Module: XVTCMGR
XVTC0151E XVTCMGR must run on a device that supports 3270 Data Streams
Explanation: An attempt was made to execute CICS Code Coverage screens from a device
that does not support IBM 3270 data streams.
User Response: Ensure that you are attempting to run the CICS Code Coverage transactions
(XVCC or XVSC) from a device that supports 3270 data streams.
Module: XVTCMGR
XVTC0152E Internal error - Invalid archive record address passed from XVTCP2.
Explanation: An internal error was detected trying to browse the record whose address was
supposed to be passed to XVTCP1A.
System Action: The XVTCP1A screen is displayed with the error message and PF3 returns to
the XVTCP2 screen.
Module: XVTCP1A
Module: XVTCP1
Explanation: An I/O error was detected writing the test record to the XVTCSPEC file.
System Action: The current screen is redisplayed.
User Response: Verify that your XVTCSPEC file is defined correctly and has the correct CEDA
options.
Module: XVTCP1
Explanation: An I/O error was detected rewriting the test record to the XVTCSPEC file.
Module: XVTCP1
XVTC0156E Error occurred reading the test from the XVTCSPEC file.
Explanation: The selected record can not be read from the XVTCSPEC file. It may have been
deleted by a user with XVSC authority.
System Action: The current screen is redisplayed.
User Response: Verify if someone deleted that record or there is an I/O error accessing it.
Module: XVTCP2
XVTC0157E User does not have access to XVSC, so cannot do this delete.
Explanation: Users may only delete records from the XVTCSPEC file which contain their
userid UNLESS they have authority to run XVSC.
User Response: If this is a valid delete, ask your site for the authority to access the XVSC
transaction. Without it, users may only delete XVTCSPEC records that they created (userids
will match).
Module: XVTCP2. Query security failed for current user.
XVTC0158E Duplicate test name when issuing a Load from ARCHIVE dataset.
Explanation: The system and test names have been entered for a new specification, but
during the add request, a specification with the same system and test name was detected as
already available.
Module: XVTCP2
Explanation: An internal logic error was detected while trying to start coverage for a
specification. The SC, SF, or SB line command was issued but the system name was not passed.
System Action: Processing of the start request is terminated.
User Response: Contact Xpediter/CICS Code Coverage Customer Support.
Module: XVTCP2
Explanation: The status of a specification must be "Available" in order to use the SC, SF, or SB
line command to start collection. The current status is "Incomplete".
User Response: Transfer to the Test Definition screen (=1) and enter the S line command to
transfer to the Test Definition/Collection Specification screen to complete the specification.
Module: XVTCP2
Code Coverage Messages A-45
Explanation: An internal error was detected during the processing of a specification. The
system was attempting to dequeue on the system name but was unable to complete the
dequeue.
Module: XVTCP2. The call being made was either a XVTCCALL ACTTEST or XVTCCALL
RETSTAT.
Module: XVTCP2. The call being made was either a XVTCCALL ACTTEST or XVTCCALL
RETSTAT.
Module: XVTCP2. The call being made was either a XVTCCALL ACTTEST or XVTCCALL
RETSTAT.
Explanation: An internal logic error was detected while trying to start coverage for a
specification. The SC, SF, or SB line command issued a call to the activation routine which
could not detect a parameter list.
System Action: Processing of the start request is terminated.
User Response: Contact Xpediter/CICS Code Coverage Customer Support.
Explanation: An internal error was detected during the processing of specification. The
system was attempting to locate an entry for the system name but was unable to find it.
Module: XVTCP2. The call being made was either a XVTCCALL ACTTEST or XVTCCALL
RETSTAT.
Explanation: The status of a specification must be "Available" in order to use the SC, SF, or SB
line command to start collection. The current status is "Quiescing".
Module: XVTCP2
XVTC0173E Add of test failed when issuing a Load from the Archive dataset.
Explanation: The system and test names from the Archived entry are being added, but
during the add request, an internal error was detected.
User Response: Repeat the request by pressing Enter, as another user may have been adding
or modifying a specification with the same system and test name. If the request fails again,
contact Xpediter/CICS Code Coverage Customer Support.
Explanation: The XVTCSPEC file does not contain any specifications. Tests may be added via
the Archive command on the Test Definition screen.
System Action: The Browse Specification Archive screen is displayed without any data.
User Response: Transfer to another screen and continue processing. Specifications may be
added and archived on the Test Definition screen and then viewed on this screen.
User Response: An asterisk is not allowed in the System Name field. Correct the System
Name.
Module: XVTCP1
User Response: An asterisk is not allowed in the Test Identifier field. Correct the test
identifier.
Code Coverage Messages A-47
Module: XVTCP1
User Response: Transfer to another screen and continue processing. Any function having to
do with archiving, may not be done until this is corrected.
Explanation: The XVTCSPEC file appears to have an I/O error. Check it out and determine if
it needs to be redefined.
User Response: Determine if the XVTCSPEC file must be deleted and redefined.
Module: XVTCP2. All keys previously on the file will not be displayed.
Module: XVTCCCIN
Explanation: An internal logic error has occurred in module XVTCCCIN. The XVTCEXTR
dataset could not be opened.
System Action: Code Coverage startup is aborted.
User Response: Contact your Xpediter/Code Coverage administrator. An error occurred while
attempting to open the XVTCEXTR dataset. The dataset may not have been defined properly
or no dataset has been associated with the file either through resource definition or in the
CICS startup JCL.
Module: XVTCCCIN
Explanation: An internal logic error has occurred in module XVTCCCIN. The XVTCEXTJ
dataset could not be opened.
A-48 Xpediter/Code Coverage Mainframe User/Reference Guide
User Response: Contact your Xpediter/Code Coverage administrator. An error occurred while
attempting to open the XVTCEXTJ dataset. The dataset may not have been defined properly or
no dataset has been associated with the file either through resource definition or in the CICS
startup JCL.
Module: XVTCCCIN
Explanation: An internal logic error has occurred in module XVTCCCIN. The CICS SPOOL
facility could not be opened.
System Action: Code Coverage startup is aborted.
User Response: Contact your Xpediter/Code Coverage administrator. An error occurred while
attempting to open the CICS SPOOL facility. CICS SPOOL is required by Xpediter/Code
Coverage in order to harden collected data. The facility has not been defined to CICS or has
been defined incorrectly.
Module: XVTCCCIN
Module: XVTCCCIN
Explanation: An internal logic error has occurred in module XVTCCCIN. A call to the
Xpediter/Code Coverage TRUE (XVTCTRUE) could not be made because the address of the
Xpediter/Code Coverage resource manager was not passed during the Code Coverage enable
call.
Module: XVTCCCIN
Explanation: A V (View) line command was entered on a specification that is currently only
collecting System Flow data. The V line command is not valid if only System Flow collection is
being done.
Module: XVTCP1
Code Coverage Messages A-49
Explanation: You have entered a V line command for either an Include User, Exclude User, or
Exclude Mask. The V line command is invalid for these entries, i.e. it is only valid for Include
Masks.
Module: XVTCP1A
Explanation: You have entered a V line command for an Include Mask which is empty (no
data entered).
Module: XVTCP1A
Explanation: The XVTCSPEC file cannot be opened at this time. Check the CICS log to
determine the problem. If the file is shared with another CICS region, ensure that it was not
left open for update, delete, or add in that region.
System Action: The Specification Archive file cannot be updated at this time.
System Action: The current screen is redisplayed with the delete in error.
Explanation: The key (or generic key) entered with the LOCATE command does not exist on
the XVTCSPEC file. You must enclose the key in single quotes if it contains spaces.
System Action: The screen is redisplayed with the next sequential key in the file at the top of
the screen. If no key is entered, the screen will start with the first key on the file positioned at
the top.
User Response: Verify that you are trying to LOCATE a key that exists on the file and have
enclosed it in single quotes if it contains spaces.
A-50 Xpediter/Code Coverage Mainframe User/Reference Guide
Module: XVTCP2
System Action: You have requested activation of another Code Coverage test while one is
still active. Your request is rejected.
User Response: Shut down Xpediter/CICS, change the XVTCGBL option COUNT to YES
(modify XVGBLINP overrides if they are used or reassemble and link the module XVTCGBL),
then restart Xpediter/CICS.
Module: XVTCP1 or XVTCP2
System Action: You have requested activation of System Flow. Your request is rejected.
User Response: Shut down Xpediter/CICS, change the XVTCGBL option COUNT to YES
(modify XVGBLINP overrides if they are used or reassemble and link the module XVTCGBL),
then restart Xpediter/CICS.
Module: XVTCP1 or XVTCP2
Explanation:
User Response:
Module: XVTCUTIL
Explanation: The PARM= on the jobs EXEC statement contained an unrecognized value.
aaaaaaaa is the value in error.
User Response: Ensure EXEC statement contains a valid value for PARM=.
Module: XVTCUTIL
Explanation: An internally loaded Code Coverage module has been determined to contain
an invalid module header. aaaaaaaa is a Code Coverage module.
Module: XVTCUTIL
Explanation: An internally loaded Code Coverage module has been determined to contain
an invalid module name. aaaaaaaa is the load module name. bbbbbbbb is the actual name
found.
System Action: Processing is terminated.
Module: XVTCUTIL
Module: XVTCUTIL
User Response:
Module: XVTCUTIL
User Response: See IOS return codes for a detailed description. Correct the error and rerun
job.
Module: XVTCUTIL
Module: XVTCUTIL
XVTC1095E Code Coverage requires a minimum operating system release of OS/390 2.5.0.
Explanation: The Code Coverage product is only supported on platforms running OS/390
2.5.0 or later.
User Response: Ensure the operating system on the active machine or LPAR is OS/390 2.5.0
or later. If not, rerun the job on an LPAR which is running a supported OS/390 release. If the
problem persists, contact Code Coverage Customer Support.
Module: XVTCUTIL
Explanation: An abend has occurred in a module outside of Code Coverage. aaaa is the
abend and reason code. bbbbbbbb is the failing module. cccccccc is the failing service. The failing
service will normally be an MVS service (e.g. OPEN, BLDL, LOAD, etc.).
System Action: Processing is terminated.
User Response: If an MVS service is provided, refer to the proper IBM documentation for the
supplied abend code. For example, “Abend S878 occurred in XVTCPOP (BLDL)” would indicate
a larger region size may be required. Correct the error and rerun job. If the problem persists,
contact Code Coverage Customer Support.
Module: XVTCUTIL
Explanation: An abend has occurred within a Code Coverage module. aaaa is the abend and
reason code. bbbbbbbb is the failing module. xxxx is the offset into the failing module.
Code Coverage Messages A-53
Module: XVTCUTIL
Explanation: This message reports the total number of successfully processed programs. ####
is the number of members processed.
Explanation: A non-zero return code has been returned from a command processor.
aaaaaaaa is module in error. xxxx is the module’s return code. This message will normally be
preceded by an error message which provides a more detailed description of the actual
problem.
System Action: Processing for the command is terminated. Processing continues with the
next control statement.
User Response: Refer to preceding message(s) to determine the detailed cause of the error.
Correct the error and rerun the job.
Explanation: IOS has detected an error condition. ## is the IOS function code. xxxx is the
function’s return code. yyyy is the function’s reason code.
System Action: Processing is terminated. SYSPRINT will provide a report of any preceding
members that had been processed.
User Response: Normally, an IOS message will be printed to the JESMSGLG via WTO. If
available, refer to the IOS message for error description and correction. Correct the error and
rerun the job. If the problem persists or no additional message is provided, contact Code
Coverage Customer Support.
User Response: None. This message is produced when PARM=FULL is coded on the JCL EXEC
statement.
XVTC1121W aaaaaaaa failed for bbbbbbbb(cccccccc) Date: dddddddd Time: tttttttt - ssssssss.
Explanation: The named action has failed for the identified member. aaaaaaaa is the action
performed. bbbbbbbb is the load module. cccccccc is the CSECT name. dddddddd is the compile
date (ccyy/mm/dd) tttttttt is the compile time (hh:mm:ss) ssssssss is a detailed description.
System Action: Processing for the member is terminated. Processing continues with the next
member.
User Response: For DUPLICATE ENTRY, specify the REPLACE parameter on your COPY
statement (e.g. COPY * * * REPLACE). TOO LARGE FOR DATABASE usually indicates a full
Program Inventory File. Either delete some unneeded members or format a larger Program
Inventory file. For PROGRAM CRC VALIDATION ERROR indicates the IMPORT dataset has
been damaged during transport, and the specified member is not added to the Program
Inventory File. Retransmit or recreate the IMPORT dataset.
A-54 Xpediter/Code Coverage Mainframe User/Reference Guide
Explanation: A member level command has been executed against an empty Program
Inventory file. aaaaaaaa is the dataset name of the Program Inventory File.
System Action: The Utility Export/Import command processing has been aborted.
User Response: Increase the amount of storage available to the private area.
Module: XVTCUEXP, XVTCUIMP.
XVTC1141E Storage Obtain for DD Name Record Storage failed RC(return code)
Explanation: Allocation of Record storage for the specified DD failed.
System Action: The Utility Export/Import command processing has been aborted.
User Response: Increase the amount of storage available to the private area.
Module: XVTCUEXP, XVTCUIMP.
XVTC1142E Storage Obtain for CRC Parameter Area failed RC(return code)
System Action: The Utility Export/Import command processing has been aborted.
User Response: Increase the amount of storage available to the private area.
Module: XVTCUEXP, XVTCUIMP.
RC 16 Processing Errors
RSN 0 Invalid Parameter Area Identifier
RSN 4 Invalid Parameter Area Version
System Action: The Utility Export/Import command processing has been aborted.
User Response: Contact Code Coverage Customer Support.
System Action: For SYSPRINT or CONTROL, job processing is terminated. For CCCARDS,
command processing is terminated. Processing continues with the next control card.
User Response: Check JCL for proper specification for the required ddname. Rerun job.
Explanation: The ddname mentioned was determined to be a JES dataset. However, the JES
dataset definition does not allow proper processing mode (INPUT or OUTPUT). aaaaaaaa is the
DDNAME in error.
System Action: For SYSPRINT or CONTROL, job processing is terminated. For CCCARDS,
command processing is terminated. Processing continues with the next control card.
User Response: SYSOUT= defines a JES dataset for OUTPUT (e.g. //SYSPRINT DD
SYSOUT=*). JES datasets defined for INPUT are specified as DD * or DD DATA (e.g.
//CONTROL DD *). Correct JCL and rerun the job.
Explanation: An invalid record format (DCB=RECFM) has been specified for the ddname
mentioned. aaa is the detected record format. bbbbbbbb is the DDNAME in error.
System Action: For SYSPRINT or CONTROL, job processing is terminated. For CCCARDS,
command processing is terminated. Processing continues with the next control card.
User Response: Correct JCL so that the proper DCB attributes are specified. Rerun the job.
Module: XVTCUTIL, XVTCUGEN.
Explanation: OPEN processing for specified ddname did not complete successfully. aaaaaaaa
is the DDNAME in error.
A-56 Xpediter/Code Coverage Mainframe User/Reference Guide
System Action: For SYSPRINT or CONTROL, job processing is terminated. For CCCARDS,
command processing is terminated. Processing continues with the next control card.
User Response: When OPEN fails there are usually other messages which fully describe the
actual error. Check JESMSGLG and JESYSMSG for related error messages. Correct problem and
rerun the job.
Explanation: The dataset identified by ddname has been allocated with a DCB=LRECL= value
which is inconsistent with the required value. ### is the detected Logical Record Length.
aaaaaaaa is the DDNAME in error.
System Action: For SYSPRINT or CONTROL, job processing is terminated. For CCCARDS,
command processing is terminated. Processing continues with the next control card.
User Response: Reallocate the dataset using the required DCB attributes, or change the
ddname to reference a dataset defined with the required DCB attributes. Rerun the job.
System Action: For SYSPRINT or CONTROL, job processing is terminated. For CCCARDS,
command processing is terminated. Processing continues with the next control card.
User Response: Add a member name to the PDS defined in the jobstream. An existing
member will be overwritten. Otherwise, a new member will be created. Correct the JCL and
rerun the job.
Module: XVTCUTIL, XVTCUGEN.
System Action: The Program Inventory Utility command in progress will be suppressed.
Module: XVTCUTIL
Explanation: The Program Inventory Utility program DD has a dataset organization that is
invalid. Must be PS (Physical Sequential).
System Action: The Program Inventory Utility command in progress will be suppressed.
User Response: Contact Code Coverage Customer Support.
Module: XVTCUTIL
System Action: The Program Inventory Utility command in progress will be suppressed.
Code Coverage Messages A-57
Module: XVTCUTIL
System Action: The Program Inventory Utility command in progress will be suppressed.
User Response: Correct the specified DD statement and re-run the Program Inventory Utility
program.
Module: XVTCUTIL
System Action: The Program Inventory Utility IMPORT command in progress will be
suppressed.
User Response: Specify a non-empty Program Inventory Utility program Import dataset.
Module: XVTCUTIL
Explanation: The Program Inventory Utility program Import dataset has an invalid type
code at the specified record.
System Action: The Program Inventory Utility command in progress will be suppressed.
User Response: The Program Inventory Utility program Import dataset is invalid or has been
corrupted. Verify Program Inventory Utility program Export processing had completed
successfully and that no errors occurred when the dataset was transmitted to the target system.
Module: XVTCUTIL
Explanation: The Program Inventory Utility program Import dataset has an invalid sequence
number at the specified record.
System Action: The Program Inventory Utility command in progress will be suppressed.
User Response: The Program Inventory Utility program Import dataset is invalid or has been
corrupted. Verify Program Inventory Utility program Export processing had completed
successfully and that no errors occurred when the dataset was transmitted to the target system.
Module: XVTCUTIL
System Action: The Program Inventory Utility command in progress will be suppressed.
User Response: The Program Inventory Utility program Import dataset is invalid or has been
corrupted. Verify Program Inventory Utility program Export processing had completed
successfully and that no errors occurred when the dataset was transmitted to the target system.
Module: XVTCUTIL
Explanation: The Program Inventory Utility program Import dataset has an invalid Member
Record at the specified record.
System Action: The Program Inventory Utility command in progress will be suppressed.
User Response: The Program Inventory Utility program Import dataset is invalid or has been
corrupted. Verify Program Inventory Utility program Export processing had completed
successfully and that no errors occurred when the dataset was transmitted to the target system.
A-58 Xpediter/Code Coverage Mainframe User/Reference Guide
Module: XVTCUTIL
Explanation: The Program Inventory Utility program Import dataset has been truncated and
Import processing cannot complete.
System Action: The Program Inventory Utility command in progress will be suppressed.
User Response: The Program Inventory Utility program Import dataset is invalid or has been
corrupted. Verify Program Inventory Utility program Export processing had completed
successfully and that no errors occurred when the dataset was transmitted to the target system.
Module: XVTCUTIL
Module: XVTCUTIL
User Response: Refer to the preceding error message(s) to determine the detailed cause of the
error. Correct the error and rerun the job.
Module: XVTCUTIL
User Response: Using the detailed description, refer to the command syntax and correct the
error. Typically, the detailed description will state “REQUIRED PARM MISSING.” Some utility
commands (e.g. DELETE and COPY) required at least one parameter be specified. The single
parameter may be a wildcard.
Module: XVTCPCTL
User Response: Using the detailed description, refer to the command syntax and correct the
error. Verify correct spelling of command name and keyword value(s).
Module: XVTCPCTL
Explanation: A parameter value has been determined to be outside the defined range of
values. ssssssss is a detailed description.
System Action: Processing for the command is terminated. Processing continues with the
next control statement.
User Response: Using the detailed description, refer to the command syntax and correct the
error.
Code Coverage Messages A-59
Module: XVTCUFMT
User Response: Using the detailed description, refer to the command syntax and correct the
error. This error is usually a misspelling on the fourth parameter of a COLLECT or COPY
command.
User Response: Verify the defaulted value is satisfactory for your requirements. If not, specify
the keyword with your desired value and rerun the job.
Module: XVTCUFMT
User Response: The Date/Time Stamp is comprised of decimal digits and an optional
wildcard (asterisk) in the format of CCYYMMDDHHMMSS. The wildcard is recognized on the
last character only. Also, checks are made to ensure the validity of the Date/Time. For example,
19980631* is invalid because there are only 30 days during the month of June. Correct the
error and rerun the job.
Module: XVTCPOP
Explanation: The PARM= on the jobs EXEC statement contained an unrecognized value.
aaaaaaaa is the value in error.
User Response: Ensure EXEC statement contains a valid value for PARM=.
Module: XVTCPOP
User Response: Check JCL for proper specification for the required ddname. Rerun job.
Module: XVTCPOP
Explanation: The ddname mentioned was determined to be a JES dataset. However, the JES
dataset definition does not allow proper processing mode (INPUT or OUTPUT). aaaaaaaa is the
DDNAME in error.
User Response: SYSOUT= defines a JES dataset for OUTPUT (e.g. //SYSPRINT DD
SYSOUT=*). JES datasets defined for INPUT are specified as DD * or DD DATA (e.g.
//CONTROL DD *). Correct JCL and rerun the job.
Module: XVTCPOP
User Response: Correct JCL so that the proper DCB attributes are specified. Rerun the job.
Module: XVTCPOP
Explanation: OPEN processing for specified ddname did not complete successfully. aaaaaaaa
is the DDNAME in error.
Explanation: The failed BLDL which generates this message is attempting to locate the
named module within the TASKLIB, JOBLIB/STEPLIB, or LNKLST concatenation. The BLDL
service has several return codes (see IBM publication for more detail). xxxx represents the
actual BLDL return code. aaaaaaaa is the directory member to be located. The most common
return code is RC(4), which indicates the module to be located does not exist in the PDS/PDSE.
User Response: Ensure the named module can be located via the TASKLIB, JOBLIB/STEPLIB,
or LNKLST concatenation. Correct problem and rerun the job.
Module: XVTCLESD
Explanation: The BLDL list supplied in the message text is invalid. This internal error
typically results from the BLDL list specifying a private library, yet no DCB has been supplied.
aaaaaaaa is the BLDL module name. bbbbbb is the beginning TTR of the member. cc is the
concatenation number of the dataset. dd is location of the system DCB where the module was
found. ee is a name type flag.
Code Coverage Messages A-61
System Action: Depending on the module in error, processing may continue. However, if this
condition arises for XVTCVVMM, further processing will be terminated.
User Response: Rerun the job. If the problem persists, contact Code Coverage Customer
Support.
Module: XVTCLESD
Explanation: The dataset identified by ddname has been allocated with a DCB=LRECL= value
which is inconsistent with the required value. ### is the detected Logical Record Length.
aaaaaaaa is the DDNAME in error.
System Action: Processing is terminated.
User Response: Reallocate the dataset using the required DCB attributes, or change the
ddname to reference a dataset defined with the required DCB attributes. Rerun the job.
Module: XVTCPOP
Module: XVTCPOP
Explanation: A non-zero return code has been returned from a called subroutine. aaaaaaaa is
the module in error. xxxx is the module’s return code. This message will normally be preceded
by an error message which provides a more detailed description of the actual problem.
Explanation: The ERRET exit from a LOAD request has been taken. aaaaaaaa is module in
error. xxxx MVS LOAD system abend code. yyyy MVS LOAD reason code.
System Action: Processing is terminated for the current load module. Processing will
continue with the next load module.
User Response: Refer to the JESMSGLG and/or JESYSMSG for a contents supervisor message
detailing the error condition. Correct the load module in error or add an LMOD statement for
this member to the job’s EXCLUDE dataset. Rerun the job.
Module: XVTCDOIT
XVTC2012E DEFINE LMOD cannot be wildcarded when entered via JCL PARM=
Explanation: The DEFINE statement may be entered either through the CONTROL dataset or
via the JCL PARM=. Wildcards are not allowed in the load module (LMOD) name when entered
with the JCL PARM=.
System Action: Processing is terminated.
User Response: Correct the DEFINE statement in the JCL PARM= to conform to the required
syntax. Rerun the job.
Module: XVTCPOP
A-62 Xpediter/Code Coverage Mainframe User/Reference Guide
System Action: Processing is terminated for the current load module. Processing will
continue with the next load module.
User Response: There is an IBM publication which documents all API functions and their
return/reason codes. The information provided in this message should be used as an index to
locate more detail for the error encountered. Correct the problem as documented in the Binder
API reference. Or add the Load Module (or CSECT) to your EXCLUDES dataset. Rerun the job.
If the problem persists, contact Code Coverage Customer Support.
Module: XVTCLESD
System Action: Processing is terminated for the current load module. Processing will
continue with the next load module.
User Response: There is an IBM publication which documents all API functions and their
return/reason codes. The information provided in this message should be used as an index to
locate more detail for the error encountered. Correct the problem as documented in the Binder
API reference. Rerun the job. If the problem persists, contact Code Coverage Customer
Support.
Module: XVTCLESD
Explanation: Load modules residing in a standard PDS library are read sequentially in order
to extract ESD and IDR information. This message is produced when an End-of-Data condition
arises before all ESD and IDR information has been obtained. aaaaaaaa is member name.
bbbbbbbb is the DSNAME of the load library.
System Action: Processing is terminated for the current load module. Processing will
continue with the next load module.
User Response: This message may indicates a load module which has no control record(s).
More likely, is that an I/O error forced the EODAD routine to be driven. In either case, the
named load module should be excluded from Code Coverage processing. Also, the named load
module should be inspected for accuracy. This message may indicate a “problem module” in
your load library. Re-linkedit the load module or add an LMOD statement for this member to
the jobs EXCLUDE dataset. Rerun the job.
Module: XVTCLESD
Explanation: An unrecoverable error condition has been detected. aaaaaaaa is the name of a
module or subroutine. bbbbbbbb is the name of the process being attempted.
User Response: See prior message(s), or check JESMSGLG and JESYSMSG, for a complete
description of the error. This message is produced when PARM=FULL is coded on the JCL EXEC
statement.
Module: XVTCDOIT
Explanation: Processing has been bypassed for the named load module/CSECT combination.
aaaaaaaa is the load module name. bbbbbbbb is the CSECT name. No DEFINE statement was
found in the CONTROL dataset.
Module: XVTCDOIT
Explanation: The named load module and/or CSECT has been excluded from processing via
the EXCLUDE dataset. aaaaaaaa is the load module name. bbbbbbbb is the CSECT name.
User Response: None. This message is produced when PARM=FULL is coded on the JCL EXEC
statement.
Module: XVTCDOIT
User Response: See prior message(s), or check JESMSGLG and JESYSMSG, for a complete
description of the error. This message is produced when PARM=FULL is coded on the JCL EXEC
statement.
Module: XVTCDOIT
Explanation: Processing has been bypassed because no DEFINE statement exists for this load
module. aaaaaaaa is the load module name.
Module: XVTCDOIT
Explanation: The named load module/CSECT has been successfully processed. aaaaaaaa is
the load module name. bbbbbbbb is the CSECT name.
Explanation: The named load module/CSECT has been bypassed based on the language.
aaaaaaaa is the load module name. bbbbbbbb is the CSECT name.
System Action: None.
User Response: This information may be used to further refine the selection criteria set on
the DEFINE statement(s). Otherwise, this message is informational only.
Module: XVTCDOIT
User Response: This information may be used to further refine the selection criteria set on
the DEFINE statement(s). Otherwise, this message is informational only.
Module: XVTCDOIT
Explanation: This message reports the total number of successfully processed programs. ####
is the number of members processed.
XVTC2095E Code Coverage requires a minimum operating system release of OS/390 2.5.0.
Explanation: The Code Coverage product is only supported on platforms running OS/390
2.5.0 or later.
Module: XVTCPOP
Explanation: An internally loaded Code Coverage module has been determined to contain
an invalid module header. aaaaaaaa is a Code Coverage module.
Module: XVCTDRVR
Module: XVTCPOP
Explanation: An internally loaded Code Coverage module has been determined to contain
an invalid release stamp. aaaaaaaa is the load module name. xxxx is the actual release stamp.
Module: XVTCPOP
Explanation: An error has occurred during the ATTACH of a subtask. aaaaaaaa is the subtask
being ATTACHd. xxxx is the return code from the ATTACH service. The subtask will normally
be IOS. The IOS subtask represents the proprietary access method used to perform I/O against
the Program Inventory dataset.
User Response:
The MVS attach has failed for the IOS subtask. Search JESMSGLG and
RC 52 JESYSMSG for related error conditions and correct appropriately. If the
problem persists, contact Code Coverage Customer Support.
Contact Code Coverage Customer Support. Be prepared to collect
RC 56
documentation required to recreate the error. condition.
Module: XVTCPOP
User Response: See IOS return codes for a detailed description. Correct the error and rerun
job.
Module: XVTCPOP
Explanation: The named subtask has initialized successfully. aaaaaaaa is the subtask.
System Action: None.
User Response: None.
Module: XVTCPOP
Explanation: IOS has detected an error condition. ## is the IOS function code. xxxx is the
function’s return code. yyyy is the function’s reason code.
System Action: Processing is terminated. SYSPRINT will provide a report of any preceding
members that had been processed.
User Response: Normally, an IOS message will be printed to the JESMSGLG via WTO. If
available, refer to the IOS message for error description and correction. Correct the error and
rerun the job. If the problem persists or no additional message is provided, contact Code
Coverage Customer Support.
Module: XVTCDOIT
Explanation: An abend has occurred in a module outside of Code Coverage. aaaa is the
abend and reason code. bbbbbbbb is the failing module. cccccccc is the failing service. The failing
service will normally be an MVS service (e.g. OPEN, BLDL, LOAD, etc.).
System Action: Processing is terminated.
User Response: If an MVS service is provided, refer to the proper IBM documentation for the
supplied abend code. For example, “Abend S878 occurred in XVTCPOP (BLDL)” would indicate
a larger region size may be required. Correct the error and rerun job. If the problem persists,
contact Code Coverage Customer Support.
Module: XVTCPOP
Explanation: An abend has occurred within a Code Coverage module. aaaa is the abend and
reason code. bbbbbbbb is the failing module. xxxx is the offset into the failing module.
Module: XVTCPOP
User Response: Add the required DFHRPL DDcard to the jobstream and resubmit the job.
Module: XVTCBDIR
Explanation: Multiple DFHRPL DDcards were detected. Only one DFHRPL DDcard is allowed.
User Response: Remove the extra DFHRPL DDcard from the jobstream and resubmit the job.
Module: XVTCBDIR
Explanation: The dataset identified via the DFHRPL DDcard resides on an unsupported
device. The dataset should be on a DASD device.
User Response: Correct the DD card identified by the nn to a DSN that resides on a DASD
device.
Module: XVTCBDIR
Explanation: The dataset identified via the DFHRPL DDcard resides on an unsupported
DASD device type. The dataset should be on a DASD supported device.
User Response: Correct the DD card identified by the nn to a DSN that resides on a supported
DASD device.
Module: XVTCBDIR
Explanation: Processing for the dataset identified via the DFHRPL DDcard has encountered
an error performing a SWAREQ.
Module: XVTCBDIR
Module: XVTCBDIR
A-68 Xpediter/Code Coverage Mainframe User/Reference Guide
Explanation: The dataset identified via the DFHRPL DDcard is not a PDS or PDSE.
System Action: Processing is terminated.
User Response: Correct the DSN on the DD card identified by the nn to a DSN of a load
library and resubmit the job.
Module: XVTCBDIR
Explanation: The dataset identified via the DFHRPL DDcard has an invalid RECFM for a PDS
or PDSE.
User Response: Correct the DSN on the DD card identified by the nn to a DSN of a load
library and resubmit the job.
Module: XVTCBDIR
XVTC2309I DFHRPL+nn Dynamic Allocation failed RC(xx) S99ERROR (aa), S99INFO (bb)
Explanation: The dataset identified via the DFHRPL DDcard was unable to be dynamically
allocated. The dataset has an invalid RECFM for a PDS or PDSE.
System Action: Processing for this DFHRPL DDcard terminated.
User Response: Determine the reason for the allocation error using the return code. Correct
the reason for the error and resubmit the job.
Module: XVTCBDIR
Explanation: The dataset identified via the DFHRPL DDcard was unable to be opened for
processing.
System Action: Processing for this DFHRPL DDcard terminated.
User Response: Determine the reason for the open error using the return code. Correct the
reason for the error and resubmit the job.
Module: XVTCBDIR
Module: XVTCBDIR
Module: XVTCBDIR
Code Coverage Messages A-69
Explanation: READ processing caused an abend for the dataset identified for this DFHRPL
DDcard.
Module: XVTCBDIR
Explanation: Member processing caused an abend for the member identified for this DFHRPL
DDcard.
Module: XVTCBDIR
Explanation: CLOSE processing caused an abend for the dataset identified for this DFHRPL
DDcard.
Module: XVTCBDIR
Module: XVTCBDIR
Explanation: Dynamic de-allocation processing caused an abend for the dataset identified
for this DFHRPL DDcard.
Module: XVTCBDIR
A-70 Xpediter/Code Coverage Mainframe User/Reference Guide
XVTC2401E Storage Obtain for SLS Parameter Block length(aaaa) failed RC(xxxx)
User Response: Increase REGION parameter and rerun. If the problem persists, contact Code
Coverage Customer Support.
Module: XVTCISLS
Module: XVTCISLS
Module: XVTCISLS
System Action: Processing will continue, using only the first 99 SLSFnnn DD statements.
Module: XVTCISLS
Explanation: An invalid Source Listing File was detected while opening Compuware Source
Listing Support.
System Action: Message XVTC2010E will also be issued, and the XVTCPOP step will
terminate with RC=8.
User Response: Correct the invalid Source Listing File and rerun the job.
Module: XVTCISLS
System Action: Processing is terminated for the named CSECT. Processing continues with the
next CSECT.
User Response: Recompile and link-edit the program using the CSS Language Processor to
create an SLS member and add a date/time stamp to the load module. Rerun the job.
Code Coverage Messages A-71
Module: XVTCGVRB
Explanation: The Populater located an SLS member with the same name, but a different
date/time stamp. This implies the load module is not in sync with the SLS file. aaaaaaaa is the
load module name. bbbbbbbb is the CSECT name. cccccccc is the SLS member name.
“UNAVAILABLE” will appear when the date/time could not be determined from the load
module. All programs added to the Program Inventory must have a date/time stamp present in
the load module.
System Action: Processing is terminated for the named CSECT. Processing continues with the
next CSECT.
User Response: Recompile and link-edit the program using the CSS Language Processor to
create an SLS member and add a date/time stamp to the load module. Rerun the job.
Module: XVTCGVRB
XVTC2421I SLS OPEN failed RC(xxxx) for aaaaaaaa(bbbbbbbb) SLS Name(cccccccc) Load
Date/Time(mm/dd/yy hh.mm.ss)
Explanation: An error was encountered by the CSS Language Processor Interface. xxxx is the
return code from the CSS Language Processor Interface. aaaaaaaa is the load module name.
bbbbbbbb is the CSECT name. cccccccc is the SLS member name. “UNAVAILABLE” will appear
when the date/time could not be determined from the load module. All programs added to the
Program Inventory must have a date/time stamp present in the load module.
System Action: Processing is terminated for the named CSECT. Processing continues with the
next CSECT.
Module: XVTCGVRB
Module: XVTCGVRB
Module: XVTCGVRB
XVTC2427E Storage Obtain for SLS CLIST Block length(aaaa) failed RC(xxxx)
User Response: Increase REGION parameter and rerun. If the problem persists, contact Code
Coverage Customer Support.
Module: XVTCGVRB
A-72 Xpediter/Code Coverage Mainframe User/Reference Guide
Module: XVTCGVRB
User Response: If this CSECT contains no executable code, no action is necessary. Otherwise,
contact Code Coverage Customer Support.
Module: XVTCGVRB
Module: XVTCGVRB
User Response: Increase REGION parameter and rerun. If the problem persists, contact Code
Coverage Customer Support.
Module: XVTCADPI
XVTC2442E Storage Obtain for SLS Verb Block length(aaaa) failed RC(xxxx)
Explanation: Unable to obtain required storage area.
User Response: Increase REGION parameter and rerun. If the problem persists, contact Code
Coverage Customer Support.
Module: XVTCADPI
Module: XVTCADPI
Module: XVTCADPI
Module: XVTCTSLS
Explanation: An OPEN was issued for the EXCLUDES file but did not complete successfully.
File may be corrupted.
Module: XVTCECRD
Explanation: An LMOD exclude was encountered with an invalid name specified. The name
must not be greater than eight characters, begin with a numeric, or contain embedded
asterisks (only trailing allowed). Only the characters A-Z, 0-9, $, *, #, and @ are valid.
A-74 Xpediter/Code Coverage Mainframe User/Reference Guide
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
User Response: Correct record in error and restart processing.
Module: XVTCELMD
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
Explanation: An CSECT exclude was encountered with a invalid name specified. The name
must not be greater than eight characters, begin with a numeric, or contain embedded
asterisks (only trailing allowed). Only the characters A-Z, 0-9, $, *, #, and @ are valid.
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
User Response: Correct record in error and restart processing.
Module: XVTCECSE
Module: XVTCECSE
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
Module: XVTCCRDS
Explanation: The REPLACE record read does not specify YES or NO.
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
Module: XVTCREPL
Explanation: The REPLACE record read does not specify any operands. Valid operands are
YES or NO.
Code Coverage Messages A-75
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
User Response: Correct record in error and restart processing.
Module: XVTCREPL
Explanation: The timestamp does not contain all numeric characters or is not in the
following format: CCYYMMDDHHMMSS. All characters must be specified. Days must not
exceed what is valid for the specified month. Leap years are taken into consideration. Hours
must not exceed 23, and minutes and seconds must not exceed 59.
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
Module: XVTCDFIN
Explanation: A DEFINE record was read that specified something other than OVERRIDE after
the SLSMEMB data.
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
Explanation: A DEFINE record was read that specified a CSECT wildcard (*) and an SLSMEMB
name. This combination is not valid.
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
Explanation: A DEFINE record was read that specified an LMOD wildcard (*) and an
SLSMEMB name. This combination is not valid.
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
Module: XVTCDFIN
Explanation: A DEFINE record was read that specified a invalid SLSMEMB name. The name
must not be greater than eight characters, begin with a numeric, or contain any asterisks. Only
the characters A-Z, 0-9, $, #, and @ are valid.
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
A-76 Xpediter/Code Coverage Mainframe User/Reference Guide
Module: XVTCDFIN
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
Explanation: A DEFINE record was read that specified an invalid LMOD name. The name
must not be greater than eight characters, begin with a numeric, or contain embedded
asterisks (only trailing allowed). Only the characters A-Z, 0-9, $, *, #, and @ are valid.
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
User Response: Correct record in error and restart processing.
Module: XVTCDFIN
User Response: Try rerunning job. If the problem reoccurs, increase the region size on the
EXEC JCL statement and rerun job. If the problem persists, contact Code Coverage Customer
Support.
Module: XVTCADEF
Explanation: A DEFINE record was read that specified an LMOD name that has been
EXCLUDED.
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
Module: XVTCADEF
Explanation: A DEFINE record was read that is a duplicate of a previously processed DEFINE
card.
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
User Response: Try rerunning job. If the problem reoccurs, increase the region size on the
EXEC JCL statement and rerun job. If the problem persists, contact Code Coverage Customer
Support.
Module: XVTCACEX
User Response: Try rerunning job. If the problem reoccurs, increase the region size on the
EXEC JCL statement and rerun job. If the problem persists, contact Code Coverage Customer
Support.
Module: XVTCALEX
Explanation: An EXCLUDE LMOD record was read that is identical to a previously processed
EXCLUDE LMOD record.
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
Explanation: An EXCLUDE CSECT record was read that is identical to a previously processed
EXCLUDE CSECT record.
System Action: Record in error will be listed above message. Processing will terminate after
all records have been processed.
Module: XVTCACEX
Explanation: The JCL did not have a DD statement for the CONTROL file.
System Action: Processing will terminate.
User Response: Add the required JCL DD statement for the CONTROL file and resubmit the
job.
Module: XVTCCRDS
Explanation: An error has been encountered while trying to obtain the JFCB information for
the CONTROL file.
System Action: Processing is terminated.
User Response: Resubmit job. If the problem persists, contact Code Coverage Customer
Support.
A-78 Xpediter/Code Coverage Mainframe User/Reference Guide
Module: XVTCCRDS
Explanation: The CONTROL file is not defined as F or FB and/or does not have an LRECL of
80.
User Response: Define the CONTROL file correctly and resubmit the job.
Module: XVTCCRDS
Explanation: The JCL did not have a DD statement for the EXCLUDES file.
Module: XVTCECRD
Module: XVTCECRD
Explanation: A COLLECT record was read that specified something other than ON or OFF.
System Action: The record in error is displayed above this message. Processing will terminate
after all records have been processed.
User Response: Correct record in error and restart processing.
Module: XVTCCOLL
Explanation: A COLLECT record was read that did not specify any operands. Valid operands
are ON or OFF.
System Action: The record in error is displayed above this message. Processing will terminate
after all records have been processed.
User Response: Correct record in error and restart processing.
Module: XVTCCOLL
Module: XVTCP1
Explanation: CICS Code Coverage collection has been halted for the system name and
testid indicated in the message.
Module: XVTCP1
Explanation: CICS System Flow collection has been started for the system name and testid
indicated in the message.
System Action: None.
Module: XVTCP1
User Response: For XVAB abends follow the user response in the accompanying message. For
other abends, contact Code Coverage Customer Support. Have the dump available.
Module: XVTCEXTR
Explanation: CICS Code Coverage or System flow data has been written to the Code
Coverage extract dataset XVTCEXTR for the system name and testid indicated in the message.
If SUBMIT=YES has been specified in the Code Coverage global table XVTCGBL, then a job
will be submitted by Code Coverage to write this data to the Code Coverage repository.
“XVTC4001I Data Extraction Complete” will follow this message when all system
names/testids have been extracted by the extract command.
Module: XVTCEXTR
Explanation: Code Coverage for CICS has extracted data and a job optionally submitted to
write the extracted data to the Code Coverage repository. This message will be preceded by a
message of the same number detailing which system names/testid have been extracted. This
message can be suppressed to the console by the XVTCGBL module.
Module: XVTCEXTR
A-80 Xpediter/Code Coverage Mainframe User/Reference Guide
Explanation: While XVTCEXTR was running the TRUE XVTCTRUE was disabled. This should
never happen.
Module: XVTCEXTR
Module: XVTCEXTR
Module: XVTCEXTR
Module: XVTCEXTR
Explanation: An error was returned from an EXEC CICS SPOOLOPEN. This is most likely an
installation error. Code Coverage can optionally submit the data reformatting and transfer
utility when data is extracted. This requires the CICS SIT option SPOOL=YES. If you do not
want Code Coverage to submit this utility, change the global option SUBMIT.
Module: XVTCEXTR
XVTC4008E XVTCEXTR: ERROR ON FILE XXXXXXXX EIBFN aaaa RESP bbbbbbbb RESP2 ccccccc
Module: XVTCEXTR
User Response: Investigate the reason for the initiation of a second XVTCEXTR task.
Module: XVTCEXTR
Explanation: A VSAM error NNNN occurred opening file XXXXXXXX. Program XVTCEXTR
failed attempting to open the file. This is most likely because the file has been opened by
another job. Program XVTCEXTR made 8 additional attempts, 1 every minute, before
canceling the extract.
Module: XVTCEXTR
User Response: Investigate and take appropriate action. Errors in the reformatting and
transfer utility (program XVTTAHRD) are a possible cause. If necessary, XVTTAHRD can be
executed with PARM=RESET to force a reset of the file XVTCEXTR. Sample JCL is supplied in
SMXDSAMP member JCLCHRD.
Module: XVTCEXTR
Module: XVTCEXTR
User Response: This is probably and installation problem. Investigate the reason for return
code (EIBRCODE) of NNNN.
Module: XVTCEXTR
A-82 Xpediter/Code Coverage Mainframe User/Reference Guide
Explanation: The program XVTCEXTR is not authorized to issue an EXEC CICS INQUIRE.
System Action: XVAB abend. XVTCEXTR will restart.
Explanation: A data extraction was requested but no Code Coverage data was found to
extract.
Module: XVTCEXTR
User Response: Redefine the file XVTCEXTR with a record length of 32760.
Module: XVTCEXTR
Module: XVTCEXTR
Explanation: Written to console log to denote that the Global Table Override process has
begun.
User Response: None.
Severity: Informational
Explanation: Written to console log to denote that the Global Table Override process has
ended.
Severity: Error
Explanation: Written to console log to denote that the Global Table Override process cannot
continue, as program “XVTCGBL” (the Global Table) could not be loaded.
Code Coverage Messages A-83
User Response: No Xpediter/Code Coverage Global Table Override processing will take place.
Refer to the output from the IVP (Installation Verification Program) to determine the reason.
XVTC5003E Bypassing Xpediter/Code Coverage overrides. Input DD dddddddd missing from JCL.
Severity: Error
Explanation: Written to console log to denote that the Global Table Override input dataset
DD could not be found in the CICS startup JCL. dddddddd indicates the name of the DD that
was to be used.
User Response: No Xpediter/Code Coverage Global Table Override processing will take place.
Verify that the DD was properly added to the CICS startup JCL.
Explanation: Written to console log to denote that the Global Table Override input dataset
could not be opened. dddddddd indicates the name of the DD that was used.
User Response: No Xpediter/CICS Global Table Override processing will take place. Verify
that the dataset the DD points to is correct. Check the console log for additional system
messages that may indicate the cause of the error.
User Response: No Xpediter/Code Coverage Global Table Override processing will take place.
Correct the CICS startup JCL to point to a valid input dataset.
Severity: Error
Explanation: Written to console log to denote that the Global Table Override input dataset
was not defined as sequential. dddddddd indicates the name of the DD that was used.
User Response: No Xpediter/Code Coverage Global Table Override processing will take place.
The input dataset must be a sequential dataset or a member in a PDS or PDSE. Correct your
CICS startup JCL.
XVTC5007E Bypassing Code Coverage overrides. I/O error reading Input DD dddddddd.
Severity: Error
Explanation: Written to console log to denote that an I/O error occurred while reading the
Global Table Override input dataset. dddddddd indicates the name of the DD that was used.
User Response: No Xpediter/Code Coverage Global Table Override processing will take place.
Verify that the dataset the DD points to is correct. Check to ensure that the dataset is
sequential dataset, or a member in a PDS or PDSE. Check the console log for any additional
messages.
Severity: Error
Explanation: Written to console log to denote that the Global Table Override Report dataset
could not be dynamically allocated. dddddddd indicates the name of the DD that was used.
xxxxxxxx indicates the return code from dynamic allocation. yyyyyyyy indicates the reason
code from dynamic allocation.
User Response: Xpediter/CICS Global Table Override processing will continue, however no
printed report can be produced. Errors will continue to be written to the console. Ensure that
no DD exists in the CICS startup JCL for the ddname indicated in the message. Refer to the
IBM publication, MVS/ESA Application Development Guide - Authorized Assembler Language Programs,
document number GC28-1645 for an explanation of the return codes (RC=xxxxxxxx) and
reason codes (REAS=yyyyyyyy) that can be returned by dynamic allocation. If the ddname
specified conflicts with a current ddname in your CICS startup JCL, use one of the Report
Dataset override parameters discussed previously.
A-84 Xpediter/Code Coverage Mainframe User/Reference Guide
Severity: Error
Explanation: Written to console log to denote that the Global Table Override Report dataset
could not be opened. dddddddd indicates the name of the DD that was used.
User Response: Xpediter/Code Coverage Global Table Override processing will continue,
however, no printed report can be produced. Errors will continue to be written to the console.
Ensure that no DD exists in the CICS startup JCL for the ddname indicated in the message.
Refer to the console log for messages that may assist in determine the cause of this failure.
XVTC5010E No report produced. Correct SYSOUT DD and then use XVSI transaction.
Severity: Error
Explanation: Written to console log to denote that the Global Table Override Report could
not be produced. This is a result of one of the above errors that occurred during the Global
Table Override Report dataset dynamic allocation/open process.
User Response: Xpediter/Code Coverage Global Table Override processing will continue,
however no printed report can be produced. Correct the errors related to the Global Table
Override Report dataset as soon as possible.
User Response: None. The Global Table Override Report will be written to the ddname noted.
You may review the report by selecting this ddname in the SDSF hold or output queue.
Severity: Informational
Explanation: Written to console and printed report to denote that no Global Table Overrides
were processed.
User Response: Ensure that the dataset pointed to by the Global Table Override input DD is
correct. If the dataset is empty, add appropriate overrides as necessary. If no overrides are
required, this dataset may be left empty. If the Global Table Overrides were bypassed due to a
I/O error on the input DD (message XVTC5007E), correct the I/O error and reprocess the
overrides.
XVTC5020E Unable to continue Xpediter/Code Coverage override processing. Too many ABENDs.
Severity: Error
Explanation: An unacceptable number of abends has occurred while performing the
Xpediter/Code Coverage Global Table Override process.
User Response: This message is written to the console and the printed report. Contact
Xpediter/Code Coverage Customer Support.
Severity: Error
Explanation: Written to console log to denote that the Global Table Override Report dataset
could not be dynamically unallocated. dddddddd indicates the name of the DD that was used.
xxxxxxxx indicates the return code from dynamic unallocation. yyyyyyyy indicates the reason
code from dynamic unallocation.
Severity: Error
Explanation: Written to console log to denote that the Global Table Override process cannot
continue, as the wrong release of program “XVTCGBL” (the global table) was detected.
User Response: No Xpediter/Code Coverage Global Table Override processing will take place.
Refer to the output from the IVP (Installation Verification Program) to determine the reason.
XVTC8001E Code Coverage requires a minimum operating system release of OS/390 2.5.0.
Explanation: Code Coverage utilizes functions found on OS/390 2.5.0 and will not properly
operate on prior release of OS/390.
System Action: The IOS initialization is terminated.
Module: XVTCIOS
Explanation: Code Coverage dynamic storage handler management environment has failed
to initialize, R15 contains the return code from the dynamic storage handler and R0 contains
the corresponding reason code.
Allocation failures: Increase the amount of storage available to the private area.
Load failures: Resolve errors related to DSHSRVS load.
Recovery errors: Contact Code Coverage Customer Support.
Addressing mode errors: Contact Code Coverage Customer Support.
Module: XVTCIOS
User Response: Validate the Message Table Module has been properly link edited.
Module: XVTCIOS
Explanation: The Code Coverage Message Table Module module has an invalid message table
signature.
User Response: Validate the Message Table Module has been properly link edited.
Module: XVTCIOS
XVTC8012E Storage Obtain for Subtask Anchor Block length(length) failed RC(return code)
Explanation: Allocation of storage for the IOS subtask Anchor Block failed.
User Response: Increase the amount of storage available to the private area.
Module: XVTCIOS
XVTC8013E Storage Obtain for DCB Exit Storage Area length(length) failed RC(return code)
Explanation: Allocation of storage for the IOS subtask DCB Exit failed.
User Response: Increase the amount of storage available to the private area.
Module: XVTCIOS
XVTC8014E Storage Obtain for IOB Storage Area length(length) failed RC(return code)
Explanation: Allocation of storage for the IOS subtask IOB failed.
User Response: Increase the amount of storage available to the private area.
Module: XVTCIOS
XVTC8015E Storage Obtain for Thread Storage Area length(length) failed RC(return code)
Explanation: Allocation of storage for the IOS subtask Thread failed.
User Response: Increase the amount of storage available to the private area.
Module: XVTCIOS
XVTC8016E Storage Obtain for Lock Storage Area length(length) failed RC(return code)
Explanation: Allocation of storage for the IOS subtask Lock failed.
User Response: Increase the amount of storage available to the private area.
Module: XVTCIOS
XVTC8017E Storage Obtain for Request Storage Area length(length) failed RC(return code)
Explanation: Allocation of storage for the IOS subtask Request failed.
User Response: Increase the amount of storage available to the private area.
Module: XVTCIOS
XVTC8018E EVENTS create request for number entries failed Abend abend code
Explanation: Creation of the IOS Dispatcher ECB EVENTS table failed.
XVTC8019E EVENTS add request for control block address(address) failed Abend abend code
Explanation: Addition of the IOS Dispatcher control block ECB failed.
Module: XVTCIOS
A-88 Xpediter/Code Coverage Mainframe User/Reference Guide
XVTC8051E Storage Release for Request Storage Area address(address) length(length) failed
RC(return code)
Explanation: Deallocation of storage for the IOS subtask Request failed.
XVTC8052E Storage Release for Lock Storage Area address(address) length(length) failed
RC(return code)
XVTC8053E Storage Release for Thread Storage Area address(address) length(length) failed
RC(return code)
Module: XVTCIOS
XVTC8054E Storage Release for IOB Storage Area address(address) length(length) failed RC(return
code)
XVTC8055E Storage Release for DCB Exit Storage Area address(address) length(length) failed
RC(return code)
Explanation: Deallocation of storage for the IOS subtask DCB Exit failed.
XVTC8056E EVENTS delete request for address(address) failed Abend abend code
Explanation: An abend has been trapped in Procedure during the processing of MVS Function.
Module: XVTCIOS
XVTC8101E EVENTS wait request for address(address) failed Abend abend code
Explanation: An abend has been trapped in the IOS Dispatcher during the processing of an
MVS EVENTS request.
XVTC8102E EVENTS wait request for address(address) last(address) failed Abend abend code
Explanation: An abend has been trapped in the IOS Dispatcher during the processing of an
MVS EVENTS request.
Module: XVTCIOS
Module: XVTCIOS
XVTC8104W Invalid EVENTS table entry address(address) ECB(address) control block id identifier
(X’hexadecimal value’)
Explanation: The IOS Dispatcher has detected an invalid EVENTS table entry ECB for control
block identifier.
System Action: The IOS subtask is terminated.
Module: XVTCIOS
XVTC8151E Invalid Lock Resource Code(code) for function request for Thread(address)
Explanation: The IOS Lock Manager has detected an invalid Lock Resource code during the
processing of function request.
Module: XVTCIOS
XVTC8152E Function request for Resource Code(code) rejected for Thread(address), lock already
held Status(value)
Explanation: The IOS Lock Manager has rejected a function request for resource code because
the resource was already held.
XVTC8153E Function request for Resource Code(code) rejected for Thread(address), lock not held
Status(value)
Explanation: The IOS Lock Manager has rejected a function request for resource code because
the resource was not held.
Module: XVTCIOS
XVTC8154E Function request for Resource Code(code) failed for Thread(address), internal logic
error
Explanation: The IOS Lock Manager has rejected a function request for resource code because
of an internal logic error.
Module: XVTCIOS
XVTC8155E Function request for Resource Code(code) failed for Thread(address), Lock Queue
address(address) damaged
Explanation: The IOS Lock Manager function request for resource code failed because the Lock
Queue has been damaged.
Module: XVTCIOS
XVTC8156E Function request for Resource Code(code) failed for Thread(address), Lock Stack
address(address) damaged
Explanation: The IOS Lock Manager function request for resource code failed because the Lock
Stack has been damaged.
Module: XVTCIOS
XVTC8157E EVENTS add request for Lock address(address) failed Abend abend code
Explanation: Addition of the IOS Lock Manager Dispatcher Lock ECB failed.
Code Coverage Messages A-91
Explanation: An abend has been trapped in Procedure during the processing of MVS Function.
Module: XVTCIOS
Module: XVTCIOS
Module: XVTCIOS
XVTC8203E EVENTS create request for number entries failed Abend abend code
Explanation: Creation of the IOS Task Manager ECB EVENTS table failed.
System Action: The IOS subtask is terminated.
Module: XVTCIOS
XVTC8204E EVENTS add request for Thread address(address) failed Abend abend code
Explanation: Addition of the IOS Task Manager Thread ECB failed.
Explanation: An abend has been trapped in Procedure during the processing of MVS Function.
System Action: The IOS subtask is terminated.
Explanation: IOS Open has detected an invalid processing mode for the Program Inventory
open request.
Module: XVTCIOS
Module: XVTCIOS
Explanation: IOS Open has detected a non-DASD type for the Program Inventory DD
statement.
Explanation: IOS Open has detected dataset concatenation for the Program Inventory DD
statement which is not supported.
XVTC8305E Invalid device type for UCB name(UCB) class(type code) for DD name
Explanation: IOS Open has detected an invalid UCB type code (NON-DASD) for the Program
Inventory DD statement.
System Action: The Program Inventory dataset is not opened.
Explanation: IOS Open has detected that the Program Inventory dataset is allocated on
multiple DASD volumes which is not supported.
Code Coverage Messages A-93
Explanation: IOS Open has detected an incorrect dataset disposition for the Program
Inventory dataset.
Module: XVTCIOS
Explanation: IOS Open has detected an incorrect dataset record format for the Program
Inventory dataset.
Explanation: IOS Open has detected an incorrect combination of Logical Record Length and
Block Size for the Program Inventory dataset.
Module: XVTCIOS
Module: XVTCIOS
User Response: Reattempt the request after the Program Inventory dataset has been released.
Module: XVTCIOS
Module: XVTCIOS
Module: XVTCIOS
Explanation: IOS Open has received a non-zero return code from SWA Manager during
Program Inventory dataset open processing.
User Response:
Module: XVTCIOS
Explanation: IOS Open has received a non-zero return code from the ENQ service during
Program Inventory dataset open processing. RC 8 A previous request for control of the same
resource has been made for the same task. The task has control of the resource.
A previous request for control of the same resource has been made for the same task. The
RC 8
task has control of the resource.
A previous request for control of the same resource has been made for the same task. The
RC 14
task does not have control of the resource.
Environmental error. The limit for the number of concurrent resource requests has been
RC 18 reached. The task does not have control of the resource unless some previous ENQ or
RESERVE request caused the task to obtain control of the resource.
Module: XVTCIOS
Code Coverage Messages A-95
Module: XVTCIOS
XVTC8319E Storage Obtain for DD name control block length(length) failed RC(return code)
Explanation: IOS Open has received a non-zero return code from the Storage Obtain service
during Program Inventory dataset open processing for the specified control block.
Module: XVTCIOS
RC 4 All datasets were opened successfully, but one or more warning messages were issued.
At least one dataset (VSAM or non-VSAM) was not opened successfully, and the access
method control block was restored to the contents it had before OPEN was issued.
RC 8
Alternatively, if the dataset was already open, the access method control block remains
open and usable and is not changed.
A non-VSAM dataset was not opened successfully when a non-VSAM and a VSAM dataset
were being opened at the same time. The non-VSAM data control block was not restored
RC C
to the contents it had before OPEN was issued (and the dataset cannot be opened
without restoring the control block).
Module: XVTCIOS
Explanation: IOS Open has received a non-zero return code from TTR conversion service
(IECPCNVT) during Program Inventory dataset open processing.
The relative block address converts to an actual track address outside the extents defined
RC 4
in the DEB.
Module: XVTCIOS
Explanation: IOS Open has detected a format error for the Program Inventory dataset.
A-96 Xpediter/Code Coverage Mainframe User/Reference Guide
User Response: Verify the correct dataset name has been specified for the Program Inventory
DD statement and that the Program Inventory dataset has been successfully formatted.
Module: XVTCIOS
XVTC8323E Unsupported Program Inventory data set format version version for DD name
Explanation: IOS Open has determined that the Program Inventory dataset is not a
supported format.
User Response: Verify that the Program Inventory dataset has been upgraded to the current
IOS release.
Module: XVTCIOS
Explanation: IOS Open has received a non-zero return code from Close during error recovery
for Program Inventory dataset open processing.
Module: XVTCIOS
XVTC8325E Storage Release for DD name control block address(address) length(length) failed
RC(return code)
Explanation: IOS Open has received a non-zero return code from Storage Release for the
specified control block during error recovery for Program Inventory dataset open processing.
User Response: Correct errors related to previous messages and terminated Code Coverage
support.
Module: XVTCIOS
XVTC8327E DSNTYPE of EXTENDED not supported for DD name, DSNTYPE should be BASIC
Explanation: IOS Open has detected an unsupported DSNTYPE of “EXTENDED” for the
Program Inventory dataset.
System Action: The Program Inventory dataset is not opened.
User Response: Ensure the Program Inventory file is allocated with a DSNTYPE of “BASIC”.
Module: XVTCIOS
Explanation: IOS has determined the Program Inventory dataset is not available.
System Action: IOS processing has been suppressed.
Code Coverage Messages A-97
User Response: Retry IOS request. If the unavailable condition request persists, Contact Code
Coverage Customer Support.
Module: XVTCIOS
Explanation: IOS has determined the Program Inventory dataset DCB has an invalid control
block identifier.
Module: XVTCIOS
XVTC8333E Incorrect processing mode mode (X’hexadecimal value’) for DCB address(address)
Explanation: IOS has determined the Program Inventory dataset DCB has an invalid
processing mode.
Explanation: IOS has determined the Program Inventory dataset DCB has an invalid use
count.
Explanation: IOS has received a non-zero return code from the DEBCHK service for the
Program Inventory dataset DCB.
Either a) the DEB table associated with the job step does not exist; or b) the DEBTBLOF
RC 4 field of the DEB was set to zero or a negative number, or was larger than the DEB table;
or c) register 1 did not contain the same address as the DEB table entry.
RC 8 An invalid TYPE was specified.
RC C Your program was not authorized and TYPE was not VERIFY.
DEBDCBAD did not contain the address of the DCB (or ACB) that was passed to the
RC 10
DEBCHK routine.
RC 14 The AM value does not equal the value in the DEBAMTYP field.
RC 18 The DEB is not on the DEB chain and TYPE=ADD was specified.
RC 1C TYPE=ADD was specified for a DEB that was already entered in the DEB table.
RC 20 The DEB table exceeded the maximum size and TYPE=ADD.
Explanation: IOS Close processing has received a non-zero return code from TRKCALC
service during Program Inventory dataset close processing.
Module: XVTCIOS
A-98 Xpediter/Code Coverage Mainframe User/Reference Guide
Explanation: IOS Close processing has received a non-zero return code from Close service
during Program Inventory dataset close processing.
Module: XVTCIOS
XVTC8343W Storage Release for DD name address(address) length(length) failed RC(return code)
Explanation: IOS Close has received a non-zero return code from Storage Release for the
specified control block during Program Inventory dataset close processing.
Explanation: IOS Close has trapped an abend from DEQ service during Program Inventory
dataset close processing.
XVTC8351E Function for DCB address(address) failed RC(return code) CSW(channel status word)
SIOCC(IO command code) SENSE(IO sense code)
Explanation: IOS EXCP has received a non-zero return code from EXCP service during
Program Inventory dataset I/O processing.
Explanation: An abend has been trapped in Procedure during the processing of MVS Function.
Module: XVTCIOS
XVTC8401E Storage Obtain for control block length(length) failed RC(return code)
Explanation: IOS Format has received a non-zero return code from the Storage Obtain
service during Program Inventory dataset format processing for the specified control block.
System Action: The Program Inventory dataset format has been suppressed.
User Response: Increase the amount of storage available to the private area.
Module: XVTCIOS
Explanation: IOS Format has been unable to allocate the required number of extents for the
Program Inventory dataset during format processing.
System Action: The Program Inventory dataset format has been suppressed.
User Response: Change the dataset space allocation for the Program Inventory DD dataset.
Module: XVTCIOS
XVTC8403E ENQ for DCB address(address) QNAME(qname) RNAME(rname) failed RC(return code)
Explanation: IOS Resource Serialization has trapped an abend from ENQ during Program
Inventory dataset ENQ processing.
System Action: The IOS request has been suppressed.
User Response: Contact Code Coverage Customer Support.
Module: XVTCIOS
Explanation: IOS Resource Serialization has trapped an abend from DEQ during Program
Inventory dataset DEQ processing.
System Action: The IOS request has been suppressed.
User Response: Contact Code Coverage Customer Support.
Module: XVTCIOS
Module: XVTCIOS
Module: XVTCIOS
User Response: A common cause for this failure is that write access to file XVTCEXTR is not
permitted. Ensure that Code Coverage users have write access to XVTCEXTR. Otherwise,
obtain a dump and contact Code Coverage Customer Support.
A-100 Xpediter/Code Coverage Mainframe User/Reference Guide
Module: XVTCP1
Abends
XVAB
Explanation: A previous message was issued. The message number is also in register 2 in the
dump.
XVCM
XVTC3nnns date time applid userid action System Name= name TESTID=testid.
XVTC3001I 03 Nov 2003 10:24:42 H01AC093 PFHKJR01 Code Coverage started for
System Name=xxxxxxxxxxxxxxx Testid=yyyyyyyyyyyyyyy.
XVTC3002I 03 Nov 2003 10:24:42 H01AC093 PFHKJR01 Code Coverage halted for
System Name=xxxxxxxxxxxxxxx Testid=yyyyyyyyyyyyyyy.
SC (Start Coverage)
XVTC3001I 03 Nov 2003 10:24:42 H01AC093 PFHKJR01 Code Coverage started for
System Name=xxxxxxxxxxxxxxx Testid=yyyyyyyyyyyyyyy.
XVTC3003I 03 Nov 2003 10:24:42 H01AC093 PFHKJR01 System Flow started for
System Name=xxxxxxxxxxxxxxx Testid=yyyyyyyyyyyyyyy.
XVTC3001I 03 Nov 2003 10:24:42 H01AC093 PFHKJR01 Code Coverage started for
System Name=xxxxxxxxxxxxxxx Testid=yyyyyyyyyyyyyyy.
XVTC3003I 03 Nov 2003 10:24:42 H01AC093 PFHKJR01 System Flow started for
System Name=xxxxxxxxxxxxxxx Testid=yyyyyyyyyyyyyyy.
XVTC3002I 03 Nov 2003 10:24:42 H01AC093 PFHKJR01 Code Coverage halted for
System Name=xxxxxxxxxxxxxxx Testid=yyyyyyyyyyyyyyy.
Code Coverage Messages A-101
XVTC3004I 03 Nov 2003 10:24:42 H01AC093 PFHKJR01 System Flow halted for
System Name=xxxxxxxxxxxxxxx Testid=yyyyyyyyyyyyyyy.
XVTC4001I 05 FEB 2004 08:52:42 H01AC093 PFHKJR01 DATA EXTRACT COMPLETE for
System Name=xxxxxxxxxxxxxxx,Testid=yyyyyyyyyyyyyyy.
A-102 Xpediter/Code Coverage Mainframe User/Reference Guide
G-1
DDIO file member. A generic name for an abend System Flow. A feature which allows the user to
report in an Abend-AID or CICS Abend-AID/FX capture linkage information between programs
report file, or an Xpediter/TSO or Xpediter/CICS during an Xpediter/CICS, Xpediter/TSO, or Xpe-
source listing in a source listing file. diter/IMS test, storing the information in a Code
Coverage repository. This data can be analyzed
DDIO Override. This provides the user an ability using Xpediter/Code Coverage to report on trans-
to override the DDIO dataset name to be used at action (Xpediter/CICS) and program invocations
reporting time, just in case the source has been that occurred during the test session.
G-2 Xpediter/Code Coverage Mainframe User/Reference Guide
Index E
EDIT command, 7-5
A END command, 7-5
example, 1-1
EXEC PGM field, 7-6
Acrobat PDF online documentation, xi Export Utility screen, 5-13
ALLOC command, 8-4
annotated listing, 3-7
ATTACH command, 7-9 F
J
D
JCL, editing, 7-10
DATA field, 8-5 Job Information screen, 2-2
Dataset field, 7-5
defaults, 2-1
DEFAULTS menu, 2-1 L
DELETE command, 13-6
DIR command, 13-7
List/Delete Utility screen, 5-4
I-2 Xpediter/Code Coverage Mainframe User/Reference Guide
M S
MAX field, 8-5 scenario, 1-1
Merge Utility screen, 5-16 SEtup command, 7-5, 8-4
messages, A-1–A-100 Source Listing Override screen, 2-3
CICS, A-21 START field, 8-5
TSO/ISPF, A-1 STATUS command, 7-5, 7-9
STEPNAME field, 7-6
SUBMIT command, 7-5
N syntax
conventions, x
diagrams, x
NBA field, 8-6 System field, 8-7
notation rules, x System Name, 8-2
System Selection screen, 5-7
system-level report, 3-6
O
T
OBA field, 8-6
optimized programs, 6-1
overview, 1-1 Test Definition Update screen, 10-8
Test Unattended?, 8-6
TRANCODE field, 8-5
P TSO/ISPF messages, A-1
related publications, xi X
Report Filters screen, 2-4
reports, 3-5
annotated listing, 3-7 Xpediter/CICS, using Code Coverage with, 10-1
program-level, 3-6 Xpediter/Code Coverage Customer Support, xi
system-level, 3-6 Xpediter/DevEnterprise, installing, 1-1
Reports screen, 3-1 Xpediter/IMS, using Code Coverage with, 8-1
reports, generating, 3-1 Xpediter/TSO, using Code Coverage with, 7-1
repository dataset, 1-1, 2-3, 3-2, 4-2, 5-2, 7-2, 7-7, 8-2, XPLIBDEF CLIST, 7-1, 8-1
8-7 XVCC transaction, using, 1-1
Repository screen, 2-3
Repository Utility screen, 5-2
Retain Breakpoints? field, 8-6
RUN command, 7-5