user guide - mainframe utilities guide rapid research tool ... this guide assumes that the user have...
TRANSCRIPT
z
z
User Guide Rapid Research Tool
User Guide
WWW.REXWARESOLUTIONS.COM
RRT User Guide © Copyright Rexware Solutions 2009 Page 2
Table of Contents 1 ABOUT THIS GUIDE ...................................................................................................................... 4
1.1 WHO SHOULD USE IT ................................................................................................................. 5
2 INTRODUCTION ............................................................................................................................. 7
2.1 SYSTEM ORGANIZATION ............................................................................................................. 9
2.2 COMPATIBILITY TEST ................................................................................................................ 10
3 DESCRIBING THE SYSTEM ........................................................................................................ 11
3.1 KEY FEATURES ........................................................................................................................ 11
3.2 INVENTORY .............................................................................................................................. 12
3.3 ENVIRONMENT ......................................................................................................................... 12
4 INSTALLATION INSTRUCTIONS ................................................................................................ 13
4.1 DEFINE RRT TO TSO .............................................................................................................. 13
4.2 DIVISION ACCESS CONTROL ..................................................................................................... 16
4.3 SET UP RRT NAVIGATION INTERFACE ........................................................................................ 18
4.4 CONFIGURATION - ENVIRONMENTS ........................................................................................... 19
4.5 CONFIGURATION – DB2 TABLES .............................................................................................. 29
5 RRT USAGE ................................................................................................................................. 30
5.1 RRT NAVIGATION FEATURES ................................................................................................... 31
5.2 TSO COMMANDS ..................................................................................................................... 32
5.2.1 TSO QRRT – Select/Switch/Display RRT environments ................................................................. 32
5.2.2 TSO QCOLS – Copy book fields offset report ................................................................................. 34
5.2.3 TSO QFIND – Intelligent Search .................................................................................................... 37
5.2.4 TSO QMEM– Access a member in another environment ................................................................ 40
5.2.1 TSO QENV– Display RRTID Settings ............................................................................................. 41
5.2.2 TSO QCMPR– Intelligent Compare ................................................................................................ 42
5.2.3 TSO QEZCOB – Create an Easytrieve layout................................................................................. 44
5.3 EDIT MACROS .......................................................................................................................... 45
5.3.1 QCOMPILE – Compile a COBOL program .................................................................................. 46
5.3.2 QCCOPY – Compile a copybook, selected working storage ......................................................... 49
5.3.3 QCOMPGO – Compile, link and execute ...................................................................................... 52
5.3.4 QMAP – Map a file column to a copybook field name .................................................................. 54
5.3.5 QFORMAT- Map a record to a copybook ...................................................................................... 56
5.3.6 QDRAW – Draw an SQL table into the source code ...................................................................... 64
RRT User Guide © Copyright Rexware Soluitions 2009 Page 3
5.3.7 QASM – Assemble a program or a CICS BMS map ...................................................................... 65
5.4 MESSAGES .............................................................................................................................. 66
5.5 QUICK-REFERENCE CARD ........................................................................................................ 66
6 APPENDIX A ................................................................................................................................. 67
7 APPENDIX B ................................................................................................................................. 68
7.1.1 QACCESS PARM ............................................................................................................................ 68
8 APPENDIX B – GLOSSARY OF TERMS ..................................................................................... 69
RRT User Guide © Copyright Rexware Solutions 2009 Page 4
1 About this guide
This document is divided into the following chapters:
Chapter 1, Guide Overview
Chapter 2, System requirements
Chapter 3, Components
Chapter 4, Installation procedures
Chapter 5 Commands and macros
Appendix A
Appendix B
Appendix C
Glossary provides definitions of technical terms that appear in the guide.
RRT User Guide © Copyright Rexware Soluitions 2009 Page 5
1.1 Who Should Use It
This guide is intended for users who do research or development on COBOL applications
that are developed using TSO. It is even more beneficial if using CICS or DB2.
It is excellent for contractors to take from site to site to allow easy navigation though an
unknown system and to access that system readily. RRT will remember JCL, PROCS,
programs, members, DB2 tables and migration paths. RRT will do immediate searches,
compares, mapping, assemblies, DB2 accesses and compiles to allow for a complete and
rapid perusal.
For those whose desire rapid access to programs, copybooks, JCL, PROCS, data sets, DB2
tables from the command line, or to cursor select (member name, a data set with symbolic
or GDG, a DB2 table) from any program, from any screen, in any mode, and from any place
on that screen. Edit mode, browse mode, from the JES queue, from endeavor, from file aid,
from XPED, from most any screen. All the above using only a single stroke of a PF key.
The consolidation of the mainframe projects has often necessitated that one programmer
render support to several applications. For those who do support multiple applications or
who want to easily peruse another company application, RRT can be quite useful. Shift from
one product to another and from one migration path to another in seconds; gain immediate,
compare, access, search, and compile capabilities.
For those who are learning COBOL or wish to unit test and re-test a routine in seconds
without using a source manager. Gain the ability to compile, link and execute immediately.
See your results in seconds. Execute a small test program right out of the edit buffet
without submitting a job.
For those who do not wish to disclose how many compiles it took to get a clean compile. No
jobs are submitted. With RRT never move a program/copybook into a source manager until
it is free of syntax errors and has had the DB2 SQL unit tested. Do an immediate compile;
then execute the DB2 SQL directly from the program. For those who are new to the job, this
can make an impression.
RRT User Guide © Copyright Rexware Solutions 2009 Page 6
For those who do not wish to type in the same dataset names over and over and over and
over . . . now, just type in the member. Or type in a DB2 table for immediate access.
For those migrating away from COBOL to another platform, and wish to easily navigate
through legacy COBOL to assess its functionality and processes.
RRT is designed to enhance the integrity of development and research. It ensures user
settings, in an environment, to do correct compares, searches, reports and compiles.
This guide assumes that the user have some knowledge MVS data sets, TSO, JCL, JES,
PDS libraries, CICS and DB2.
RRT User Guide © Copyright Rexware Soluitions 2009 Page 7
2 Introduction
The rapid research tool (RRT) was developed to utilize a typical research environment. Each
environment would have compilers, pre-compilers, production libraries and maintenance libraries
or staging libraries or quality assurance libraries or emergency libraries, for various types of
testing and implementation. The environment would also have various migration paths to the
production libraries via several project paths. All this information can be stored in RRT to allow
rapid access, quick development, intelligent search and compare, and to foster research and
development synergy.
RRT was originally designed to support a single product line, but later enhanced later to allow up
to 30 major product lines. Now, RRT can store this information for an entire company. For
example: for an insurance company, it can store all the projects, versions and related migration
paths for life insurance, health insurance, auto insurance (for each state), and property and
casualty insurance. The high level feature will switch to the major product line in seconds.
Those employees who switch from major product to major product several times a day can do so
in seconds. No need to remember the data sets, projects, migration paths, etc for each product.
Let RRT remember it. Switch to the product line, then cursor select, with a PF key, a
copybook, program, DB2 data base, or data set, from wherever it appears on a screen. Or type
a component name on the command line and hit the same PF key.
RRT can be especially helpful to those who support several different versions of the same
product. Each version can be either a simple project under the same product or a higher level
product with several supporting projects. RRT remembers the configurations.
RRT never submits a job, its mappings, layouts, compiles; pre-compiles, navigation, and
reporting are done in TSO foreground.
RRT was designed, from the start, with performance, productivity and integrity in mind.
It has saved hours and hours of time.
RRT User Guide © Copyright Rexware Solutions 2009 Page 8
RRT is easily configured, ported and installed at each customer site. It primary forte is a
productivity aid to be used to facilitate maintenance, debugging, development and research.
RRT User Guide © Copyright Rexware Soluitions 2009 Page 9
2.1 System Organization
TSO
COBOL
DB2
CICS
REXX to DB2 Access
MVS, TSO, and COBOL releases older than 7 years are not supported.
RRT User Guide © Copyright Rexware Solutions 2009 Page 10
2.2 Compatibility Test
From our website, download and execute the RRT compatibility test. Use it at each new
customer site to determine which features are available to you there.
1) TEST SUPPORT ON THE CURRENT TSO VERSION
2) TEST TSO DSN ALLOCATION and DE-ALLOCATION for SYSEXEC
3) TEST REXX TO DB2 CONNECTIVITY
4) TEST FILE CREATION/READ
5) LOCATION OF COBOL COMPILER
6) LOCATION OF ASSEMBLER COMPILER
7) LOCATION OF CICS PRE-COMPILER
8) LOCATION OF DB2 PRECOPILE
9) LOCATION OF LINKAGE EDITOR OR BINDER
10) TEST PANEL ACCESS
Item 1 is required.
Item 2 is required
Item 3 is required for RRT to execute DB2 SQL.
Item 4 is needed for all features except data set, member, JCL, and PROC
navigation.
Items 5 thru 9 are aids to help the user build the configuration file.
Item 10 lists results in a panel.
If unable to locate to a COBOL compiler like IGYCRCTL, then locate the JCL that does
compiles and check the STEPLIB concatenations for member IGYCRCTL. If not able to do
that, then from TSO option =3.4 enter **.SIGYCOMP to scan all catalogs in the system
(slow). Verify that the resulting data set(s) still exists and that it contains member
IGYCRCTL. Choose the latest version.
For assembler enter **. SASMMOD1 and locate member ASMA90.
Note: Other compatible compilers, pre-compilers and assemblers may be used.
RRT does not have the ability to change access permissions to data sets, tables,
DB2, APF libraries or to anything whatsoever. So some features of RRT may be
limited by your personal access privileges at the current site. IF REXX to DB2 access
is not available then request that the DBA administrator to set it up.
RRT User Guide © Copyright Rexware Soluitions 2009 Page 11
3 Describing the System
TSO Panels
CLISTS
REXX execs
ISPF Macros
3.1 Key Features
Rapid, seamless research of a COBOL system.
RRT remembers file locations for copybooks, programs, JCL, PROCS, control
members, COBOL compilers, DB2 pre-compilers, in-house source pre-processers,
CICS translators, project migration paths, search paths, ad hoc paths and more
Navigate from program to copy book to DB2 table to JCL to PROC to data set with
unparalleled ease; with a single PF key.
Cursor-select a library, DB2 table, copybook, JCL, PROC from any screen-- any
place on that screen.
DB2 pre-compile, CICS translate, and compile a COBOL program while in edit mode
Compile selected working storage areas of a program or a copybook
Compile, link and execute a small test COBOL program while in edit mode
Produce a report of the field lengths, types and offsets from a copybook, or from
selected working storage
Get the respective COBOL field name by cursor selecting a column in a flat file or
map the selected record to a COBOL copybook
Intelligent Search of project libraries/concatenations
Intelligent Compare a member for changes along a search or migration path.
Execute DB2 SQL directly from the COBOL program or from any PDS member
Create an Easytrieve layout from a COBOL copybook
All the above without submitting a job or losing track of the current TSO session.
RRT User Guide © Copyright Rexware Solutions 2009 Page 12
3.2 Inventory
REQUIRED
MVS
TSO
COBOL
OPTIONAL
CICS
DB2
REXX to DB2 Access
SUPERC
3.3 Environment
MVS operating system
DOS/VSE is not supported yet
RRT User Guide © Copyright Rexware Soluitions 2009 Page 13
4 Installation Instructions
4.1 Define RRT to TSO
Installation Steps
1. Allocate a PDS having 5 primary and 2 secondary cylinders of space and
an LREC of 80. TSO option 3.2 is able to do this. Use PDS as the data
set type. Do not use LIBRARY because significant performance
degradation can occur on some MVS systems. (See below)
2. Transfer RRT components from PC to that PDS. Use binary mode to
accomplish the transfer. ( FTP or IND$FILE-- any transfer protocol should
work fine)
3. Enter TSO "EX 'XXX.XXX.XXX($INSTALL)' EX " on the TSO command
line, but first replace XXX.XXX.XXX with the new PDS name. This will
attach the PDS to the TSO session, and create and populate a panel
library based upon the PDS name.
4. First modify the supplied member, STRRT, to contain the new PDS
name and then copy STRRT into your unshared personal CLIST. One
that is yours only and is attached during TSO logon. Afterwards execute
TSO STRRT to start RRT after each logon. (If you do not have a personal
CLIST, then find someone that can create one for you)
5. If step 4 cannot be done then, using TSO option =6, save the command
TSO "EX 'XXX.XXX.XXX($INITENV)' EX " . And execute it after each
TSO logon. (replace XXX.XXX.XXX)
6. TSO STPRRT will detach RRT. First replace PDS name, move to your
personal CLIST, and then remove it from the RRT PDS!!! To re-start
RRT again enter TSO STRRT. Note: before executing TSO STRRT close
all edit and browse sessions else it will fail.
RRT User Guide © Copyright Rexware Solutions 2009 Page 14
Using TSO option 3.2, create a PDS for RRT members
FTP or IND$FILE to move RRT components to this PDS
(. . . any transfer protocol will do fine)
Note: A few companies define the SYSEXEC DD to use variable blocked VB data
sets with an LRECL 255. Enter TSO ISRDDN, next scan for SYSEXEC. PF11 will
toggle to reveal the LRECL and RECFM. Nearly all sites are 80 and FB but a few
are 255 and VB. If that is true, then create another PDS with those attributes and
copy RRT members into that PDS for RRT usage. Delete the first PDS.
Note: Dot not FTP from the PC to a VB file!
Menu RefList Utilities Help
Allocate New Data Set
Command ===>
More: +
Data Set Name . . . : XXX.XXX.XXX
Management class . . . (Blank for default management class)
Storage class . . . . (Blank for default storage class)
Volume serial . . . . (Blank for system default volume) **
Device type . . . . . (Generic unit or device address) **
Data class . . . . . . (Blank for default data class)
Space units . . . . . CYLINDER (BLKS, TRKS, CYLS, KB, MB, BYTES
or RECORDS)
Average record unit (M, K, or U)
Primary quantity . . 5 (In above units)
Secondary quantity 2 (In above units)
Directory blocks . . 90 (Zero for sequential data set) *
Record format . . . . FB
Record length . . . . 80
Block size . . . . . 6160
Data set name type PDS (LIBRARY, HFS, PDS, LARGE, BASIC, *
EXTREQ, EXTPREF or blank)
Expiration date . . . (YY/MM/DD, YYYY/MM/DD
RRT User Guide © Copyright Rexware Soluitions 2009 Page 15
Using TSO option 3.2, create an executable LOADLIB.
This LOADLIB is used to execute a small tester COBOL program directly from edit mode
NOTE: LIBRARY can be selected instead of PDS but it will severely degrade performance
on older systems. Do not change a PDS to LIBRARY unless using the latest version of
MVS. It will severely degrade performance.
Data Set Name . . . : TSOUSER.ISP.RRT.LOAD
Management class . . . (Blank for default management class)
Storage class . . . . (Blank for default storage class)
Volume serial . . . . (Blank for system default volume) **
Device type . . . . . (Generic unit or device address) **
Data class . . . . . . (Blank for default data class)
Space units . . . . . CYLINDER (BLKS, TRKS, CYLS, KB, MB, BYTES
or RECORDS)
Average record unit (M, K, or U)
Primary quantity . . 5 (In above units)
Secondary quantity 2 (In above units)
Directory blocks . . 30 (Zero for sequential data set) *
Record format . . . . U
Record length . . . . 32760
Block size . . . . . 6144
Data set name type PDS (LIBRARY, HFS, PDS, LARGE, BASIC, *
RRT User Guide © Copyright Rexware Solutions 2009 Page 16
4.2 Division Access Control
Enter: TSO QACCESS
If unable to create RRT default data sets, then enter TSO QACCESS (PARM) where PARM is
the high level nodes you are authorized to create. For example: TSO QACCESS
TSOUSER.SPF If you do need high level nodes see QACCESS PARM
First use function “C” to create a work PDS. Enter a work PDS name and a required description.
This will define the USER to RRT and populate a work PDS with two templates.
The first template is @@CONFIG. That is where all libraries, compilers, projects,
concatenations, search paths, and migration paths are defined. The second template,
@DB2TBLS, is the list of the DB2 tables that RRT will be allowed to access. Bypass this if
REXX to DB2 access is not available at the current site.
Enter a PDS name and a description
„<<‟ indicates which work PDS is in effect.
For users who switch divisions frequently, to bypass the above screen
Enter:
TSO QACCESS (row number above) (search path)
For example: TSO QACCESS 2 MT will set the MT path for the PAYROLL division
Do not alter the RRT work PDS from a PDS to a LIBRARY, unless using the latest version of MVS. Severe
performance degradation can result.
22:00 © Rapid Research Tool Row 1 to 9 of 30
Command ==> Scroll ===> CSR
Division Access Control
S=Select, D=Detach, V=Verify, C=Create, L=List, Z=Compress
Row S Enter Work PDS Division _ ST
001 C SPF.RRT.WORK.ACCT ACCOUNTING <<
002 SPF.RRT.WORK.PAYR PAYROLL _____ |
003 SPF.RRT.WORK.HUMNRIS HUMAN RESRC |
004 „TSOUSER.SPF.RRT.WORK.ADMIN‟ ADMIN |
005 |
006 |
007 |
008 |
009 |
RRT User Guide © Copyright Rexware Soluitions 2009 Page 17
High level support may be needed to access more than one major department or handle
several product releases. With QACCESS this is accomplished by defining each major
product environment in a separate work PDS. Then use QACCESS to switch to a product.
Some users have several major products lines in a packed into single PDS (not
recommended), others have one product distributed across many PDS libraries. RRT
configuration is designed to accommodate the needs and creativity of the user. So the
configuration design(s) is left up to the user. The configurations shown in this guide are the
ones that are most commonly used.
Functions – A row must be selected with one of the following functions.
S = Select
This will assign a work PDS name. It does not verify the existence of the PDS.
D = Detach
This will detach a work PDS from RRT. It will not delete the work PDS.
C = Create
This will create and populate a work PDS.
L = List
This will list the members in the work PDS. Editing these members from QACCESS will
cause the RRT environment to be rebuilt
Z = Compress
This will compress work PDS.
Note: A work PDS can be created outside of TSO QACCESS and then tied to RRT using
TSO QACCESS at a later time. But be careful if specifying LIBRARY or PDS-E as this can
severely degrade performance on some of the older systems. RRT creates PDS for
performance reasons only.
RRT User Guide © Copyright Rexware Solutions 2009 Page 18
4.3 Set up RRT navigation interface
Set up a PF key to access RRT navigation features. Edit panels use @ERW. From an edit
screen, enter KEYS on the command line. Set up a PF key, preferably PF4, to %@ERW
Do not use an alias else error trapping would be problematic.
All non-edit panels can have their own KEYLIST and each will need to be set up for RRT
access as required. If a panel does not access RRT, then type in KEYS. Set up PF key,
preferably PF4, to TSO %@RW or to your alias. Do this for every panel where RRT access
is desired.
Notes:. It is very helpful to use RRT navigation from ENDEVOR, JES, FILEAID, SDSF and
many other applications where quick access to a member is needed without navigating
away or losing data on the current panels.
PRIVATE ISR Keylist ISRSPEC Change Row 1 to 12 of 24
Command ===> Scroll ===> PAGE
Make changes and then select File action bar.
Keylist Help Panel Name . . . ISRSPECH
Key Definition Format Label
F1 . . . HELP SHORT Help
F2 . . . SPLIT LONG Split
F3 . . . EXIT SHORT Exit
F4 . . . %@ERW LONG RRT
PRIVATE ISR Keylist ISRSAB Change Row 1 to 12 of 24
Command ===> Scroll ===> PAGE
Make changes and then select File action bar.
Keylist Help Panel Name . . . ISRSABH
Key Definition Format Label
F1 . . . HELP SHORT Help
F2 . . . SPLIT LONG Split
F3 . . . EXIT SHORT Exit
F4 . . . TSO %@RW LONG RRT
RRT User Guide © Copyright Rexware Soluitions 2009 Page 19
4.4 Configuration - Environments
TSO QACCESS created a work PDS and populated it with two configurations templates.
The first template is @@CONFIG and the second one is @DB2TBLS.
Enter TSO QRRT to view the information contained in the supplied @@CONFIG member.
Under “Edit Config File” enter a “Y” to edit the member.
In the configuration file are the following directives for each @RRTID
@RRTID THE ENVIRONMENT
@PATH SEARCH AND/OR MIGRATION PATH
@JCL - JCL DATA SETS
@PROC - PROC DATA SETS
@COPY - COPYBOOK DATA SETS *STRICTLY FOR COPY LIBS
@PROG - PROGRAM DATA SETS
@CNTL - CONTROL DATA SETS *MISC. ( ANY LOADLIBS MUST BE DEFINED HERE )
@PANL - ISPF ISPF RRT PANELS STORAGE (PDS) GLOBAL (RARELY USED)
@SSYS - DB2 SUBSYSTEM
@OWNR - DB2 OWNER
@UPDT - DB2 Permit update of DB2 tables
@DB2O - DB2 LOADLIB FOR A SPECIFIC DB2 VERSION ( OPTIONAL)
@DB2P - DB2 LOCATION OF THE DB2 PRECOMPILER
@PRMP - DB2 OVERRIDE DB2 PRE-COMPILER PARMS
@CICT - CICS LOCATION OF THE CICS TRANSLATOR
@PRMT - CICS OVERRIDE CICS TRANSLATOR PARMS
@COBC - COBOL LOCATION OF THE COBOL COMPILER
-- 18:58 ---------- © R a p i d R e s e a r c h T o o l Row 1 to 4 of 4
Command ===> Scroll ===> CSR
ACCOUNTING S e l e c t R R T E n v i r o n m e n t Standard PF keys
Set RRTID : MT Show Settings: N Edit Config File: Y (Y/N/T)
Fetch all : N Search all : N Audit Config : N
S=Set, D=Display
S ID Environment Name Search Path DB2: Subsys Owner
_ PR PRODUCTION PR SSNU PRJ1.............
_ MT MAINTENANCE MT MH Q1 PR SSNT PRJ1.............
_ MH MAINTENANCE STGE MH Q1 PR SSNT PRJ1.............
_ Q1 QUALITYONE Q1 PR SSNA PRJ1.............
RRT User Guide © Copyright Rexware Solutions 2009 Page 20
@PRMC - COBOL OVERRIDE COBOL COMPILER PARMD
@ASSM - ASM LOCATION OF THE ASSEMBLER ASMA90
@MACL - ASM MACLIBS FOR ASSEMBLER
@PRMA - ASM OVERRIDE PARMS FOR ASSEMBLER
@LKED - HEWL LOCATION OF THE LINKAGE EDITOR OR BINDER
@LSYS - HEWL LINKAGE EDITOR SYSLIBS
@LOAD - HEWL A PERSONAL LOAD LIBRARY
@HLVL - High level nodes for data set creation
@NAME - A DESCRIPTIVE NAME FOR THE ENVIRONMENT
NOTE: A directive value does not carry forward to the next environment. It must be
repeated for every RRTID that uses it.
@RRTID
This is the most important value in RRT. All other directives can be in any order, but this
one must be the first directive for each environment defined. Every RRT function is driven
by this directive. It is followed by a two byte id that will be referred to as the RRTID.
Example:
@RRTID MT
@PATH
This directive is followed by one or more two byte RRTID values. It defines the migration
path or search path. Each RRTID referenced by @PATH must also be defined as a
@RRTID for RRT to function properly. Searches and compares are done in the order that
these values are entered. At least one RRTID must be entered. Usually it is the @RRTID
value.
Example:
@PATH MT PR
(Note: This path includes both production (PR) and maintenance (MT) libraries)
RRT User Guide © Copyright Rexware Soluitions 2009 Page 21
@JCL
This directive must be on a line by itself. The JCL data sets will follow afterwards. One data
set per line until the next RRT directive is read.
Example:
@JCL
PROD.HEWN.MT.JCLLIB
PROD.HEWN.MT.JCLLIB2
@PROC
This directive must be on a line by itself. The JCL PROCLIB data sets will follow afterwards.
One data set per line until the next RRT directive is read.
Example:
@PROC
PROD.HEWN.MT.PROCLIB
@COPY
This directive is for copybooks. It must be on a line by itself. The copybook libraries will
follow afterwards. This directive must be used for COBOL copybooks libraries only!
Other directives allow some creativity but not this one. One copybook library per line
until the next RRT directive is read.
Example:
@COPY
PROD.HEWN.MT.SOURCE.COPY
PROD.HEWN.MT.SOURCE.DB2COPY
PROD.HEWN.MT.SOURCE.CICS.COPY
PROD.HEWN.MT.SOURCE.BATCH.COPY
RRT User Guide © Copyright Rexware Solutions 2009 Page 22
@PROG
This directive is for program source. It must be on a line by itself. The source libraries follow
afterwards. One source library per line until the next RRT directive is read.
Example:
@PROG
PROD.HEWN.MT.SOURCE1
PROD.HEWN.MT.SOURCE2
@CNTL
This directive is for miscellaneous members. Sort cards, VSAM cards, IDCAMS cards, DB2
plans, and even load libraries. It must be on a line by itself. Miscellaneous libraries follow
afterwards. One library per line until the next RRT directive is read.
Example:
@PROG
PROD.HEWN.MT.CNTL
PROD.HEWN.MT.DB2.CNTL
@PANL
This directive is used to point to another library for RRT panels.
It is rarely used. The directive and the single override panel library are on the same line
Example:
@PANL PROD.TSO.ISPPLIB.RRT
@SSYS
This directive is used define the DB2 subsystem.
The directive and the DB2 subsystem value are on the same line.
Example:
@SSYS CSCP
RRT User Guide © Copyright Rexware Soluitions 2009 Page 23
@OWNR
This directive is used define the DB2 owner. It is needed for a default when the DB2 owner
is not supplied, as is the case in many COBOL programs. The directive and the DB2 owner
are on the same line.
Example:
@OWNR HPTAXPYR
@DB2O
This directive is used to specify a DB2 SDSNLOAD library. It is used to point to DB2
systems that are not in the LPA, are partially built, or to a previous version for testing. Each
RRTID can have its own designated DB2 version. The directive and the SDSNLOAD library
are on the same line. Here an older version is specified for the RRTID environment. This
directive is usually not needed.
Example:
@DB2O UTIL.DB2.V81.SDSNLOAD
@DB2P
This directive is used convey the location of the DB2 pre-compiler. The directive and the
pre-compiler library are on the same line. Note: There may be a pre-compiler location for
each LPAR.
Example:
@DB2P SYS1.DB2.SY2.SDSNLOAD(DSNHPC)
@UPDT
This directive is used to permit DB2 update functions for the RRTID. “Y” is the only value
that will activate update capabilities. “DELETE, UPDATE, INSERT, and MERGE are
supported. The directive and its value are on same the same line.
@UPDT Y
RRT User Guide © Copyright Rexware Solutions 2009 Page 24
@PRMP
This directive is used override parms sent to the DB2 pre-compiler. The directive and the
parms are on the same line. Not all parms are supported by RRT. This directive is usually
not needed.
Example:
@PRMP HOST(IBMCOB),SOURCE,APOST
@CICT
This directive is used define the location of the CICS translator. The directive and the
translator location are on the same line.
Example:
@CICT xxx.xxx.SY2.SDFHLOAD(DFHECP1$)
@PRMT
This directive is used override parms sent to the CICS translator. The directive and the
parms are on the same line. Not all parms are supported by RRT. This directive is usually
not needed.
Example:
@PRMT COBOL2,FLAG(I)
@COBC
This directive is used define the location of the COBOL compiler. The directive and the
COBOL compiler location are on the same line.
Example:
@COBC SYS1.XXX.IGY.SIGYCOMP(IGYCRCTL)
RRT User Guide © Copyright Rexware Soluitions 2009 Page 25
@PRMC
This directive is used override parms sent to the COBOL compiler. The directive and the
compiler parms are on the same line. Not all parms are supported by RRT. This directive is
usually not needed.
Example:
@PRMC NOXREF,NOOPT,MAP,NOSEQ,NOOBJECT,LIB,LIST,FLAG(W)
@ASSM
This directive is used define the location of the Assembler. The directive and the Assembler
location are on the same line.
Example:
@ASSM SYS1.IBM.ASM.SASMMOD1(ASMA90)
PRMA
This directive is used to override parms sent to the Assembler. The directive and the parms
are on the same line. Not all parms are supported by RRT. This directive is usually not
needed.
Example:
@PRMA NOOBJ,NODECK,XREF(SHORT)
@MACL
This directive is used define the location of the Assembler MACLIB concatenations. The
directive is on a line by itself. The MACLIB concatenation follows at one library per line.
The MACLIB concatenation is not considered by RRT navigation, QCMPR, QFIND or any
other RRT interface. If search features are desired then include the MACLIB libraries in the
MISC libraries also.
Example:
@MACL
SYS1.MACLIB
SYS1.CICS.R13.SDFHMAC
RRT User Guide © Copyright Rexware Solutions 2009 Page 26
@LKED
This directive is used define the location of the Binder or Linkage editor. The directive and
the Binder location are on the same line.
Example:
@LKED SYS1.LINKLIB(HEWL)
@LSYS
This directive is used define the Binder SYSLIB concatenations. The directive is on a line by
itself. The SYSLIB concatenation follows at one library per line. Used for the execution of
an ALC program.
Example:
@LSYS
SYS1.IBM.CEE.SCEELPA
SYS1.IBM.CEE.SCEELKED
@LOAD
This directive is used define the location of your personal LOADLIB. Remember to create
one. The directive and the LOADLIB are on the same line.
Example:
@LOAD TSOUSER.SPF.QUICKTST.LOAD
@HLVL
This directive is used to comply with a user‟s authorization to create data sets. It sets the
high level node(s) for data set creation. If this is needed due to authorization, then set the
high level node in every RRT environment. It can also be used to further identify a data set
per Division/RRTID usage. Maximum nodes length is 16 bytes as shown. The directive and
the name are on the same line.
Example:
@HLVL TSOUSER.ACCT.MT1
RRT User Guide © Copyright Rexware Soluitions 2009 Page 27
@NAME
This directive is used to name the environment. Let‟s say the RRTID is “PR” for production.
The directive and the name are on the same line.
Example:
@NAME PRODUCTION
RRT User Guide © Copyright Rexware Solutions 2009 Page 28
The configuration file is delivered with several sample environments
(RRT uses the first environment defined as the default)
Complete Definition for the “PR” production environment
Note: Maintenance libraries are not included here. But will be included when the maintenance
RRTID, “MT”, is defined. They should not be included in RRTID PR, but tied to production using
the @PATH MT PR directive as part of RRTID MT environment migration/search path. Then setting
the RRTID environment to “MT” would search “MT” and then “PR” libraries in that order. See
member @@CONFIG in the work PDS created by TSO QACCESS.
@RRTID PR THE TWO BYTE ID
@PATH PR SEARCH PATH USUALLY MORE THE ONE RRTID
@SSYS CSNA THE DB2 SUBSYSTEM ID
@OWNR HEWN THE DB2 OWNER
@UPDT N DB2 UPDATE PERMISSION (Y/N)
@DB2P SYS1.DB2.SY2.SDSNLOAD(DSNHPC) THE DB2 PRE-COMPILER
@PRMP HOST(IBMCOB),SOURCE,APOST OVERRIDE PARMS
@CICT UTIL.CIC.R31.SY2.SDFHLOAD(DFHECP1$) THE CICS TRANSLATOR
@PRMT COBOL2,FLAG(I) OVERRIDE PARMS
@COBC SYS1.XXX.IGY.SIGYCOMP(IGYCRCTL) THE COBOL COMPILER
@PRMC NOXREF,NOOPT,MAP,NOSEQ,NOOBJECT,LIB,LIST,FLAG(W) OVERRIDE PARMS
@ASSM SYS1.XXX.SASMMOD1(ASMA90) THE ASSEMBLER
@PRMA NOOBJ,NODECK,XREF(SHORT) OVERRIDE PARMS
@MACL ASSEMBLER MACLIBS
SYS1.MACLIB
UTIL.CICS.RXX.SDFHMAC
@LKED SYS1.LINKLIB(HEWL) LINKAGE EDITOR/BINDER
@LSYS LINKAGE EDITOR SYSLIBS
SYS1.IBM.CEE.SCEELPA
SYS1.IBM.CEE.SCEELKED
@LOAD TEST.USA.ISP.LOAD A Personal LOAD LIB
@NAME PRODUCTION A NAME FOR THE ENVIRONMENT
@JCL
PPRD.XXX.TOPUSURP.HEWN1.JCL TWO JCL LIBS IN THE PR
PPRD.XXX.PPRD.HEWN1.JCL
@PROC
SYS1.XXX.QUICK.FIX.PROCLIB THREE PROC LIBS IN THE PR
SYS1.XXX.PPPRD.PROCLIB
SYS1.UTIL.PROCLIB A utility PROCLIB if desired
@COPY
PPRD.XXX.PPRD.HEWN1.BASE.COPY.SRC COPY LIB
@PROG
PPRD.XXX.PPRD.HEWN1.BASE.SRC PROGRAM SOURCE LIB
UTIL.T96.CIC.R410.PRD.SOURCE
@CNTL
PPRD.XXX.PPRD.HEWN1.CNTL CONTROL LIB
RRT User Guide © Copyright Rexware Soluitions 2009 Page 29
4.5 Configuration – DB2 Tables
To add DB2 tables to be accessed by RRT enter TSO QRRT and choose “T” for “EDIT
CONFIG FILE”. .
A DB2 table entered with no owner will use the owner defined in the configuration file for the
current RRTID, if there is no synonym. Almost all table entries will be of this type.
A DB2 owner followed by the table allows access only to that „owner.table‟ combination
unless the high-level owner is in effect (owner.********). It also functions as a synonym to
supply that owner to that table when none exists. In COBOL, when the owner is omitted,
RRT checks for a synonym before using the RRTID default owner. Check
SYSIBM.SYSSYNONYMS when building this table.
The last entry, SYSIBM.********, instructs RRT to access DB2 tables with owner “SYSIBM.”
“SYSIBM.” is an owner usually used by DB2 for internal tables. Any DB2 owner can be
specified in this way to instruct RRT access at the owner level. Place these high-level
owners last in the table.
NOTE: RRT uses several methods to distinguish a request to access a DB2 table from a
request to retrieve a member or a data set. However DB2 table names of 8 bytes or less
will trigger RRT to ask the user if the access is intended for DB2. For example, AGENCY
can be both a member and, a DB2 table.
***************************************************************************************
* *
* PLACE DB2 TABLES AND/OR VIEWS HERE TO ALLOW DB2 ACCESS VIA RRT *
* IF THE DB2 OWNER IS MISSING IT WILL BE DETERMINED BY THE RRTID. *
* COMMENT LINES START WITH AN ASTERISK *
* *
***************************************************************************************
TBLEMPLOYEE OWNER WILL BE DETERMINED BY THE CURRENT RRTID
CWBR.EMPLOYEE_DATA CWBR OWNER IS PROVIDED AND IS A SYNONYM
SYSIBM.******** 8 ASTERISKS MEANS ACCESS TABLES WITH THAT OWNER
RRT User Guide © Copyright Rexware Solutions 2009 Page 30
5 RRT USAGE
The main RRT features can be reviewed on our website or in the RRT power point
presentations. On MVS, TSO HELPRRT will display the latest command list with a
description of each feature.
Note: If some aliases are renamed, then also rename them in this user guide and in the
supplied member, HELPRRT only aliases can be renamed!
=======================R R T F u n c t i o n s==========================
COMMAND ===> SCROLL ===> CSR
More . . . PF7/PF8/PF3
Alias Command Description
QACCESS @RRUSER Division Access Control
QRRT @RRCNFG Set/Display Division environments
QENV QENV QUERY Environments
QCOLS @COBCOLS Show copybook field displacements
QFIND @RRFIND Intelligent Search
QCMPR @RRCMPR Intelligent Compare
QEZCOB @RREZCOB Create EZtrieve layout
Use the following from Edit mode. (Do not prefix with TSO)
QCOMPILE @RRCOMP Compile a program
QCCOPY @RRCMPCP Compile a copybook or Selected WS
QCOMPGO @RRCMPGO Compile, Execute (small test program)
QSQL @COB2DB2 Execute SQL from COBOL source
QMAP @DSPCOL Map a file column to a copybook
QBMS @ASMBMS Assemble BMS map or an ALC program
QDRAW @RRDRAW Draw a DB2 table
Navigation interfaces (Assign to a PF Key, usually PF4)
CE @RW Access member, file, DB2 table
####### @ERW Access member, file, DB2 table (edit mode)
(Do not use an @ERW alias. Not compatible with error handling)
**$_$_$_ End of Report _$_$_$**
RRT User Guide © Copyright Rexware Soluitions 2009 Page 31
5.1 RRT Navigation Features
The seamless navigation from program, to copybook, to flat file, to JCL, to control member, to
DB2 table, without losing the current session is one of the most helpful features of RRT. Much
of the tedious ISPF navigation is replaced by the single stroke of a PF key.
Any of these components can be directly accessed, from most any screen, by entering one of
them on the command line, or by selecting one of them via a cursor, and then pressing PF4.
Cursor selection is valid from any screen where a PF key is set up to interface with RRT. That
includes ISPF or SDSF screens, menu screens, most any vendor product, like ENDEVOR,
FILEAID, SPUFI, XPEDITER and many more.
RRT navigation honors wild cards. Member names that contain an asterisk will display a
matching directory list from every library in the concatenation. Data sets that have an asterisk
will display the first 400 matches. Wild cards are not supported when using an extra parm. The
extra parm is ignored. PF4 with no parm at all will display the current RRT settings.
Access time is fast but some shortcuts are provided to be used at the user‟s discretion. Follow a
member name with a single byte library reference to restrict the search to a certain type of
library. S = source, C= Copy, J=JCL, P=PROC, N=Control/Misc. For example, on the command
line enter FLHK001 S and hit PF4. Now RRT will to search only the Source libraries to locate
member FLHK001 using the current RRTID concatenations.
For those who like shortcuts, further command line shortcuts are available to PF4:
1. A two-byte parm signals RRT to look in a different environment (or default to production
if the parm is invalid). For example: FLHK001 MT would tell RRT to look in the MT
environment for that member.
2. A three-byte parm adds the library type. For example FLHK001 MTS would tell RRT to
look only in the in the MT environment Source concatenations.
3. FLHK001 A would signal RRT to return all hits along the current RRTID migration path.
A=ALL HITS.
4. FLHK001 D would signal RRT to access the member as a DB2 table. But only if it is
defined in @DB2TBLS. This can be useful because a search item may be a DB2 table
as well as a PDS member.
RRT User Guide © Copyright Rexware Solutions 2009 Page 32
5.2 TSO Commands
5.2.1 TSO QRRT – Select/Switch/Display RRT environments
FORMAT:>>-TSO QRRT-+- RRTID FALL SALL ( QRRT is an alias )
RRTID ---- Two-byte Rapid Research Tool environment ID (optional)
FALL Y - Fetch all the occurrences found along the „Search Path‟
N - Fetch the occurrences found in the RRTID only (Default)
SALL Y - Search all the libraries defined by the „Search Path‟
N - Search the libraries defined by the „RRTID‟ only‟ (Default)
Examples:
TSO QRRT MT - This will switch the environment to “MT”.
TSO QRRT MT Y Y-This will switch environment to “MT”, Fetch All(Y),Search All(Y)
TSO QRRT ? - List the current RRTID settings
TSO QRRT - Display the RRT panel when no parameters are sent
Set RRTID:
Type in an RRTID value to establish the environment for the TSO session
Leave blank to re-build the current RRT environment
Show Settings:
Select “Y” to display the current settings for the TSO session
-- 18:58 ---------- © R a p i d R e s e a r c h T o o l Row 1 to 4 of 4
Command ===> Scroll ===> CSR
ACCOUNTING S e l e c t R R T E n v i r o n m e n t Standard PF keys
Set RRTID : MT Show Settings: N Edit Config File: Y (Y/N/T)
Fetch all : N Search all : N Audit Config : N
S=Set, D=Display
S ID Environment Name Search Path DB2: Subsys Owner
_ PR PRODUCTION PR SSNU PRJ1.............
_ MT MAINTENANCE MT MH Q1 PR SSNT PRJ1.............
_ MH MAINTENANCE STGE MH Q1 PR SSNT PRJ1.............
_ Q1 QUALITYONE Q1 PR SSNA PRJ1.............
RRT User Guide © Copyright Rexware Soluitions 2009 Page 33
Edit Config File:
Select “Y” to edit the @@CONFIG member, “T” to edit the defined DB2 tables
Fetch All:
Select “Y” to retrieve every instance of a member along the search path
Select “N” to retrieve only the first instance in the search path. (default)
Search All:
This works in conjunction with the QFIND command.
Select “Y” to search every library in the search path. (usually not needed)
Select “N” to search only the libraries defined by the RRTID. (default)
Note: If the @RRTID has no libraries then Search All is set to “Y”
Audit Config:
Select “Y” to verify the libraries and search paths in configuration file
“S” and “D” select
Place an “S” beside an RRTID to set it for the TSO session
Place a “D” beside an RRTID to display its settings
Note: Any changes will automatically rebuild the environment
Setting the RRTID to spaces will rebuild the current environment
RRT User Guide © Copyright Rexware Solutions 2009 Page 34
5.2.2 TSO QCOLS – Copy book fields offset report
Display the displacement and length of each field in a COBOL copybook
NOTE: Displacements are relative to 1
RRTID – enter a full data set name, or a two byte RRTID to select the first
occurrence along that search path.
Member – member name
Mask – return only those fields that match the mask in full or in part
Show slack/occurs bytes (Y/N)
Note the areas in a copybook that are missing due to slack bytes or an „occurs‟ area.
© R a p i d R e s e a r c h T o o l
Command ===>
USAS
Copybook Field Length and Offset Report
Select RRTID from the list below, or enter a full data set name
( PR MT MH AC DV AS FR SP PY TN FH AA )
RRTID ===> _________________________________________ Blank to default
Member===> ________
Mask ===> _________________________________________
Display Settings for RRTID:__ Show slack/occurs bytes: N (Y)
FRIDAY OCT 2, 2009 01:06:06 Mask: use a ~ for a trailing
space
PRESS: ENTER to process PF3 to exit
RRT User Guide © Copyright Rexware Soluitions 2009 Page 35
The main panel is bypassed when a parameter is sent
FORMAT1:>>-TSO @COBCOLS-+- MEMBER RRTID MASK
MEMBER – Required. COBOL copybook name
RRTID - Optional. A two byte RRT ID as defined in the configuration files
Or a full data set name ( Example: PROD.FGG.LABELS.COPY )
If omitted, the RRTID will default to the current TSO setting for RRT
Required if the “MASK” parameter is used.
MASK - Optional. Report only fields that match the mask, or if the mask is an
offset number, report only on fields that touch that offset number.
NOTE: The RRT edit macro, QCCOPY, will compile any COBOL copybook, or a selected
part of working storage. It will produce the same copybook field offset report as
TSO QCOLS.
NOTE: The first member found along the @PATH defined for the RRTID will be used to
locate the member.
QCOLS will work from DSLIST (=3.4) or a DSLIST member list as follows:
DSLIST - Data Sets Matching Row 1 of 2
Command ===> Scroll ===> CSR
Command - Enter "/" to select action Dsorg Recfm Lrecl Blksz
-------------------------------------------------------------------------------
QCOLS TSTCPY2 HEWN1.BASE.COPY.SRC PO-E FB 80 6160
PPRD.XXX.PPRD.HEWN1.BASE.COPY.SST PO FB 80 6160
DSLIST TEST.SCD.DEVELOP.USAS1.BASE.COPY.SRC Row 00001 of 00005
Command ===> Scroll ===> CSR
Name Prompt Size Created Changed ID
QCOLS DAFRCL
_________ DAFS030
_________ DAFWCL
_________
RRT User Guide © Copyright Rexware Solutions 2009 Page 36
Column ‘length and offset’ report
Note: Total copybook length, and field lengths and offsets are determined by a
COBOL compiler. Therefore, slack bytes are included as part of the calculations.
PPRD.XXX.PPRD.HEWN1.BASE.COPY.SRC (TSTCPY2)
@ = 01 LEVEL D = OBJECT OF OCCURS DEPENDING
O = HAS OCCURS CLAUSE R = REDEFINES * = EXACT MATCH
OG= GRP HAS LNGTH DEF E = EXTERNAL G = GLOBAL V=BLV CELL
TSTCPY2 LENGTH: 2217 BYTES, RRTID=PR
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LEN TYPE BEG END FIELD-NAME
COL COL
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@00197 GROUP....... 00001 00197 1..GW-IO-RESPONSE-AREA
00004 BINARY...... 00001 00004 ..2..GW-IO-COMP
00004 BINARY...... 00005 00008 ..2..GW-IO-COMP5
00005 PACKED-DEC.. 00009 00013 ..2..GW-IO-COMP3
00009 DISP-NUM.... 00014 00022 ..2..GW-IO-ZONE-DISPLAY
00008 DISP-NUM-EDI 00023 00030 ..2..GW-IO-EDIT
00009 DISPLAY..... 00031 00039 ..2..GW-IO-DISPLAY
00008 COMP-2...... 00040 00047 ..2..GW-IO-FLOAT
00075 GROUP....... 00048 00122 ..2..WS-ERROR-CODE-TABLE
O 00025 GROUP....... 00048 00072 ....3..WS-EC-CODE-MESSAGES
00003 DISPLAY..... 00048 00050 ......4..WS-EC-ERROR-CODE
00001 DISPLAY..... 00051 00051 ......4..FILLER
00020 DISPLAY..... 00052 00071 ......4..WS-EC-ERROR-MESSAGE
00001 DISPLAY..... 00072 00072 ......4..FILLER
R 00150 GROUP....... 00048 00197 ..2..FILLER
00075 DISPLAY..... 00048 00122 ....3..WS-CODES-AND-MESSAGES-1
00075 DISPLAY..... 00123 00197 ....3..WS-CODES-AND-MESSAGES-2
OG@02013 GRP-VARLEN.. 00201 02213 1..ARCHIVE-RECORD
00003 DISPLAY..... 00201 00203 ..2..AR-REC-TYPE
00008 DISPLAY..... 00204 00211 ..2..AR-ARCHIVE-DATE
D 00002 BINARY...... 00212 00213 ..2..AR-REC-LENGTH
02000 GRP-VARLEN.. 00214 02213 ..2..AR-REC-IMAGE
O 00001 DISPLAY..... 00214 00214 ....3..AR-REC-CHAR
@00001 DISPLAY..... 02217 02217 1..ARCHIVE-RECORD-END
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**$_$_$_$_ END OF REPORT _$_$_$_$**
RRT User Guide © Copyright Rexware Soluitions 2009 Page 37
5.2.3 TSO QFIND – Intelligent Search
QFIND Usage:
Enter a RRTID, Case Sensitive: Y/N
Select each library type to search with a “Y”.
Enter up to four search strings
Note: A beginning ampersand instructs QFIND to return only those lines where that
string is on the same line as the previous string.
Search complete migration paths: Concatenate all libraries in the local environment
plus all the libraries in the environments of the search path. Use with caution as
this feature may be quite slow. See the next pages for a further explanation. Note:
An RRTID that has no local libraries of its own will, by default, use a complete
migration path search. The maximum number of libraries that will be searched is set
to 20. Split into multiple jobs if over 20 are selected.
Columns: Set the beginning and ending search column separated by a colon. Or use
keywords COBOL or ASM. Default is 01:80
Preview inferred libraries: Display the libraries that will be searched according
to the library selections entered, and if a complete migration path is selected.
De-select libraries, Enter to Search, PF3 will bypass search.
Library Override: Search using a specified library. GDG supported, VSAM supported
for ISPF 4.8 or later. A „/‟ in the first position will bypass the library over-
ride.
© R a p i d R e s e a r c h T o o l
Command ===>
Accounting S e a r c h F a c i l i t y
RRTID ===> MT Select RRTID from the list below: Case Sensitive N
( PR MT DV )
Search Source Libraries ........ =====> N Y/N Programs, maps
Search Copy Libraries ........ =====> N Y/N Copybooks
Search PROC Libraries ........ =====> N Y/N JCL PROCS
Search JCL Libraries ........ =====> N Y/N Other JCL
Search Misc Libraries ........ =====> N Y/N Misc/Cntl
Search complete migration path . =====> N Columns: (1:80)
Preview inferred libraries ..... =====> N Y/N
Search String 1:
Search String 2:
Search String 3:
Search String 4:
Library Override: /EST.USA.AGY.TEST
PRESS: ENTER to process PF3 to exit
RRT User Guide © Copyright Rexware Solutions 2009 Page 38
Bypass panel interface:
FORMAT2:>>-TSO QFIND -+- RRPJSCN S1 S2 S3 S4 (no panel will display)
RRPJSCN is a compressed first parameter that is needed to conserve space on
the command line. The first two bytes is the RRTID. Each next byte is a single
character library concatenation reference. S1 thru S4 represent four search
strings.
RR = RRTID
P = PROC Libs
J = JCL Libs
S = Source/Program Libs
C = Copy Libs
N = Control/Misc Libs
The single character library references can be specified in any order. Any of
them can be omitted.
To search RRTID “PR” Source & Copy for strings „SB501‟ and “SB502”, enter the
following on the command line: TSO QFIND PRSC SB501 SB502 This will call SUPERC
to search for these strings and return a full report to the TSO session.
When the SUPERC report pops up, all RRT searches are restricted to that report!
PF4 can be used only to cursor select the members in that report.
RRT will use only the concatenations searched by SUPERC to return the member.
Note: If a search string is not entered then QFIND will use the word value
at the cursor position
TSO QFIND PRS DFHCOMMAREA &MOVE &INTERRUPT
The above command will search the production source libraries looking for
DFHCOMMAREA, MOVE, and INTERRUPT on the same line. The beginning ampersand
instructs QFIND to return only those lines where that string is on the same line
as the previous string.
Interaction with TSO QRRT
In the @@CONFIG file there are two directives that start each environment.
@RRTID and @PATH. For this example, let‟s set @RRTID to BT and the
@PATH to BT Q3 Q2 Q1 PR
The “SEARCH ALL” feature of TSO QRRT will effect what libraries TSO QFIND will
search. If it is set to “N” only the libraries of “BT” will be considered, if it
is set to “Y”, then all the libraries defined by BT, Q3, Q2, Q1, PR will be
considered. This can be VERY costly but is useful at times. So keep that use
to a minimum. Note: Twenty-four libraries is the maximum number that SUPERC can
handle, so RRT will select no more than that.
Note: If an RRTID has no libraries defined. Then QFIND will use all the
libraries inferred by the @PATH directive of that RRTID.
RRT User Guide © Copyright Rexware Soluitions 2009 Page 39
QFIND will work from a DSLIST also (=3.4)
Enter QFIND from a DSLIST, and search the data set for the string „COLOR‟
Final lines of the SUPERC output
Up to four strings are allowed. But to search for strings on the same line TSO
DSLIST requires a double ampersand instead of the normal single ampersand.
For example: QFIND / COLOR &&BLUE
Returns only those lines where “COLOR” and “BLUE” are on the same line.
DSLIST - Data Sets Matching TEST.USA.AGY.TEST Row 1 of 2
Command ===> Scroll ===> CSR
Command - Enter "/" to select action Dsorg Recfm Lrecl
Blksz
------------------------------------------------------------------------------
TEST.USA.AGY.TEST PO-E FB 80 6160
TEST.USA.AGY.TEST.P PO FB 80 6160
**************************** End of Data Set list ****************************
Command - Enter "/" to select action Dsorg Recfm Lrecl
Blksz
------------------------------------------------------------------------------
TEST.USA.AGY.TEST PO-E FB 80 6160
QFIND / COLOR AGY.TEST.P PO FB 80 6160
**************************** End of Data Set list ****************************
1 ISRSUPC - MVS/PDF FILE/LINE/WORD/BYTE/SFOR COMPARE UTILITY- ISPF
SEARCH-FOR SUMMARY SECTION SRCH DSN: TEST.USA.AGY.TEST.P
LINES-FOUND LINES-PROC MEMBERS-W/LNS MEMBERS-WO/LNS COMPARE-COLS L
102 590 13 0 1:80
PROCESS OPTIONS USED: SDUPM
THE FOLLOWING PROCESS STATEMENTS (USING COLUMNS 1:72) WERE PROCESSED:
SRCHFOR 'COLOR'
RRT User Guide © Copyright Rexware Solutions 2009 Page 40
5.2.4 TSO QMEM– Access a member in another environment
Locate a member in a specific RRTID environment without changing the current RRTID
FORMAT:>>-TSO QMEM -+- MEMBER RRTID
MEMBER – Required
RRTID - Required
Note: Quick access to a member in another division‟s environment to be added to
next release.
Note: Due to an upgrade, the same thing can be accomplished by entering a member followed
by an RRTID and then hitting PF4. See Navigation Features
RRT User Guide © Copyright Rexware Soluitions 2009 Page 41
5.2.1 TSO QENV– Display RRTID Settings
FORMAT1: TSO QENV
2) Display current RRTID environment
Example: TSO QENV
FORMAT2: TSO QENV RRTID
2) Display RRTID environment within the current division
Example: TSO QENV PR
FORMAT3: TSO QENV RRTID SC
1) Show a specific RRTID concatenation within the current division
RRTID = 2 byte RRT environment id
SC = single character library reference as follows:
S = Source concatenations
C = Copy concatenations
P = PROC concatenations
J = JCL concatenations
N = Misc/control concatenations
Example: TSO QENV PRS, or TSO QENV PR S
RRT User Guide © Copyright Rexware Solutions 2009 Page 42
5.2.2 TSO QCMPR– Intelligent Compare
Compare the first two occurrences of a member along a migration/search
path (default). Compare members in different RRTID search paths or in
different data sets. Display RRTID settings.
Member name old: The name of the member to compare (required)
Member name new: The name of the new member if it is a different name (Optional)
Old RRTID: The RRTID which defines the libraries to be searched to
do the compare.
New RRTID: The RRTID which defines another concatenation of libraries to
be searched after the member is found in the Old RRTID (Optional)
© R a p i d R e s e a r c h T o o l
Command ===>
ACCOUNTING C o m p a r e M e m b e r s
Enter the following: WEDNESDAY JAN 7, 2007 05:46:44
Member name old ....... ===> YEMD501 Member
Member name new ....... ===> Use if different member name
Old RRTID ....... ===> MT ( PR MT MH Q1
New RRTID ....... ===> )
SRC/COPY/JCL/PROC/CNTL.. ===> S/C/J/P/N
Compare type ....... ===> D C/D Change, Delta
Override LIB old:_________________________________________
Override LIB new:_________________________________________
Display Settings for RRTID: __ ( PR MT MH Q1
)
PRESS: ENTER to process PF3 to exit
RRT User Guide © Copyright Rexware Soluitions 2009 Page 43
SRC/COPY/JCL/PROC/CNTL:
Specify where to find the member if the same name resides in
different type libraries. For example: a copybook that is
located in both the Source and Copy libraries. (Optional)
Compare type: C = show only the lines that were changed
D = show 5 lines before and after each line changed
Override LIB old: A full data set name to override the libraries searched by the
Old RRTID. A slash in the first position will disable. (Optional)
Override LIB new: A full data set name to override the libraries searched by the
New RRTID. A slash in the first position will disable. (Optional)
Display Settings for RRTID:
Display the settings for an RRTID. The choices are
retrieved from the configuration file. (Optional)
EDIT TSOUSER.PRJ.#LIJST Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 1 ISRSUPC - MVS/PDF FILE/LINE/WORD/BYTE/SFOR COMPARE UTILITY- ISPF
000002 NEW: TEST.MVS.QUALTY.PRJ11.PRGMSRCE(YEMD501) OLD: CPRD.
000003
000004 LISTING OUTPUT SECTION (LINE COMPARE)
000005
000006 ID SOURCE LINES
000007 ----+----1----+----2----+----3----+----4----+----5----+----6----+--
000008
000009 I - *
000010 I - * QF5966 05/08/2018
000011 I - * MODIFY LATENT FUEL CONSUMPTION ALGORITHMS FOR QUATERNION AXIS
000012 AND PRECESSION
___________________________________________________________________
NEW RRTID IS BLANK; OR EQUAL TO OLD RRTID.-- COMPARE THE FIRST TWO |
OCCURENCES ALONG THE RRTID 'MT' PATH: MT Q1 PR |
-EOM- |
____________________________________________________________________
RRT User Guide © Copyright Rexware Solutions 2009 Page 44
5.2.3 TSO QEZCOB – Create an Easytrieve layout
FORMAT1:>>-TSO QEZCOB MEMBER RRTID MASK
MEMBER – Required. COBOL copybook name
RRTID - Optional. A two byte RRT ID as defined in the RRT configuration files
Or a full data set name ( Example: PROD.FGG.LABELS.COPY )
If omitted, the RRTID will default to the current TSO setting
Required if the “MASK” parameter is used.
MASK - Optional. Select only fields that match the mask- in full or in part
RRT User Guide © Copyright Rexware Soluitions 2009 Page 45
5.3 Edit Macros
The following macros are used when a member is placed in edit mode. The changes being
made to the member are read by the macros even if they have not been saved. The macros will
not save any changes. Do not precede edit macros with “TSO”.
RRT User Guide © Copyright Rexware Solutions 2009 Page 46
5.3.1 QCOMPILE – Compile a COBOL program
QCOMPILE – Compile edit buffer contents
No JCL is needed, no need to submit a compile job, no need to wait for the job to be run.
Immediate compile. Discover syntax errors before moving a component to a source manager.
Note: The full COBOL source must be in edit mode as QCOMPILE reads the edit buffer.
FORMAT: QCOMPILE RRTID LPTY
Note: No member name is needed as QCOMPILE uses the contents of the edit buffer- whether it
has been saved or not.
RRTID - Optional. A two byte RRTID as defined in the configuration files. It is
needed to select a COBOL copybook concatenation for the compile process.
If omitted, the RRTID will default to the current setting. It is required
if the “LPTY” parameter is used.
LPT - Represents three letters in any combination
L – Produce a PMAP
P – Bypass the DB2 pre-compiler step
T – Bypass the CICS translator step
Y - 'Y' Special second parameter used to view only the CICS translator
output. This can be useful as many translator warnings are really severe
errors. Cannot be specified with “T”.
User SYSLIB
To add a work copybook library to the top of the copybook concatenations selected
by the RRTID, create a PDS, populate it, and add it to the top of @COPY in the
config file, for the respective RRTID. Any copybooks located in that PDS will be
picked up first when executing QCOMPILE, QCOMPGO and QCCOPY. For a more
global approach, see Appendix A.
To compile data in the edit buffer enter QCOMPILE on the command line.
To compile using production copybooks enter QCOMPILE followed by the
production RRTID. To bypass DB2 and CICS steps enter QCOMPILE PR PT
Note: If the configuration file does not have the DB2 pre-compiler or
CICS translator defined for the RRTID being used, then QCOMPILE will
bypass those steps. Usually no parameters are needed.
RRT User Guide © Copyright Rexware Soluitions 2009 Page 47
QCOMPILE
A panel will display if no parameters are entered
EDIT TEST.USA.AGY.TEST(ZTSTCMP5) - 01.00 Columns 00001 00072
Command ===> QCOMPILE Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 IDENTIFICATION DIVISION.
000002 PROGRAM-ID. ZTSTCMP5.
000003 ENVIRONMENT DIVISION.
000004 INPUT-OUTPUT SECTION.
000005 DATA DIVISION.
000006 FILE SECTION.
000007 WORKING-STORAGE SECTION.
000008 01 WS-TEST.
000009 05 WS-A OCCURS 300 TIMES PIC X(99).
000010 05 WS-C PIC S9(04) COMP.
000011 05 WS-C5 PIC S9(04) COMP-5.
000012 LINKAGE SECTION.
000013 01 JCL-PARM.
000014 05 JCL-L PIC S9(04) COMP.
000015 05 JCL-ADDENDA PIC X(80).
000016 05 FILLER PIC X(16).
000017 PROCEDURE DIVISION USING JCL-PARM.
000020 MOVE LENGTH OF WS-TEST TO WS-C WS-C5.
000021 DISPLAY 'WS-C = ' WS-C
000030 DISPLAY 'WS-C5 = ' WS-C5
000100 GOBACK.
© R a p i d R e s e a r c h T o o l
Command ===>
USAS Execute the Pre-compile and/or Translate processors
MT Select RRTID from the list below
( PR MT MH AC DV AS FR SP PY TN FH AA WP PF AR )
DAFMI08Y
CICS Translation ===> Y (Y/N) Call CICS translation
DB2 Pre-compile ===> Y (Y/N) Call DB2 pre-compiler
Assembler listing ===> N (Y/N) Show assembler PMAP
CICS translate only ===> N (Y/N) Halt after CICS Translation
SUNDAY OCT 31, 2010 16:33:51
PRESS: ENTER to process PF3 to exit
RRT User Guide © Copyright Rexware Solutions 2009 Page 48
This Compile listing was returned in data set name TSOUSER.#CMP.PR.LST4822.ZTSTCMP5
The data set has a naming convention as follows: “PR” is the RRTID, ZTSTCMP5 is the
member name, #CMP designates COBOL compile listing and LST4822 is random. RRT?????
is randomly generated in place of the member name when none exists. If the CICS
translate or the DB2 pre-compile produce any errors, then their listings will be
returned first.
BROWSE TSOUSER.#CMP.PR.LST4822.ZTSTCMP5 Line 00000000 Col 001 080
Command ===> Scroll ===> CSR
********************************* Top of Data **********************************
PP 5655-G53 IBM Enterprise COBOL for z/OS 3.4.0 Date 04
Invocation parameters:
NOXREF,NOOPT,MAP,NOSEQ,NOOBJECT,LIB,NOLIST,FLAG(W)
PROCESS(CBL) statements:
RRT User Guide © Copyright Rexware Soluitions 2009 Page 49
5.3.2 QCCOPY – Compile a copybook, selected working storage
QCCOPY is used to get the total copybook length, and the individual lengths and displacements
of each field within a copybook.
A portion of COBOL working storage can be compiled for the same information. Other
copybooks within the selected working storage will be resolved using the current RRTID setting.
FORMAT: >>----- QCCOPY RRTID
RRTID - Optional. A two byte RRTID as defined in the configuration files. It is needed to select a
COBOL copybook concatenation for the compile process. If omitted, the RRTID will default to
the current setting.
Edit a copybook and enter QCCOPY, or place prefix command "CC" around a section of
working storage and enter QCCOPY
QCCOPY uses the current RRTID setting to expand copybooks within copybooks or working
storage. If required, first issue TSO QRRT (new RRTID) to change to a new RRTID environment
To instruct QCCOPY to pick up new/modified copybooks from a work library, see Appendix A
Quickly find syntax errors, verify the length of print lines, picture causes, LRECL changes.
Dump the lengths and displacements of a copybook or a working storage section
Results are returned in seconds
RRT User Guide © Copyright Rexware Solutions 2009 Page 50
Compile a copybook
Note: QCCOPY will insert a „01‟ level if the copy book does not start with one. Multiple “01”
levels are supported but remember that slacks bytes will be calculated for the field displacement
values. The same is true if SYNC is coded.
Results
EDIT TEST.USA.AGY.TEST(TSTCPY2) - 01.00 Columns 00001 00072
Command ===> QCCOPY Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 01 GW-IO-RESPONSE-AREA.
000002 05 GW-IO-COMP PIC S9(9) COMP.
000003 05 GW-IO-COMP5 PIC S9(9) COMP-5.
000004 05 GW-IO-COMP3 PIC S9(9) COMP-3.
000005 05 GW-IO-ZONE-DISPLAY PIC S9(9).
000006 05 GW-IO-EDIT PIC ZZZZZ.ZZ.
000001 TEST.USA.AGY.TEST(TSTCPY2)
000002
000003 @ = 01 LEVEL D = OBJECT OF OCCURS DEPENDING
000004 O = HAS OCCURS CLAUSE R = REDEFINES * = EXACT MATCH
000005 OG= GRP HAS LNGTH DEF E = EXTERNAL G = GLOBAL V=BLV CELL
000006 TSTCPY2 LENGTH: 2217 BYTES, RRTID=DV
000007 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
000008 LEN TYPE BEG END FIELD-NAME
000009 COL COL
000010 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
000011 @00197 GROUP....... 00001 00197 ..GW-IO-RESPONSE-AREA
000012 00004 BINARY...... 00001 00004 ..2..GW-IO-COMP
000013 00004 BINARY...... 00005 00008 ..2..GW-IO-COMP5
000014 00005 PACKED-DEC.. 00009 00013 ..2..GW-IO-COMP3
000015 00009 DISP-NUM.... 00014 00022 ..2..GW-IO-ZONE-DISPLAY
000016 00008 DISP-NUM-EDI 00023 00030 ..2..GW-IO-EDIT
. . . not all shown
RRT User Guide © Copyright Rexware Soluitions 2009 Page 51
Compile a selected portion of a copybook or working storage or FD
Results
EDIT TEST.USA.AGY.TEST(TSTCPY2) - 01.00 Columns 00001 00072
Command ===> QCCOPY Scroll ===> CSR
****** ***************************** Top of Data ******************************
CC 01 GW-IO-RESPONSE-AREA.
000002 05 GW-IO-COMP PIC S9(9) COMP.
000003 05 GW-IO-COMP5 PIC S9(9) COMP-5.
000004 05 GW-IO-COMP3 PIC S9(9) COMP-3.
000005 05 GW-IO-ZONE-DISPLAY PIC S9(9).
000006 05 GW-IO-EDIT PIC ZZZZZ.ZZ.
000007 05 GW-IO-DISPLAY PIC X(9).
CC 05 GW-IO-FLOAT COMP-2.
VIEW TSOUSER.COLS.OFF8971.TSTCPY2 Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 TEST.USA.AGY.TEST(LINES: 1-8 FROM TSTCPY2)
000002
000003 @ = 01 LEVEL D = OBJECT OF OCCURS DEPENDING
000004 O = HAS OCCURS CLAUSE R = REDEFINES * = EXACT MATCH
000005 OG= GRP HAS LNGTH DEF E = EXTERNAL G = GLOBAL V=BLV CELL
000006 TSTCPY2 LENGTH: 47 BYTES, RRTID=DV
000007 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
000008 LEN TYPE BEG END FIELD-NAME
000009 COL COL
000010 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
000011 @00047 GROUP....... 00001 00047 1..GW-IO-RESPONSE-AREA
000012 00004 BINARY...... 00001 00004 ..2..GW-IO-COMP
000013 00004 BINARY...... 00005 00008 ..2..GW-IO-COMP5
000014 00005 PACKED-DEC.. 00009 00013 ..2..GW-IO-COMP3
000015 00009 DISP-NUM.... 00014 00022 ..2..GW-IO-ZONE-DISPLAY
000016 00008 DISP-NUM-EDI 00023 00030 ..2..GW-IO-EDIT
000017 00009 DISPLAY..... 00031 00039 ..2..GW-IO-DISPLAY
000018 00008 COMP-2...... 00040 00047 ..2..GW-IO-FLOAT
000019 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
000020 **$_$_$_$_ END OF REPORT _$_$_$_$**
RRT User Guide © Copyright Rexware Solutions 2009 Page 52
5.3.3 QCOMPGO – Compile, link and execute
FORMAT: >>----- QCOMPGO RRTID PARM
RRTID = RRTID needed to resolve COBOL copybooks. Defaults to current RRTID.
Required if using PARM, otherwise it is optional.
PARM = Pass data to the test program (Optional)
To instruct QCOMPGO to pick up new/modified copybooks from a work library, see Appendix A
SQL, CICS or additional files are excluded from this procedure. Quickly test a verb like
UNSTRING, INSPECT, or an LE routine like HEAP STORAGE. Results are written to a file and
returned to the TSO session. Note: Be sure to have created a personal LOADLIB and have
defined it the RRTID in the configuration file.
COBOL ROUTINE THAT GETS HEAP STORAGE
Let‟s get 1,234 bytes of storage
EDIT TEST.USA.AGY.TEST(TESTHEAP) - 01.00 Columns 00001 00072
Command ===> QCOMPGO PR 1234 Scroll ===> CSR
000065 PROCEDURE DIVISION USING JCL-PARM.
000066 IF JCL-L > ZERO
000067 MOVE JCL-HEAP-SIZE(1:JCL-l)
000068 TO WS-JCL-ADJ
000069 MOVE WS-JCL-ADJ TO JCL-HEAP-SIZE.
000070 IF JCL-HEAP-SIZE NUMERIC
000071 AND JCL-HEAP-SIZE > ZERO
000072 MOVE JCL-HEAP-SIZE TO WS-HEAP-SIZE
000073 ELSE
000074 DISPLAY ' JCL PARM INVALID ' JCL-HEAP-SIZE
000075 GOBACK
000076 END-IF.
000077 MOVE 1 TO WS-HEAP-ID.
000078 DISPLAY 'WS-HEAP-SIZE = ' WS-HEAP-SIZE
000079 CALL 'CEECRHP' USING WS-HEAP-ID
000080 WS-HEAP-SIZE
000081 WS-HEAP-INCR
000082 WS-HEAP-OPTS
000083 WS-HEAP-FC.
Note: The complete program is sent as part of the installation.
RRT User Guide © Copyright Rexware Soluitions 2009 Page 53
1. First a COBOL compile listing will appear.
2. Next the linkage or binder listing will appear
3. Next the results of the DISPLAY statements are presented in a file
BROWSE TSOUSER.#CMP.PR.LST8267.TESTHEAP Line 00000000 Col 001 080
Command ===> Scroll ===> CSR
PP 5655-G53 IBM Enterprise COBOL for z/OS 3.4.0 Date 07
Invocation parameters:
NOXREF,NOOPT,MAP,SEQ,OBJECT,LIB,LIST,FLAG(W)
BROWSE TSOUSER.#LNK.PR.LST8267.TESTHEAP Line 00000000 Col 001 080
Command ===> Scroll ===> CSR
********************************* Top of Data **********************************
z/OS V1 R9 BINDER 23:27:41 THURSDAY JULY 9, 2009
BATCH EMULATOR JOB(FHUS111 ) STEP($$LOGON ) PGM= HEWL PROCEDURE($$LOGON )
IEW2278I B352 INVOCATION PARAMETERS - XREF,MAP=YES
BROWSE TSOUSER.#SYS.PR.OUT8267.TESTHEAP Line 00000000 Col 001 080
Command ===> Scroll ===> CSR
********************************* Top of Data **********************************
WS-HEAP-SIZE = 000001234
WS-HEAP-ELEMENT-ADDR = 0000720936
LK-HT-BUFFER-AREA = . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .
. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .
. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .
. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .
. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .
. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
******************************** Bottom of Data ********************************
RRT User Guide © Copyright Rexware Solutions 2009 Page 54
5.3.4 QMAP – Map a file column to a copybook field name
FORMAT: >>----- QMAP MEMB RRTID (uses cursor positioning)
MEMB – A copybook name that reflects the file (optional)
RRTID – A two byte reference for an RRT environment defined in the RRT configuration file
It is used to locate the copybook. If omitted, the current RRTID will be used. (optional)
Cursor positioning is needed for mapping. The flat file must be in edit mode.
Usage:
QMAP with no parameters will display the column number at the cursor position
QMAP MEMB with no cursor positioning inside the flat file will produce a complete length and
offset report of the copybook (MEMB).
QMAP MEMB with cursor positioning inside the flat file will display field names the touch upon
that cursor position
QMAP MEMB RRTID will use the libraries defined by the RRTID to locate the MEMB
For example:
Let‟s say “PR” is he RRTID for the production libraries.
QMAP GAMRIT PR would be entered for the production version of copybook GAMRIT.
RRT User Guide © Copyright Rexware Soluitions 2009 Page 55
Following example:
The flat file below reflects copybook GAMRIT. The current RRTID,”AA”, and the column
number at the cursor position will be passed to QMAP. “GAMRIT AA 50” will be sent
EDIT TEST.PRJ1.MAIN.ENT.G5848V00 Columns 00001 00072
Command ===> QMAP GAMRIT Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 QUICKENED12WW76XX000SOTRBALLXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
000002 QUICKENED12WW76XX097HOTRBALLOON2525141414 PHDllA17 04101130351535
000003 QUICKENED12WW76XX155HOTRBALLOON2525141414 PHDllA17 04202130415495
000004 QUICKENED12WW76XX163HOTRBALLOON2525141414 PHDllA17 03741130420015
000005 QUICKENED12WW76XX196HOTRBALLOON2525141414 PHDllA17 04561130434680
000006 QUICKENED12WW76XX197HOTRBALLOON2525141414 PHDllA17 04561130434680
000007 QUICKENED12WW76XX214HOTRBALLOON2525141414 PHDllA17 00518130446550
000008 QUICKENED12WW76XX215HOTRBALLOON2525141414 PHDllA17 00518130446550
000009 QUICKENED12WW76XX216HOTRBALLOON2525141414 PHDllA17 00518130446550
000010 QUICKENED12WW76XX217HOTRBALLOON2525141414 PHDllA17 00518130446550
000011 QUICKENED12WW76XX218HOTRBALLOON2525141414 PHDllA17 00518130446550
VIEW TSOUSER.COLS.OFF7406.GAMRIT Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 PARMS SENT: GAMRIT AA 50
000002 DSN=TEST.MVS.QUALTY.PRJ11.BASE.COPYSRCE(GAMRIT)
000003 @ = 01 LEVEL D = OBJECT OF OCCURS DEPENDING
000004 O = HAS OCCURS CLAUSE R = REDEFINES * = EXACT MATCH
000005 OG= GRP HAS LNGTH DEF E = EXTERNAL G = GLOBAL V=BLV CELL
000006 MEMBER LENGTH: 2200 BYTES, RRTID=AA
000007 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
000008 LEN TYPE BEG END FIELD-NAME
000009 COL COL
000010 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
000011 00003 DISPLAY.....*00050 00052 GA-DEPARTMENT
000012 00002 DISPLAY..... 00049 00050 GA-FUEL-CLASS
000013 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
000014 **$_$_$_$_ END OF REPORT _$_$_$_$**
GA_DEPARTMENT is at the cursor position. Column 50
An asterisk denotes an exact match of cursor position and beginning column number
RRT User Guide © Copyright Rexware Solutions 2009 Page 56
5.3.5 QFORMAT- Map a record to a copybook
FORMAT: >>----- QFORMAT MEMB RRTID LVL (uses cursor positioning)
MEMB – A copybook name that reflects the file
RRTID – A two byte reference for an RRT environment defined in the RRT configuration file
It is used to locate the copybook. If omitted, the current RRTID will be used.
LVL – “01” is the only valid value. Generate initial 01 level for a copybook. RRTID is required.
EDIT TEST.QSA.QF.FHGNRMT.D1118106.S000 Columns 00001 00072
Command ===> QFORMAT CAFRC2 Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 58207TIBH05000715081741976051120220070901 ÌÅ ÌÅ ÌÅ
000002 58207TIBH05000717081741976051120220070901
000003 58207TIBH05000718081741976051120220070907 oä
000004 58207TIBH05100715081741976051120220070927 h Ãð
000005 58207TIBH05100717081741976051120220070927 dÂ
000006 58207TIBH0510071808 20070901 å ý å ý å ý
000007 58207TIBH05100718081741976051100120070901 éÉ éÉ éÉ
000008 58207TIBH05100718081741976051120220070913 aäæ gÉð gÉð
DIT FHUS111.SPF.#COL.DV.MAP1753.CAFRCF2 Columns 00001 00072
ommand ===> Scroll ===> CSR
***** ***************************** Top of Data ******************************
00001 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00002 MAP PROD.QSA.M21.HEWN.BASE.COPY.SRC(CAFRCF2) MAP LNGTH = 148
00003 DATA TEST.QSA.QF.FHGNRMT.D1118106.S000 REC LNGTH = 148
00004 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00005 DSP COBOL FIELD NAME DATA
00006 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00007 0001 CF-DEPARTMENT .................. 582
00008 0004 CF-CONTRACT-NO ................. 07TIBH0500
00009 0014 CF-APPN-YR ..................... 07
00010 0016 CF-BALANCE-TYPE ................ 15
00011 0018 CF-TRANS-YR .................... 08
00012 0020 CF-VN-NO ....................... 17419760511
00013 0031 CF-MAIL-CD ..................... 202
00014 0034 CF-LAST-PROC-DATE .............. 20070901
00015 0042 CF-UPDATE-NO ................... 0 (BINARY)
00016 0044 CF-PPY-BALANCE ................. +0000000000000 (PACKED)
00017 0051 CF-PY-BALANCE .................. +0000001678671 (PACKED)
00018 0058 CF-M01-BALANCE ................. +0000001678671 (PACKED)
RRT User Guide © Copyright Rexware Soluitions 2009 Page 57
QSQL – Execute SQL directly from the source code
Execute the SQL statements directly from the source code.
FORMAT: >>----- QSQL ASM
ASM – use ASM to include code in columns 1 thru 71 when parsing the SQL statement. The
default is COBOL columns 7 thru 72.
Notes:
QMF type comments like (- -) are supported. QMF semicolons are supported i.e.,
QSQL will not read past an unquoted semicolon. QSQL will not read past an “END-EXEC”
statement. COBOL commented lines are bypassed. Lines hidden using TSO Line commands
“X” or “XX” are bypassed. QSQL is case sensitive.
Supported verbs are: SELECT, WITH, MERGE, INSERT, UPDATE, and DELETE.
The DECLARE portion is not sent to DB2 for syntax checking. Data types CLOB, BLOB and
DBCLOB and not supported. Field lengths greater the 500 bytes are truncated to 500 bytes.
TSO line commands “CC” are used to select the SQL to be executed
Note: CC, CC with PF4 defaults to COBOL
Command ===> QSQL Scroll ===> CSR
000099 * P R O C E D U R E D I V I S O N
000100 ****************************************************************
000101 PROCEDURE DIVISION USING JCL-PARM.
000102 MOVE JCL-START TO WS-ABS.
000103 INITIALIZE WS-MULTI-DEPT.
CC EXEC SQL
000105 DECLARE CR_DEPT ASENSITIVE SCROLL CURSOR
000106 WITH ROWSET POSITIONING FOR
000107 SELECT
000108 DEPARTMENT
000109 , NAME
CC FROM DEPARTMENT
000111 ORDER BY DEPARTMENT
000112 END-EXEC.
RRT User Guide © Copyright Rexware Solutions 2009 Page 58
If a supporting clause is absent, then this screen will appear.
NOTES:
A „/‟ in the first position disables that line for SQL access but enables it for comments or a
scratchpad area. Clauses and comments are saved.
Case sensitivity will default to “N”. A completely different SQL statement will be accepted as an
override as long as it starts with an SQL verb. (SELECT, DELETE, INSERT, WITH, UPDATE).
Scroll through the record using PF7, PF8. Enter to retrieve the next record or write a range of
records. The first record shows the total columns and the SQL type for each row
© R a p i d R e s e a r c h T o o l
SELECT * FROM OWNER.DB2TABLE
ENTER "WHERE/GROUP/HAVING/ORDER" CLAUSES OR AN SQL STATEMENT (optional)
/WHERE AREA > 144000000_______________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
______________________________________________________________________
CASE SENSITIVE(Y/N) N
RRTID .......... PR DIVISION ....... ACCOUNTING
DB2 SUBSYSTEM .. SSND DB2 OWNER ...... CWIP
PRESS: ENTER TO PROCESS PF3 TO EXIT
________ **********© R a p i d R e s e a r c h T o o l*********** _________
| SCROLL ===> CSR |
| |
| ENTER=Next PF3=Exit Write Records to Member: DB2OUT |
| 50 columns. An asterisk indicates the column can be null |
| LNG XCTF.DEPARTMENT RECORD NUMBER 19,SSNT,RRTID=AA,ACCESS ALL |
| 3 DEPARTMENT............ = A21 _ CHAR |
| 50 NAME................. = TRANSMUTATION _ *CHAR |
RRT User Guide © Copyright Rexware Soluitions 2009 Page 59
“WHERE” clause with host variables
Fill in Host Variable Values
Decimal and binary values do not have quotes. Variables are saved.
Command ===> QSQL Scroll ===> CSR
000099 * P R O C E D U R E D I V I S O N
000100 ****************************************************************
000101 PROCEDURE DIVISION USING JCL-PARM.
000102
000103 MOVE JCL-START TO WS-ABS.
000104
000105 INITIALIZE WS-MULTI-DEPT.
000106
CC EXEC SQL
000108 DECLARE CR_070A ASENSITIVE SCROLL CURSOR
000109 WITH ROWSET POSITIONING FOR
000110 SELECT
000111 DEPARTMENT
000112 , NAME
000113 FROM DEPARTMENT
000114 WHERE DEPARTMENT IN (:WS-DEPT1,:WS-DEPT2,:WS-DEPT3)
000117 ORDER BY DEPARTMENT
CC END-EXEC.
R a p i d R e a r c h T o o l
Host Variable Name Host Variable Value
:WS-DEPT1 „A55‟
:WS-DEPT2 „A09‟
:WS-DEPT3 „A66‟
RRT User Guide © Copyright Rexware Solutions 2009 Page 60
RESULTS (Three records) The first record shows SQL type for each row
_______ **********© R a p i d R e s e a r c h T o o l*********** ________
| SCROLL ===> CSR |
| |
| ENTER=Next PF3=Exit Write Records to Member: DB2OUT |
| 50 columns. An asterisk indicates the column can be null |
| LNG PRJ1.DEPARTMENT RECORD NUMBER 1,SSNT,RRTID=AA,ACCESS ALL |
| 3 DEPARTMENT............ = A09 - CHAR |
| 50 NAME................. = ELFRANKBEAU -*CHAR |
. . .Enter
_______ **********© R a p i d R e s e a r c h T o o l*********** ________
| SCROLL ===> CSR |
| |
| ENTER=Next PF3=Exit Write Records to Member: DB2OUT |
| |
| LGN PRJ1.DEPARTMENT RECORD NUMBER 2,SSNT,RRTID=AA,ACCESS ALL |
| 3 DEPARTMENT............ = A55 |
| 50 NAME................. = ALSEK/TATSHENSHINI RIVERS
. . .Enter
_______ **********© R a p i d R e s e a r c h T o o l*********** ________
| SCROLL ===> CSR |
| |
| ENTER=Next PF3=Exit Write Records to Member: DB2OUT |
| |
| LNG PRJ1.DEPARTMENT RECORD NUMBER 3,SSNT, RRTID=AA,ACCESS ALL |
| 3 DEPARTMENT............ = A66 |
| 50 NAME................. = Maxwell |
RRT User Guide © Copyright Rexware Soluitions 2009 Page 61
DELETE, INSERT, MERGE AND UPDATE require an additional confirmation
Host variables were filled in
Note: 121 ROW(s) will be deleted.. The DB2 Update function will also pre-inform you of
the extent of the update, but the MERGE function will not.
Enter “Y” to proceed with the DB2 request
EDIT TSOUSER.SPF.SRC(ZSCROLL) - 01.33 Columns 00001 00072
Command ===> Scroll ===> CSR
CC EXEC SQL
000151 DELETE FROM AGENCY_CD
000152 WHERE AGY = :WS-AGY
000153 AND FACILITY = :WS-FACILITY
CC END-EXEC
*******************CONFIRM DELETE REQUEST*******************
SCROLL ===> CSR
Confirm Request(Y) N 121 ROW(S) WILL BE DELETED USAS
MAINTENANCE,RRTID=MT,DB2 Subsystem/Owner = DSNT/USAS
DELETE FROM HEWN.AGENCY_CD WHERE AGY = 'A11' AND
FACILITY = '1'
RRT User Guide © Copyright Rexware Solutions 2009 Page 62
Error Processing
Another screen will appear if there are any SQL errors. The approximate location of the part of
the SQL statement that failed is highlighted --if it is available. The SQL statement sent to DB2
appears afterwards.
Created an error by misspelling “VALUES”
Note: The asterisk marks the exact location returned by DB2. It can vary by the DB2 release.
“MERGE” is available to DB2 9.1 or later.
**********© R a p i d R e s e a r c h T o o l***********
| SCROLL ===> CSR |
| Dynamic DB2 Connect/Prepare Error Message USAS Acct001 |
| PF3=Exit |
| SQLCODE: -104, SQLSTATE: 42601 |
| DB2 SUBSYSTEM=SSND, PRODUCTION |
| _____________________________________________________________________ |
| APPN_YR ) ALUES (T.AGY, T.CONTRACT, AY) |
| * |
| MERGE INTO CWIP.SPRCONTRACT AS A USING (VALUES ( 'HV01' , 'HV02' , 'H |
| V03' ) FOR 3 ROWS) AS T (AGY, CONTRACT, AY) ON (A.SPRDEPARTMENT = T.A |
| GY) WHEN MATCHED THEN UPDATE SET SPRDEPARTMENT = A.SPRDEPARTMENT WHEN |
| NOT MATCHED THEN INSERT (SPRDEPARTMENT , SPRCONTRACTNO , SPRAPPNYR |
| ) ALUES (T.AGY, T.CONTRACT, AY) NOT ATOMIC CONTINUE ON SQLEXCEPTION |
| |
| ===================================================================== |
| DSNT408I SQLCODE = -104, ERROR: ILLEGAL SYMBOL "". SOME SYMBOLS THAT |
| MIGHT BE LEGAL ARE: DSNT415I SQLERRP = SQL PROCEDURE DETECTING ERROR |
RRT User Guide © Copyright Rexware Soluitions 2009 Page 63
Write records
Usage: Write requests are sorted and displayed at the top of the panel. Records are written
when PF3 is entered. A request to write a zero record ( “0” ) will clear all accumulated
requests.
| WRITE RECORDS: 22-23 SCROLL ===> CSR |
| |
| ENTER=Next PF3=Exit Write Records 22 to 23 Member: DB2OUT |
| |
| * PRJ1.DEPARTMENT RECORD NUMBER 1,SSNT,RRTID=AA,ACCESS ALL |
| 3 DEPARTMENT............ = A01 |
| 40 ADDRESS_LINE_1........ = PRJ1 BATCH CLIENT |
| 40 ADDRESS_LINE_2........ = RRT BUILDING |
| 40 ADDRESS_LINE_3........ = |
| 20 CITY.................. = DEKALB |
| 2 STATE................. = AK |
| 5 ZIP_CODE.............. = 44444 |
| 4 ZIP_PLUS4............. = |
| 3 COUNTY................ = |
| 10 PHONE................. = 4154633868
EDIT TSOUSER.PRJ.RRT.WORK.PRJ1(DB2OUT) - 01.00 Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 LNG NAME -- SSNT PRJ1.DEPARTMENT RECORD NUMBER 22
000002 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
000003 3 DEPARTMENT............ = A04
000004 40 ADDRESS_LINE_1........ = 1112 CHILKOOT #115
000005 40 ADDRESS_LINE_2........ =
. . . more lines not shown
000053 LNG NAME -- SSNT PRJ1.DEPARTMENT RECORD NUMBER 23
000054 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
000055 3 DEPARTMENT............ = A05
000056 40 ADDRESS_LINE_1........ = 3211 ALSEK REVERE
000057 40 ADDRESS_LINE_2........ = ROOM 207-B
. . . more lines not shown
RRT User Guide © Copyright Rexware Solutions 2009 Page 64
5.3.6 QDRAW – Draw an SQL table into the source code
FORMAT: >>----- QDRAW TABLE RRTID (uses cursor positioning)
Table - Any DB2 table or OWNER.DB2_TABLE
Owner is derived from the current RRTID if none is sent. DB2 subsystem is derived from the
current RRTID
RRTID – Optional. Any two byte RRTID defined in the configuration file. The RRTID is
needed if the “OWNER.TABLE” does not exist in the DB2 subsystem used by the current
RRTID, or the table structure from another subsystem is desired.
Usage:
Edit a member then place the cursor on the line where the table is to be drawn.
Then enter QDRAW followed by a DB2 table name
RRT User Guide © Copyright Rexware Soluitions 2009 Page 65
5.3.7 QASM – Assemble a program or a CICS BMS map
FORMAT: >>----- QASM RRTID TYPE
RRTID – Any two byte RRTID defined in the configuration file. If omitted default to the current
RRTID setting. Required if TYPE “N” is used.
TYPE - N = Not a BMS MAP
Y = Is a BMS MAP (default)
Usage:
Place BMS source or assembler source in edit mode, and then enter QASM on the command
line followed by the required parameters.
The assembler listing will appear first. A COBOL copybook will follow when assembling a BMS
map.
Include required Assembler copy/macro libraries in the configuration directive @MACL
RRT User Guide © Copyright Rexware Solutions 2009 Page 66
5.4 Messages
Most RRT commands and macros have additional information available by pressing PF1
Also follow some commands by a question mark (?) for additional help
5.5 Quick-Reference Card
All aliases can be renamed in the PDS. If one or more are is changed then do a global replace
for them in the user guide.
Alias Command Description (prefix these with TSO)
QACCESS @RRUSERS Manage User Access and work PDS
QRRT @RRCNFG Set or display RRT environments
QCOLS @COBCOLS Show copybook field displacements
QFIND @RRFIND Search for strings in an RRT environment
QCMPR @RRCMPR Compare members
QEZCOB @RREZCOB Create Easytrieve layout
Use the following in Edit mode. (Do not prefix with TSO)
QCOMPILE @RRCOMP Compile a program
QCCOPY @RRCMPCP Compile a copybook or selected working storage
QCOMPGO @RRCMPGO Compile, Execute (small test program)
QSQL @COB2DB2 Execute SQL from COBOL source
QMAP @DSPCOL Map a file column to a copybook
QBMS @ASMBMS Assemble BMS map
QASM @ASMBMS Assemble a program or a BMS map
QDRAW @RRDRAW Draw a DB2 table into the source code
QFORMAT @RRDRAW Map a flat file record
RRT User Guide © Copyright Rexware Soluitions 2009 Page 67
6 Appendix A
Ad hoc user copybook library- When executing QCOMPILE, QCOMPGO or QCCOPY it is
often helpful to pick up any copybooks that are being developed first. Place those copybooks in
a separate PDS and place that PDS at the top of @COPY in the config file for the respective
RRTID. Or, for a more global approach, add that PDS name to member ZSYSLIB in the work
PDS that was created by TSO QACCESS. If ZSYSLIB does not exist then add it as follows:
Check to see if the member exists. Enter TSO QACCESS and select option “L” next to your
work PDS. A member list will appear.
If ZSYSLIB is not there then select any component with an “S” on the prefix line
When that component pops up enter EDIT ZSYSLIB on the command line
Add your personal copybook library(s) to member ZSYSLIB
Add your development copybook member(s) to your personal copybook library.
EDIT TSOUSER.SPF.RRT.WORK(ZSYSLIB) - 01.02 Columns 00001 00072
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 * DSNS WILL APPEAR FIRST IN THE CONCAT FOR QCOMPILE, QCCOPY, QCOMPGO
000002 * BLANK LINES ARE IGNORED, LINES WITH '*' IN COLUMN 1 ARE COMMENTS
000003 TSOUSER.SPF.COPYLIB1
000004 TSOUSER.SPF.COPYLIB2
****** **************************** Bottom of Data ****************************
RRT User Guide © Copyright Rexware Solutions 2009 Page 68
7 Appendix B
7.1.1 QACCESS PARM
To pass high level nodes without using the parameter, find member QACCESS and edit it.
Change it to:
XXXXXX.XXX represents the high level nodes
Note: 20 bytes maximum length for the high level nodes
EDIT TSOUSER.DEV.CAR.TEST(QACCESS) - 01.01 Columns
00001 00072
Command ===> Scroll
===> CSR
000001 /* REXX TO USE A DIFFERENT NAME TO INVOKE @RRUSER
000002 */
000003 PARSE UPPER ARG P1
000004 CALL @RRUSER P1
000005 EXIT
EDIT TEST.USA.AGY.TEST(QACCESS) - 01.01 Columns
00001 00072
Command ===> Scroll
===> CSR
000001 /* REXX TO USE A DIFFERENT NAME TO INVOKE @RRUSER
000002 */
000003 CALL @RRUSER XXXXXXX.XXX
000004
000005 EXIT
RRT User Guide © Copyright Rexware Soluitions 2009 Page 69
8 Appendix B – Glossary of Terms
Explain the meaning of all terms used in this document.
Term Meaning
RRTID
A two byte reference needed to drive every RRT feature.
RRT features communicate to each other via this
reference to achieve coherence.
LE
Language Environment routines are packaged with
COBOL
Include LE libraries in @LSYS in the configuration
SYS1.IBM.CEE.SCEELKED
RRT User Guide © Copyright Rexware Solutions 2009 Page 70
RRT User Guide © Copyright Rexware Soluitions 2009 Page 71