Professional Documents
Culture Documents
Maintaining Your SMS Environment
Maintaining Your SMS Environment
www.redbooks.ibm.com
SG24-5484-00
SG24-5484-00
International Technical Support Organization
May 2000
Take Note!
Before using this information and the product it supports, be sure to read the general information in Appendix B,
“Special notices” on page 219.
This edition applies to Version 1 Release 5 of DFSMS/MVS, Program Number 5695-DF1 for use with Release 7 of
OS/390, and all subsequent releases and modifications unless otherwise indicated in new editions.
When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the information in any
way it believes appropriate without incurring any obligation to you.
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
The team that wrote this redbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Comments welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
v
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
ix
157.On-line initiated data set report from ISMF-saved list (3 of 3) . . . . . . . . . . . . 197
158.On-line initiated DASD volume report from ISMF-saved list (1 of 2) . . . . . . . 198
159.On-line initiated DASD volume report from ISMF-saved list (2 of 2) . . . . . . . 198
160.On-line initiated tape volume report from ISMF-saved list . . . . . . . . . . . . . . .199
161.On-line initiated data set report from DCOLLECT data (1 of 2) . . . . . . . . . . . 200
162.On-line initiated data set report from DCOLLECT data (2 of 2) . . . . . . . . . . . 200
163.On-line initiated DASD volume report from DCOLLECT data (1 of 2) . . . . . . 201
164.On-line initiated DASD volume report from DCOLLECT data (2 of 2) . . . . . . 202
165.On-line initiated DFSMS configuration report from DCOLLECT data. . . . . . . 202
166.Example, error message if SMS base configuration has no UNIT specified . 203
167.Code to externalize return code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
168.Modified code fragment from CLIST ACBQBAJ1 . . . . . . . . . . . . . . . . . . . . . . 205
169.Typical appearance of part of a CLIST setting the exit return code . . . . . . . . 206
170.Typical appearance of part of a CLIST adjusted to set ISPF return code . . . 206
171.Example, extension of ACBQBAG1 to create additional lines in test cases. . 217
172.Test case with additional line created by modified ACBQBAG1 . . . . . . . . . . 217
173.Example of a customized ACBJBAOB procedure . . . . . . . . . . . . . . . . . . . . .218
174.Example of a job to use your own modifications of ACB-execs . . . . . . . . . . . 218
This redbook provides a hands-on guide to using the IBM-provided tool for
managing your SMS environment. The NaviQuest functions, both interactively
and in batch, are the main focus of this book. SMS implementation basics,
NaviQuest setup and practical examples, and hints and tips from our practical
experience are provided to help the storage administrator modify, test, and
maintain the SMS configuration.
Thanks to the following people for their invaluable contributions to this project:
Bob Haimowitz
International Technical Support Organization, Raleigh Center
Jon Tate
International Technical Support Organization, San Jose Center
Carmen Yep
IBM San Jose
Comments welcome
Your comments are important to us!
This book is a reference guide to the tools and techniques that you can use to
manage your storage environment; to initially set up a storage management
methodology, then return to it as changes and reviews are required. We do not
intend this to be a stand-alone reference manual; use must be made of the
associated product manuals and other redbooks.
We start with the premise that you are working with a system that has
system-managed storage implemented, and the objective is to provide
information on how the storage management process can be automated and
simplified by using available tools and techniques.
The scale of the storage operation may have changed by orders of magnitude in a
few years, and it is likely that the strategies originally adopted should be reviewed
and enhanced now. You may have resisted the thought of reviewing and then
changing the Storage Management Subsystem (SMS) environment because of
the risk of unexpected results.
The SMS uses software programs to manage data security, placement, migration,
backup, recall, recovery, and deletion to ensure that current data is available
when needed, and obsolete data is removed from storage.
You tailor system-managed storage to your needs. You define the requirements
for performance, security, and availability, along with storage management
policies used to automatically manage the direct access, tape, and optical
devices used by its MVS operating systems.
With SMS, you can define performance goals and data availability requirements,
create model data definitions for typical data sets, and automate data backup.
There are system products and functions discussed throughout this book that
interact with the storage subsystem. They are described here briefly for
completeness.
You use the Interactive Storage Management Facility (ISMF) and the NaviQuest
enhanced ACS management routines to create the appropriate classes and
groups and relate them to each other.
SMS is required if you want to allocate data sets in extended format, or specify
compression or extended addressability. It is also required if you want to specify
partial release, system-managed buffering, or a secondary volume allocation
amount for VSAM data sets.
You can also use system-determined block sizes to automatically reblock physical
sequential and partitioned data sets that can be reblocked.
You use automatic class selection (ACS) routines to assign class and storage
group definitions to data sets, database data, and objects. You write ACS routines
using the ACS language, which is a high-level programming language. Once
written, you use the ACS translator to translate the routines to object form so they
can be stored in the SMS configuration. For a detailed description of the ACS
Language, you should refer to DFSMSdfp Storage Administration Reference,
SC26-4920.
The overall flow through the SMS ACS routines is shown in Figure 1.
Not
E xisting S to rage C las s A ss ig n ed
d ata set
A C S R ou tin e
co nve rsion
A s sig n e d
S torage G rou p
A C S R outine
SMS uses the following SMS data sets. Refer to DFSMSdfp Storage
Administration Reference, SC26-4920 for detailed information.
The ACDS must reside on a shared device, and have appropriate catalog entries
to ensure that all systems in the installation use the same active configuration.
Any fallback copies of the ACDS must be available and cataloged to all systems
that might need to use the fallback.
Classification of data is required to make the most effective use of the storage
facilities, and to enable appropriate management.
One of the benefits of system-managed storage is that there is no need for one
installation to be the same as any other, and it is not necessary for users to be
involved if a change in policies is needed. This means that it is easy for you to
make improvements as the installation changes. It is of course necessary to
ensure that if changes are made, they do not disrupt the ongoing operation of the
installation. The NaviQuest function as detailed in this book will allow you to be
confident that your proposed changes will work.
Note: It does not take long to review DFSMS FIT: Fast Implementation
Techniques Installation Examples, SG24-2569, and it is a useful reminder of the
point of the exercise.
After building a configuration and activating SMS, you need to monitor and adjust
the configuration over time. Maintenance activities include listing, altering,
copying, and deleting SMS classes, aggregate groups, storage groups, optical
libraries and drives, and tape libraries. It also includes listing, altering, and
ejecting optical and tape volumes.
In this book we concentrate on the ACS change cycle. That does not exclude
change requirements introduced from the higher level change cycle. Whatever
causes a requirement to change the ACS structure, it is important to manage that
change carefully.
Most changes can be handled incrementally, and often attention is paid only to
the current change. This can lead to inefficient logic in the ACS routines, and may
ultimately lead to difficulties in later changes, thus increasing the time taken to
implement them.
Whatever the cause for change requirements in the SMS structure and related
ACS routines, it is essential that any changes have only the desired effects, and
that existing data is not adversely affected. The NaviQuest facilities are there to
give you confidence that the changes you make not going to cause problems.
In simple terms, the strategy involved is to create a set of test cases, test them
against the existing structures, then make changes to the ACS routines and run
the test cases again. It is not usually necessary to rebuild the whole set of test
cases each time there is a system change.
This chapter will take you through these tasks, using the interactive screen
management facility (ISMF), DCOLLECT, and NaviQuest to test and make
changes to your storage configuration.
ISMF
ISMF is the interface, though ISPF, used to manage the DFSMS environment.
The primary ISMF functions are shown in Figure 2.
NaviQuest and its functions in managing an SMS and ACS environment is the
main focus of this book.
DCOLLECT provides attributes that are in the selected configuration for the
following:
• Data class constructs
• Storage class constructs
• Management class constructs
• Storage group constructs
• SMS volume information
• SMS base configuration information
• Aggregate group construct information
• Optical drive information
• Optical library information
• Cache names
• Accounting Information for the ACS
2.1 NaviQuest
The NaviQuest name was adopted when it was released for use with DFSMSdfp
1.3 as a Small Programming Enhancement (SPE). The same function was
incorporated into DFSMSdfp 1.4. Previously some of the functions were available
in the ISMF/E product.
In this section we provide a checklist that you can follow to establish a NaviQuest
testing environment. You need to collect various pieces of information, and make
some decisions about naming conventions. We provide a table for you to
document the information to get started (refer to A.5, “Data recording table
samples” on page 269) You should fill in the data collection tables as you obtain
or define the information required.
To start the process, you need to locate some fundamental information. You can
document this in the SMS data collection template shown in Table 19 on page 78.
As you progress through the NaviQuest setup process, you define certain names,
and set standards which you document in a table of the form shown
The following terminology and concepts are used to refer to NaviQuest functions.
The list is documented in NaviQuest User’s Guide, SC26-7194:
base line test set A special case test set, which includes all test cases for
data sets not planned for SMS management. Expected
values are nulls (’ ’); the associated special subtype prefix
is NEVR.
data classification The process of determining the data types in your
installation and identifying data subtypes that require
specific DFSMS data services.
data subtype Groupings of data sets from a data type needing identical
DFSMS services, such as performance, backup,
migration, or deletion. NaviQuest testing is managed at
the subtype level.
data type Major groupings of data. TSO, test, batch production,
online production, system, and temporary are examples
of data types that most installations have.
errors Results that are different from the expected results. Errors
are a subset of exceptions.
exceptions A test case whose results differ from the saved expected
results. For a regression test case, this exception is also
an error; for an initial test case, this exception might or
might not be an error. If the result is equal to the expected
value, there is no error.
expected results Values that you want assigned by the ACS routines for
data class, storage class, management class, and storage
group for a specific subtype when the ACS routines
perform correctly.
On your installation’s main ISPF/PDF screens, locate the entry for ISMF. It may
be called ISMF, or just IS. If you cannot locate it, contact the systems programmer
responsible for the ISPF/PDF environment. When you do find the ISMF setup,
use it, and refer to Figure 3.
Your understanding of the ISMF and NaviQuest environment will increase rapidly
if you follow the examples in this book on your system.
If you do not see this panel, but a shorter version, it is because the userid that
you are using is not defined as a storage administrator. Refer to Figure 4.
Refer to Figure 6.
It is important that you note the comment about having to exit from ISMF. If you
do not, your mode will not change to Storage Administrator.
Exit from ISMF, then re-enter it. You will see the main ISMF Primary Option Menu
for storage administrators shown in Figure 3 on page 16.
NaviQuest is also known as Enhanced ACS Management, and its panels are
accessed by selecting Option 11 from the ISMF Primary Option Menu. This will
take you to the Enhanced ACS Management — NaviQuest Primary Option Menu
Panel, shown in Figure 7.
Before using the NaviQuest panels and jobs, you need to do some tailoring and
setup preparations. NaviQuest is delivered with a set of JCL samples for typical
NaviQuest tasks. To avoid major tailoring for each job as you generate it, you can
make some global changes to suit your installation requirements.
The NaviQuest functions are intended as facilities that can be run in batch,
invoking the same ISMF functions as an online user. To enable this capability, the
basic ISMF panels have been extended to allow proper invocation from the TSO
Batch interface.
The data sets that need to be created and maintained, that are used to set up a
tailored NaviQuest environment are shown in Table 1. They are discussed in
detail in this chapter.
copy of sample jobs and tailored jobs userid.SACBCNTL.TAILOR FB/80 PDS or PDSE
To save output to a data set using SDSF, the following process works.
Use the ISPF option to access SDSF. Figure 8 shows a list of job output under
SDSF. The line command xdc is entered next to job name MHLRES7A with JOBID
JOB10196.
After pressing Enter, you go to the SDSF Open Print Data Set panel which is
shown in Figure 9. On this panel you enter:
• The name of the data set, member name the job output will be saved as, and
the disposition of the data set. The first time the data set is used, the
disposition should be NEW. For subsequent uses specify SHR or OLD.
• Set a value for the number of directory blocks, as this is required to create a
PDS. We used 10.
• Optionally, reset the blocksize to 0 so the system can determine a suitable
blocksize.
When Enter is pressed, the data set will be created, and the output will be copied
into it. Since the line command xdc was used, the data set will be closed.
As an alternative, the line command xd, which leaves the data set open, could
have been used in place of xdc.
The next time you enter this panel, change the data set disposition to SHR or
OLD.
Note:
The member name that you specify is not checked at all. If it already exists, the
existing member will be replaced without any message, regardless of what the
disposition is set to. Disposition relates to the data set as a whole, not individual
members.
Any information in the data set allocation area will be ignored when the
disposition is set to OLD or SHR. See Table 5.
Table 5. userid.SACBCNTL.JOBOUT member documentation
In order to illustrate the changes that can be made to JCL procedure ACBJBAOB,
we made a copy in data set MHLRES7.SACBCNTL.TAILOR called DOCJBAOB.
In this copy, we have annotated many lines of the procedure with strings of the
form <----#nn, where nn is a number from 01 to 04, or S1.
The purpose of this annotation is to point you to places where changes are
necessary or optional. Refer to Figure 10 on page 25 and Figure 11 on page 26.
<---#01 This line sets the default data set for saving ISMF tables. This data set is
used in several of the jobs, and is specified on the EXEC statement in multiple
places. This option can be used to set the correct name, rather than to correct it
on each EXEC statement in each job that uses it. The EXEC statement
references can just be deleted. Refer to 2.2.2, “Creating a data set to save ISMF
tables” on page 21 for information on creating the data set.
<---#02 This line sets the batch version of the terminal monitor program (TMP).
The TMP provides an interface between the user, command processors, and the
TSO/E control program. It obtains commands, gives control to command
processors, and monitors their execution mode. The TMP entry points
(IKJEFT01, IKJEFT1A, and IKJEFT1B) handle abends and non-zero return code
processing in different manners. Refer to the manual OS/390 TSO/E User’s
Guide, SC28-1968 for more information.
Note that the annotation is only on the comment for procedure step STEP1. The
effective change must also be made in the DD statement:
//STEP1 EXEC PGM=IKJEFT1B
This change makes sure that if a return code is set in a CLIST, it is passed back
to the JOB STEP, so that it can be seen on the JCL messages. Refer to 4.3,
“Batch job completion information” on page 204 for more information on this topic.
<---#03 These lines are in reference to the ISPF data sets that may need to be
changed. The high level qualifier (HLQ) of the ISPF data sets may be ISP, ISPF,
or potentially anything else. The standard ACBJBAOB procedure expects these
data sets to be named:
• ISP.SISPPENU
• ISP.SISPMENU
• ISP.SISPSENU
• ISP.SISPTENU
• ISP.SISPCLIB
If you have to change these names, note the two cases where they are used in
DCB references.
<---#04 These lines are in reference to the ISMF data sets that are commented
out, but should be made active. In the supplied version of ACBJBAOB, in some
instances, a concatenated list of data sets is constructed with a data set
referenced by a symbolic variable at the start of the list, with a default set to the
standard installation name for that data set. That name is then also shown, but
commented out, at the end of the concatenation list. To make it easier to specify a
local modification to one of the data sets, the standard installation name should
be made active (not commented out). This allows a user version of the data set to
contain only the changed versions, and any other members to be picked up
without having to be copied into the user copy.
by removing the *.
For an example of a tailored ACBJBAOB procedure, see Figure 173 on page 218.
For later reference, document the fact that ACBJBAOB has been modified. Refer
to Table 6.
Table 6. userid.SACBCNTL.TAILOR member name documentation
In some circumstances, you may find that it is easier to use the ISMF panels each
time, rather than save a standard job. If this is the case, you could modify the
source of the generated job to refer to your copy of the //name JCLLIB DD
statement, as well as incorporate any changes to the other JCL or control
statements.
We recommend a combination of DCOLLECT and ISMF saved lists and will talk
about their use in detail. You may generate test cases in foreground by using one
of the options presented in ISMF Option 11.1 or in batch mode using one of the
supplied REXX execs:
• ACBQBAG3 - Test cases from saved ISMF lists
• ACBQBAG1 - Test cases from DCOLLECT data
The generated test cases are different in content according to the source
information. The data set name is probably the most frequently used information
in ACS routines.
The erroneous data set names generated for VSAM and GDSs may be eliminated
by excluding such entries before the list is saved. The creation of saved data set
lists is greatly improved by REXX exec ACBQBAI2, which allows execution in
batch mode. Together with REXX exec ACBQBAG3, which will generate test
cases, you have a complete batch solution to select the data sets you need and
generate test cases based on the live information.
To generate a saved ISMF data set list, use ISMF Option 1 to generate a data set
list and use the SAVE command to save it.
The goal of list generation is to provide a list of data sets, volumes, or SMS
classes and their attributes. Through these lists, you may directly manage your
data for space, availability, and performance.
To generate a list, you must describe to ISMF which data sets or volumes to
include. You can generate a list of your data sets using the defaults, or a list
containing only a few narrowly selected entries by entering more specific
information about the entries on the appropriate selection entry panel. The more
entries you select, the longer it will take to generate the list.
The ability to generate ACS routine variables in test cases is unique to the ISMF
saved lists method of test case generation. Neither DCOLLECT nor VMA based
test case generations provide this ability.
2.7 ISMF saved data set list online test case generation
Two steps are required when using the online process to generate test cases. For
creation of the saved lists, refer to 2.7.1, “Creating ISMF data set lists” on page
32. Then, for use of the saved data, refer to 2.7.4, “Test case generation” on page
36 to generate the test cases.
Figure 12. ISMF Primary Option Menu — selecting data set functions
Select Option 1, which takes you to the Data Set Selection Entry Panel; see
Figure 13.
You can further refine the selection process by filling in subsequent panels.
On the Data Set List Panel, you issue the command to save the list. We entered
the save ismfdsnl replace command.
When you press Enter, the list is saved, and the command is cleared. You must
exit from the panel by using PF3 or typing the end command and pressing Enter.
Repeat to return to the ISMF Primary Option Menu.
Using PF7 and PF8, you can scroll the list of ACS test case variables. The saved
ISMF table resides in member A1ALIST, and the generated test cases will be
stored in the PDSE or PDS data set, MHLRES6.TESTCASE.LIBRARY, using the
member name prefix A1A. The member name prefix separates different data
classifications from each other.
Refer to Figure 16 for an example of the output of test case generation from an
ISMF saved table using NaviQuest.
Figure 16. Output of test case generation from ISMF saved table using NaviQuest
Generating test cases from saved ISMF tables offers many advantages:
• Greatest number of automatically generated ACS routine variables
• Optionally generation of additional variables with unique contents
• Batch support by NaviQuest
The erroneous data set names generated for VSAM and GDSs may be eliminated
by excluding such entries before the list is saved. The creation of saved data set
lists is greatly improved by REXX exec ACBQBAI2 which allows execution in
batch mode. Together with REXX exec ACBQBAG3, which will generate test
cases, you have a complete batch solution to select the data sets you need and
generate test cases based on the live information.
Select Option 1 on the NaviQuest Primary Option Menu; this takes you to the Test
Case Generation Selection Menu (see Figure 17).
To use the saved ISMF data set list, select Option 1, Saved ISMF List, on the Test
Case Generation Selection Menu.
This takes you to the Test Case Generation from Saved ISMF List Entry Panel
(see Figure 18).
In the Saved ISMF List field, you enter the name of a saved ISMF data set list.
This is the input from which the test cases will be generated. One test case is
generated for each data set reported in the saved list. The name of the saved
ISMF list we used is ISMFDSNL.
In the MEMBER NAME PREFIX field, you specify the prefix that will be used for
each test case generated. Use a new, unique prefix for each sub-type of data set.
The member name prefix we used is BASA.
The test case generation process generates test cases in the partitioned data set
specified in the Test Case PDS field. We specified data set name
MHLRES7.SACBCNTL.TESTBED. If no data set is specified, the test case will be
generated in data set userid.Tnn.TESTCASE, where:
• userid is the user id from which this option is invoked.
• nn is a serial number chosen by NaviQuest.
Each test case is stored as a separate member in the output data set, with the
member names being <prefix><nnnn>, where:
• <prefix> is the value specified in the Member Name Prefix
• <nnnn> is a serial number between 1 and 9999 assigned by NaviQuest.
<nnnn> normally starts with 1, but this may be affected if you specify 'N' in
Replace Existing Prefix field.
When you press Enter, the generation will take pace. This may take some time.
When all members have been generated, the session is put into ISPF browse.
Refer to Figure 19.
Figure 19. Online generated test case from ISMF saved data set, member list
We selected member BASA100 to view. Pressing Enter will open the data set
member which contains the test case data (see Figure 20).
2.8 ISMF saved data set list batch test case generation
To generate test cases in batch using ISMF data set saved lists, you need to
create and save the data set list, then use the ISMF saved lists to generate the
test cases.
Select Option 1, which takes you to the Saved ISMF List Operations Batch
Samples Selection Menu (see Figure 22).
Select the option Create Data Set List; this will generate sample JCL to create an
ISMF data set list in batch and then save it.
Save the job as it is for editing by pressing PF3, or typing end and then pressing
Enter. The panel shown in Figure 23 appears.
After the member is saved, access it from the Saved ISMF List Operations Batch
Samples Selection Menu panel by entering the data set and member name in the
Data Set to Edit field. Refer to Figure 24.
You must now tailor the job to collect the information you require. When you press
Enter, you will find be able to see the job JCL to generate a data set list in batch.
The editing, shown below, follows the usual pattern of changing the userid
IBMUSER to MHLRES7, and changing the //MYLIB JCLLIB data set name to
refer to MHLRES7.SACBCNTL.TAILOR.
The job contains all the parameters that can be specified and a short explanation.
Following the //SYSTSIN DD statement, you see the table name ISMFDSLC. This
edited example uses the modified version of the JCL procedure ACBJBAOB
referred to in 2.4, “ACBJBOAB JCL procedure” on page 24. The TABL2
parameter is commented out by replacing the comma by a blank.
This example has been set up to generate the same list as the online ISMF
example in 2.7.1, “Creating ISMF data set lists” on page 32. In the JCL the
following is specified:
• DSN(’**’) to collect all data sets
• SOURCEGL(2) Option 2 to generate a NEW list
• SOURCENL(1) Option 1 to generate data from the VTOCs
• VTOCVSER(MHL*) to use VOLSERs beginning with MHL
Note that the entire ISPSTART command and its operands constitute a TSO
command following the SYSTSIN DD statement. You must enter the + as
continuation characters, and in this case there is an additional right parenthesis
that terminates the CMD operands.
The output from the job shows the result of the parameters specified in the job,
which we can use to confirm that the results are what we wanted.
Figure 26. Sample output from batch ISMF data set saved list (part 2 of 2)
It is important to recognize that the message ***** ISMF ERROR ***** does not
necessarily mean that a processing error occurred, it may just mean that a
request could not be executed, but there may be valid reasons. The request that
we ran was for all the data sets on all the volumes with serial number prefix MHL.
There may not be anything on some of the volumes. For example, in the output
above, one message was issued:
***** ISMF ERROR ***** - APPLICATION(DGT1 - DATA SET); FUNCTION(
- RETURN CODE(0012); REASON CODE(0642)
Generally, if the return code is 0008 or lower, the message is informational, and
you probably do not need to be concerned.
2.8.1 Batch initiated ISMF saved data set name list report
A sample job is provided that you can tailor to list the data set information saved
by the ISMFDSLC job. The sample job will list the contents of the saved data set
list.
Select the option Generate Data Set Report. When you press Enter, you are put
in edit mode in the sample job to generate a report from a saved data set
list.Save the job as it is for editing, by pressing PF3, or typing end then pressing
ENTER. This takes you to the Save JCL Entry Panel.
Specify the name of the data set and member on the Data Set name field.
Document the member name in a table similar to the one in Table 10.
Table 10. userid.SACBCNTL.TAILOR member name documentation with ISMFDSLL
Edit the job to conform to your installation standards. After the member is saved,
access it from the Saved ISMF List Operations Batch Samples Selection Menu
panel by entering the data set and member name in the Data Set to Edit field. The
edited job JCL follows:
//MHLREP7A JOB (ACCT),'MHLREP7',MSGCLASS=H,
// NOTIFY=MHLREP7,CLASS=A,MSGLEVEL=(1,1),TIME=(0,10)
//MYLIB JCLLIB ORDER=MHLRES7.SACBCNTL.SAMPLE
//********************************************************************/
//*$MAC(ACBJBAOD) COMP(5695DF123):BATCH-GENERATE REPORT FRON DSN TABLE*
//* */
//* PROPRIETARY V3 STATEMENT */
//* LICENSED MATERIALS - PROPERTY OF IBM */
//* 5695-DF1 */
//* (C) COPYRIGHT 1996, 1998 IBM CORP. */
//* END PROPRIETARY V3 STATEMENT */
//* */
//* CHANGE ACTIVITY: */
//* */
//*$K0=NAVIQUEST,HACS110,95/08/04,SNJADR: INITIAL VERSION @K0A*/
//*$K1=KNQ0003,HACS110,95/08/04,SNJTCS: COMMENT CORRECTION @K1C*/
//*02/29/96 TCS - HACS110: REMOVED SEQUENCE NUMBERS @WA18945*/
//*$L0=NAVIQUEST,HACS120,96/06/18,SNJTCS: RELEASE 2 CHANGES @L0A*/
//*10/14/96 CCY - HDZ11C0: Ship as SPE @WA22861*
//* $T2=k150142,HDZ11E0,111997,SNJTCS: Adding TABL2 parameter @T2A*
//*11/18/98 TCS - HDZ11E0: Fix for ISPFILE problem @WA36007*
Figure 30. Selection of composite job Create Data Set List, Generate Report
The composite job might be selected for a regular process that needs to be
documented. In most cases, it will be sufficient to generate the list, and after
checking for serious errors, use the list in the test case generation process.
Figure 31. Selection panel, generate test cases from saved ISMF data set list
From the Saved ISMF List Operations Batch Samples Selection Menu choose the
Generate Test Cases from a Data Set List. After pressing Enter, you will be in edit
mode in the sample JCL.
Save the job as it is for editing, by using PF3, or typing end then pressing ENTER.
The Save JCL Entry Panel appears. In the Data Set Name field we entered the
name of the data set we have created for tailored NaviQuest jobs and the
member name the job is to be saved as. Refer to Figure 32.
You can document the name of the member containing the job in a table similar to
the one shown in Table 11.
Table 11. userid.SACBCNTL.TAILOR member name documentation with ISMFDSLG
ISMFDSLG To generate test cases from saved data set name list
After the member is saved, access it from the Saved ISMF List Operations Batch
Samples Selection Menu panel. Refer to Figure 33.
At this point, the job to generate test cases from a previously saved ISMF data set
list should be updated to meet your installation standards. The JCL follows:
//MHLRES7A JOB (ACCT),'MHLRES7',MSGCLASS=H,
// NOTIFY=MHLRES7,CLASS=A,MSGLEVEL=(1,1),TIME=(0,10)
//MYLIB JCLLIB ORDER=MHLRES7.SACBCNTL.TAILOR
//********************************************************************/
//*$MAC(ACBJBAG2) COMP(5695DF123): BATCH - TEST CASE GEN. SAVED LIST*/
//* */
//* PROPRIETARY V3 STATEMENT */
//* LICENSED MATERIALS - PROPERTY OF IBM */
//* 5695-DF1 */
//* (C) COPYRIGHT 1996 1998 IBM CORP. */
//* END PROPRIETARY V3 STATEMENT */
//* */
//* CHANGE ACTIVITY: */
//*$K0=NAVIQUEST,HACS110,95/08/04,SNJADR: INITIAL VERSION @K0A*/
//*$K1=KNQ0003,HACS110,95/08/04,SNJTCS: COMMENT CORRECTION @K1C*/
//*02/29/96 TCS - HACS110: REMOVED SEQUENCE NUMBERS @WA18945*/
//*$L0=NAVIQUEST,HACS120,96/06/18,SNJTCS: RELEASE 2 CHANGES @L0A*/
//*10/04/96 CCY - HDZ11C0: Ship as SPE @WA22861*/
//* $T2=k150142,HDZ11E0,111997,SNJTCS: Adding TABL2 parameter @T2A*/
//********************************************************************
//* *
Refer to Figure 34 and Figure 35 on page 60, which show examples of part of the
output from the batch initiated test case generation from a saved ISMF list.
This screen (Figure 34) shows the start of the TSO execution of the job, followed
by lines that document the generation of test cases BASBnn.
This screen (Figure 35) shows the last few test cases being generated, and the
ISPF log of the TSO session.
Save this output for later reference. Refer to Figure 36 for an example of saving
the output using SDSF.
Document the saved output in a table similar to the one shown in Table 12.
Table 12. userid.SACBCNTL.JOBOUT member ISMFDSLG documentation
You may request the generation for online processing using ISMF 11.1.2 (see
Figure 38) or for batch execution. ISMF 11.7.2 provides a sample for a batch job.
The test case library data set in either processing may be (and as we
recommend, should be ) a PDSE, which makes data set maintenance easier.
Figure 39. Example of test case generation from DCOLLECT data using NaviQuest
If you want test cases to be created containing additional ACS routine variables
(if available for the data set), you may consider modifying the REXX exec
ACBQBAG1. For an example, see A.3, “Modification to generate an additional
line in test cases” on page 216.
The VMA is a program that helps you analyze your current tape environment. You
use the volume mount analyzer to study tape mount activity, monitor tape media
use, and implement tape mount management at your installation. The volume
mount analyzer produces reports that you can use to tailor data classes,
management classes, and ACS routine filters depending on your specific tape
usage profile. Using TMM you can maximize the use of your tape media and
reduce your tape mounts.
One of the by-products of analysis of the tape activity could be recognition that
some data sets would be better implemented as standard DASD data sets, and
that will directly impact the NaviQuest test structure being developed.
For detailed information on the VMA, refer to Using the Volume Mount Analyzer,
SC26-4925.
Before embarking on ACS changes, you should check that you have all the
information you need. It is quite likely, for example, that you will have to spend
some time locating source code for the ACS routines that corresponds to the
classes and the storage group routines.
You should establish a standard job that you can run at the start of a change
cycle that serves as a checklist for the information you will need. Setting up this
checkpoint job is a useful introduction to use of the NaviQuest facilities. This
standard job consists of a DCOLLECT job to extract data from the ACTIVE SMS
subsystem data. The steps that you follow to collect DCOLLECT data are:
• Extract the DCOLLECT records.
• Report on the DCOLLECT records.
• Save the job output.
• Build a composite job from the DCOLLECT extract and DCOLLECT report
jobs.
You will now see the first of four panels that contain the generated sample
DCOLLECT job.
You are now using an ISPF edit view of the sample job that is set up to collect
data from SMS. The sample job will need JCL changes, and unless you modify it,
it will collect more than you want for this purpose, so you will need to edit it. You
can choose to edit it before or after saving. We saved it immediately.
• Exit from the ISPF edit session (PF3) and you will see a panel into which you
must enter information to save the job. Refer to Figure 40. Note that you must
have already created the data set you want to save into. Refer to 2.2.1,
“Creating a copy of SYS1.SACBCNTL” on page 20.
• When you press the end key, the job will be saved in data set
userid.SACBCNTL.TAILOR member DCOLACS. To avoid confusion, we
recommend that you do not routinely check the Replace Contents if DSN
Exists option. The data set must already exist. Refer to 2.2.1, “Creating a copy
of SYS1.SACBCNTL” on page 20.
• Record the creation of member DCOLACS. For an example, refer to Table 14.
The session will return to the DCOLLECT Data Operations Batch Samples
Selection Menu.
You now need to switch to an ISPF EDIT session to edit member DCOLACS of
userid.SACBCNTL.TAILOR
You can see a copy of the job as edited above, and with the comment lines
removed as in Figure 41 and Figure 42.
Figure 41. DCOLLECT job edited to collect ACTIVE SMS information (part 1 of 2)
Figure 42. DCOLLECT job edited to collect ACTIVE SMS information (part 2 of 2)
Refer to Figure 43 for a portion of the job output that shows the messages from
DCOLLECT.
You may see alternate messages, depending on whether or not your installation
has defined any Aggregate Groups, and whether the are any optical devices
defined. For the purposes of this exercise it does not matter whether these are
available or not.
Optical devices are supported by Object Access Method (OAM). Refer to the
Object Access Method Planning, Installation, and Storage Administration Guide
for Object Support, SC26-4918 for more information.
Use the same steps as shown in 2.9.1, “Extract the DCOLLECT records” on page
65 up to selecting Option 2:
• Select Option 11, Enhanced ACS Management
• Select Option 7, Batch Testing/Configuration Management
• Select Option 2, DCOLLECT Data Operations Batch Samples
• Choose Generate SMS Configuration Report from DCOLLECT Data
As described in 2.9.1, “Extract the DCOLLECT records” on page 65, you are now
using an ISPF edit view of the sample job that is set up to report on data from
SMS. The job will require JCL changes, so you need to edit it. You can choose to
edit it before saving. We saved it immediately.
• Exit from the ISPF edit session (PF3) and you will see a panel into which you
must enter information to save the job. Refer to Figure 44. Note that this uses
the same data set as the DCOLLECT jobs were saved in. To avoid confusion,
we recommend that you do not routinely check the Replace Contents if DSN
Exists option. (Note that the last line has been removed from this sample.)
When you press the end key, the job will be saved in data set
userid.SACBCNTL.TAILOR member ACSREP. The session will return to the
DCOLLECT Data Operations Batch Samples Selection Menu.
You now need to switch to an ISPF EDIT session to edit member ACSREP of
userid.SACBCNTL.TAILOR.
Specifying only RECORD=VL at the SYSIN DD-card will limit the report to the
storage group volume record information.
Refer to Figure 45, Figure 46, Figure 47 on page 74, and Figure 48 on page 74
for an example of a sample job that has been edited as described above, and also
has had the comments lines removed.
In this part (Figure 45) the JOB CARD has been modified, and the name of the
report data set being deleted.
In this part (Figure 47) the additional RECORD statements have been added.
The report is a series of lists of the parameters that are in each of the sets of
information. We will use that information later in this book.
The objective, to this point, has been to give you experience in using the ISMF
NaviQuest parameters. The results also include a useful report on information in
your system.
To complete the example to this point, we will save the output from the ACSREP
job.
Figure 50. SDSF panel updated to set data set name, member, and disposition
When ENTER is pressed, this will save the job output in member ACSREP of
userid.SACBCNTL.JOBOUT. The data set allocation parameters will all be
ignored.
Now record the existence of this set of job output. Refer to Table 16 for an
example.
Table 16. userid.SACBCNTL.JOBOUT member name documentation
Record the names of reports generated in a table entry. Refer to Table 17 for an
example.
Table 17. SMS configuration DCOLLECT report data set documentation
If you have been using SMS for a some time, you will know that most of the
everyday update activities are caused by minor changes like adding more
volumes to a storage group. The required actions are simple, and probably
without changes to the ACS routines. You may have forgotten the struggle you
had in those old days of SMS implementation. Of course, you will probably not
test such changes, because there is no change in the ACS routine logic.
From time to time, though, you have to modify your SMS configuration according
to new data set naming conventions or new SMS construct definitions which will
require changes in your ACS routines. You must be well prepared for that job.
It is unlikely that you will remember all procedures in ISMF, or the correct settings
in the fields on the screens to set up the proper contents in the right SCDS, even
if you last worked on the same SMS environment.
ACDS name _______________ ___ _______________ Use the MVS command D sms.
Refer to 2.10.1.1, “ACDS, SCDS,
and COMMDS name
determination” on page 78
Issue the command from SDSF or the system console. Refer to Figure 51 for
sample output.
You can transfer the information to the table resulting in an example like Table 20.
You can use that as a cross check that you have found all the information, but you
can obtain a neat report for each of the record types by using the ISMF panels,
for which the steps are documented in later sections.
Check active entry Data class name Source data set name and comment
The information in the source data set name and comments field in this example
does not have any particular significance. It is documented to illustrate the sort of
information that is important, particularly the name of the data set. The name in
this example implies a personal data set, whereas a system data set should have
been used, so that it is never subject to accidental deletion.
Refer to A.1, “Data sets referenced in this book” on page 211, for information on
availability of copies of the data sets.
Select Option 4, Data Class (refer to Figure 53). This takes you to the Data Class
Application Selection menu.
Specify that data should be collected for all data classes by entering ’*’ in the
Data Class Name field.
You can use the various ISMF command to review the data class records from
this panel.
The objective at this point is to create a record of the contents of these data class
records, in a data set.
To save the data class information for future use, enter the command LISTPRT on
the command line and press Enter. This takes you to the Data Class Print Entry
Panel (see Figure 55).
In the Select Format Type Field you specify the format of the report as either
Standard or Roster. If you specify Standard, information for each entry in the list
is printed just as in the list panel, that is, by column. If you specify Roster,
information for each list entry is printed one after the other, that is, by row.
In the Report Data Set Name Field you specify the name of the data set to
contain the data class list. We recommend that you choose a name similar to the
one shown here that relates to the date the information was collected.
We have specified to produce the report in Roster format and store the report in
data set userid.DATACLAS.REPORT.Y1999.AUG03. Do not overwrite a previous
copy. Request that all tags be printed by specifying the * option.
When you press Enter, a job will be generated, and you will see it in an ISPF edit
session. Refer to Figure 56.
Select Option 1, Submit Job for Background Processing. Verify that a valid JOB
CARD is specified.
Press Enter to continue; this takes you to the ISMF Data Set Print Execute
Statement Entry Panel (see Figure 57).
You do not need to do anything on this panel unless you wish to alter the
destination of the printed report.
Review the output of the job, which is a printout of the data set you specified to
contain the report in Figure 55 on page 83.
Record the name of the data set that contains the data class report.
At this point it would be helpful to use the information you have collected about
your data class definitions, and record them for further review. You can use the
example shown in Table 23. We have filled in our data class definitions.
&DSNTYPE =HFS
&LLQ =&HFS_DATA_SET
&DSN =&VALHQ
&DSN =MHLRES%.**
The management class is very important because, for a given data set, it defines
the strategy for protection of the integrity of the data. Management classes can
also be defined to assist with the process of accounting for resource use, and it is
likely that there will be management classes with different names but identical
characteristics. As this is probably an intended scenario, it is important that you
understand the reasons for the existence of the management class, and that your
management classes are well documented.
OMVSMC3 EVEBYE.JCL.CNTL/22FEB99SJWCREATEMCDB20
(A.7)
The information in the source data set name and comments field in this example
does not have any particular significance. It is documented to illustrate the sort of
information that is important, particularly the name of the data set. The name in
this example implies a personal data set, whereas a system data set should have
been used, so that it is never subject to accidental deletion.
Refer to A.1, “Data sets referenced in this book” on page 211 for information on
availability of copies of the data sets.
The same process we used for the data class records may be used to collect the
management class record data.
You can review the process as described in detail for the data class records in
2.10.3.1, “Data class view and print” on page 80.
For the purposes of this exercise, we will document the steps to follow in terms of
the various panel options, except where the panel contents are significant to the
Management Class record report.
On the ISMF Primary Option Menu, select Option 3, Management Class. This
takes you to the Management Class Application Selection Menu.
On the Management Class Application Selection Menu, accept the default panel
priming, which is the same as for Data Class. Press Enter, which takes you to the
Management Class List Panel.
On the MANAGEMENT CLASS LIST Panel, type listprt on the command line
and press Enter. This takes you to the panel shown in Figure 58.
In the Select Format Type Field, you specify the format of the report as either
Standard or Roster. If you specify Standard, information for each entry in the list
is printed just as in the list panel, that is, by column. If you specify Roster,
information for each list entry is printed one after the other, that is, by row.
In the Report Data Set Name Field, you specify the name of the data set to
contain the data class list. We recommend that you choose a name similar to the
one shown here that relates to the date the information was collected.
We have specified to produce the report in Roster format and store the report in
data set userid.MGMTCLAS.REPORT.Y1999.AUG03. Do not overwrite a previous
copy. Request that all tags be printed by specifying the * option.
When you press Enter, a job will be generated, and you will see it in an ISPF edit
session. Refer to Figure 56 on page 84.
As with the data class report, follow the panels through until the job is submitted,
and review the output.
Record the name of the data set that contains the management class report in a
table similar to the one shown in Table 25.
Table 25. Management class record report documentation
The information in the source data set name and comments field in this example
does not have any particular significance. It is documented to illustrate the sort of
information that is important, particularly the name of the data set. The name in
this example implies a personal data set, whereas a system data set should have
been used, so that it is never subject to accidental deletion.
Refer to A.1, “Data sets referenced in this book” on page 211 for information on
availability of copies of the data sets.
You can review the process as described in detail for the data class records in
2.10.3.1, “Data class view and print” on page 80.
For the purposes of this exercise, we will document the steps to follow in terms of
the various panel options, except where the panel contents are significant to the
management class record report.
On the ISMF Primary Option Menu select Option 5, Storage Class. This takes you
to the Storage Class Application Selection Panel. Accept the default panel
priming, which is the same as for data class and management class lists.
Pressing Enter takes you to the Storage Class List Panel. On the command line,
type listprt and press Enter. This takes you to the panel shown in Figure 59.
In the Select Format Type Field, you specify the format of the report as either
Standard or Roster. If you specify Standard, information for each entry in the list
is printed just as in the list panel, that is, by column. If you specify Roster,
information for each list entry is printed one after the other, that is, by row.
In the Report Data Set Name Field you specify the name of the data set to
contain the data class list. We recommend that you choose a name similar to the
one shown here that relates to the date the information was collected.
We have specified to produce the report in Roster format and store the report in
data set userid.STORCLAS.REPORT.Y1999.AUG03. Do not overwrite a previous
copy. Request that all tags be printed by specifying the * option.
As with the data class report and management class report, follow the panels
through until the job is submitted. Review the output.
Record the name of the data set that contains the storage class report in a table
similar to the one shown in Table 27.
Table 27. STORCLAS record report documentation
Refer to A.1, “Data sets referenced in this book” on page 211 for information on
availability of copies of the data sets.
The same process we used for the data class records may be used to collect the
storage group record data.
You can review the process as described in detail for the data class records in
2.10.3.1, “Data class view and print” on page 80.
For the purposes of this exercise, we will document the steps to follow in terms of
the various panel options except where the panel contents are significant to the
storage group record report.
On the ISMF Primary Option Menu select Option 6, Storage Group. This takes
you to the Storage Group Application Selection Menu. On this menu, accept the
default panel priming, which is the same as for data class, and press Enter. This
takes you to the Storage Group List panel.
On the Command line, type listprt and press Enter. This takes you to the panel
shown in Figure 60.
In the Select Format Type Field, you specify the format of the report as either
Standard or Roster. If you specify Standard, information for each entry in the list
is printed just as in the list panel, that is, by column. If you specify Roster,
information for each list entry printed one after the other, that is, by row.
In the Report Data Set Name Field, you specify the name of the data set to
contain the data class list. We recommend that you choose a name similar to the
one shown here that relates to the date the information was collected.
We have specified to produce the report in Roster format and store the report in
data set userid.STORGRP.REPORT.Y1999.AUG03. Do not overwrite a previous
copy. Request that all tags be printed by specifying the * option.
When you press Enter, a job will be generated, and you will see it in an ISPF edit
session. As with the data class report, follow the panels through until the job is
submitted and review the output.
Record the name of the data set that contains the storage group report in a table
similar to the one shown in Table 29.
Table 29. Storage group record report documentation
You can review the process as described in detail for the Data Class records in
2.10.3.1, “Data class view and print” on page 80.
For the purposes of this exercise, we will document the steps to follow in terms of
the various panel options except where the panel contents are significant to the
Volume records report.
On the ISMF Primary Option Menu select Option 2, Volume. Pressing Enter takes
you to the Volume List Selection Menu. Select Option 1, DASD, and press Enter.
This takes you to the panel shown in Figure 61.
For the purposes of a system audit, the physical and space data is required. If all
that was required was a list of volumes, the space data could be suppressed.
When the volume data has been retrieved, it will be displayed on the Volume List
Panel. Refer to Figure 62.
You can use ISMF commands to review the volume records from this and
subsequent panels.
The objective at this point is to create a record of the contents of these volume
records, in a data set.
On the command line, type listprt and press Enter. This takes you to the Volume
Print Entry Panel shown in Figure 63.
In the Select Format Type Field, you specify the format of the report as either
Standard or Roster. If you specify Standard, information for each entry in the list
is printed just as in the list panel, that is, by column. If you specify Roster,
information for each list entry printed one after the other, that is, by row.
In the Report Data Set Name Field, you specify the name of the data set to
contain the data class list. We recommend that you choose a name similar to the
one shown here that relates to the date the information was collected.
We have specified to produce the report in Roster format and store the report in
data set userid.VOLUME.REPORT.Y1999.AUG04. Do not overwrite a previous
copy. Request that all tags be printed by specifying the * option
When you press Enter, a job will be generated, and you will see it in an ISPF edit
session.
As with the data class report, follow the panels through until the job is submitted.
Review the output.
Record the name of the data set that contains the volume report in a table similar
to the one shown in Table 30.
Table 30. Volume record report documentation
We can build a changed SMS and ACS environment without affecting the
production system, but to do this we must use new names for all the elements.
When ready to activate the new structure, a backup copy of the current
environment must be made. The audit process will have established the name of
the ACDS that is used to activate the SMS subsystem at system start-up, and you
must be able to get back to that version quickly.
NaviQuest was originally created to assist with the problem that installations had
in defining their SMS environment and maintaining it. One of the most important
parts of NaviQuest is the ability to automate testing of ACS routines and their
supporting data sources.
Having finished all update activities, it is a good idea to test the new environment.
One of the solutions for this problem was to define the concept of the test case,
and to create a mechanism that allowed the ACS routines to be tested against the
cases that had been defined.
Clearly, tests are better conducted against real information rather than in the
abstract. NaviQuest provides processes to use data collected about a system to
create test cases. ISMF provides the basic testing facilities, to apply the test
cases. NaviQuest provides functions to assist with the testing process.
There are four general areas that NaviQuest addresses that are accessed from
the Enhanced ACS Management — NaviQuest Primary Option Menu Panel:
• ISMF online test case creation and management, accessed from Options 1-4.
• ISMF online SMS report generation, accessed from Option 5.
• ISMF online Model Command generation, accessed from Option 6.
• Batch ISMF function execution, accessed from Option 7.
We will introduce each of these options and provide information on the use of
these functions.
How many additional test cases will you need and how much time will you spend
to define them?
Are there any test cases you might have used last time when you did similar work,
and what should you do now with them?
Later, this data is used to see what happens when a new or revised ACS routine
is run against the test cases. This allows the ACS routine to be checked without
endangering the normal SMS operations.
For both the ISMF and DCOLLECT options, there are two ways of initiating the
data collection: ISMF online, which does the processing immediately; and ISMF
initiated batch jobs, which are used to prepare a job you can edit and submit to
run.
To generate a saved ISMF data set list, use ISMF Option 1 to generate a data set
list and use the SAVE command to save it.
The goal of list generation is to provide a list of data sets, volumes, or SMS
classes and their attributes. Through these lists, you may directly manage your
data for space, availability, and performance.
To generate a list, you must describe to ISMF which data sets or volumes to
include. You can generate a list of your data sets using the defaults, or a list
containing only a few narrowly selected entries by entering more specific
information about the entries on the appropriate selection entry panel. The more
entries you select, the longer it will take to generate the list.
Test cases based on ISMF saved lists are preferable to use if you need one of the
supported ACS routine variables to make decisions in your ACS routines:
• Maxsize is computed as the sum of primary space plus secondary space for
all possible extents, depending on the kind of data set organization.
• For SMS managed data sets, the following information is generated in the test
case:
• Data class
• Storage class
• Management class
Note, however, that this may not be a desirable outcome, as you may be
changing the ACS routines to make new assignments of any of the above, and
by being in the test case, the class information will be used. You may have to
create a copy of some test cases by hand so they do not use the generated
class information values.
• UNIT is generated as it appears in the DEVICE TYPE column in the saved
ISMF list.
• In the case of multi-volume data sets, ISMF saved lists are the only way to
generate test cases containing the information about all volumes they reside
on. DCOLLECT reports each data set by the volume it appears on, regardless
of how many other volumes it may be on.
• If you need information which is not permanently stored in the data set’s
catalog entry or VTOC DCB (for example, the name of a DD card or the
defaults kept in the DFP segments of RACF profiles), then you should use
ISMF saved lists as the method to generate test cases.
The ability to generate ACS routine variables in test cases is unique to the ISMF
saved lists method of test case generation. Neither DCOLLECT nor VMA based
test case generations provide this ability.
When using the ISMF panel to start a test case generation in foreground (see
Figure 15 on page 35) we can see how to request the additional information.
Below the heading ACS Test Case Variables: you may specify the contents of
some variables which will be unique for all test cases generated in this run. If you
need varying contents in such an ACS routine variable, you must either:
• Edit test cases manually after generation
• Do several generation runs providing different contents and using different
member name prefixes
Using PF7 and PF8, you can scroll the list of ACS test case variables. The saved
ISMF table resides in member A1ALIST. The generated test cases will be stored
in the PDSE or PDS data set MHLRES6.TESTCASE.LIBRARY using member
name prefix A1A. The member name prefix separates different data
classifications from each other.
Figure 65. Output of test case generation from ISMF saved table using NaviQuest
Generating test cases from saved ISMF tables offers many advantages:
• Greatest number of automatically generated ACS routine variables
• Optionally generation of additional variables with unique contents
• Batch support by NaviQuest
The erroneous data set names generated for VSAM and GDSs may be eliminated
by excluding such entries before the list is saved. The creation of saved data set
lists is greatly improved by REXX exec ACBQBAI2, which allows execution in
batch mode. Together with REXX exec ACBQBAG3, which will generate test
cases, you have a complete batch solution to select the data sets you need and
generate test cases based on the live information.
2.11.3 DCOLLECT
Test cases based on DCOLLECT data are appropriate for the following
requirements:
• If you always need the exact data set name which is really shown in the ACS
routines (see Table 7 on page 29)
• If you are not interested in currently migrated data sets (refer to Table 7 on
page 29)
• If your ACS routines are simple enough to decide most allocations based on:
• &DSN
• &DSTYPE
• &DSORG
• &SIZE
and existence or absence of a volume specification (see Table 13 on page 63).
• If you want to create a very large number of test cases.
You may request the generation for online processing using ISMF 11.1.2 (see
Figure 38 on page 62) or for batch execution. ISMF 11.7.2 provides a sample for
a batch job. The test case library data set in either processing may be (and as we
recommend, should be ) a PDSE, which makes handling much more comfortable.
Refer to DCOLLECT examples in Figure 66 and Figure 67.
1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(%ACBQBAG1 'MHLRES6.DCOLLECT.DATA' 10 TEST 'MHLRES6.TESTCASE.LIBRARY' Y) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(9
9999999)
FILE OUTPUT NOT FREED, IS NOT ALLOCATED
Test cases will be generated from the DCOLLECT input dataset:
'MHLRES6.DCOLLECT.DATA'
Figure 67. Test case generation from DCOLLECT data using NaviQuest
If you want test cases to be created containing additional ACS routine variables
(if available for the data set), you may consider modifying the REXX exec
ACBQBAG1. For an example, see A.3, “Modification to generate an additional
line in test cases” on page 216.
2.11.4 ISMF online test case generation from DCOLLECT data set lists
Two steps are required when using the online process. For creation of the data
set list, refer to 2.11.5, “ISMF online initiated DCOLLECT data set list creation” on
page 104. Then, for use of the saved data, refer to 2.11.6, “ISMF online test case
generation from DCOLLECT data set list” on page 109 to generate the test cases.
Refer to Figure 68 for the ISMF panel option to select Data Collection.
Figure 68. Selection of Data Collection for the DCOLLECT function (alfim98)
On the ISMF Primary Option Menu, select Option C, Data Collection. This takes
you to the DCOLLECT Data Collection Entry Panel shown in Figure 69 and
Figure 70 on page 106.
The second panel of the Data Collection Entry Panel is used to specify the
volumes the data is to be collected from. Refer to Figure 70 for the second panel
layout.
On this panel, the volume data is to be collected from VOLSERs beginning with
MHL.
Press Enter to generate the job. This takes you to the DCOLLECT Job
Submission Entry Panel, where the job submission and job statement information
are specified (see Figure 71 and Figure 72 on page 108).
The JOB CARD that is set up may be modeled and changed from ISPF. Review
the JOB CARD information, and make changes as required.
Pressing Enter takes you to the IDCAMS Execute Statement Entry Panel. If you
need to, you can edit this JCL; for example, to add a REGION to the EXEC
statement (see Figure 72).
Press Enter to submit the job and review the output. Figure 73 shows output from
the job.
If this output shows that there are DC or DR records, you may have a problem in
later processing. Refer to 4.5, “On-line DCOLLECT test case generation process”
on page 207.
2.11.6 ISMF online test case generation from DCOLLECT data set list
To generate test cases from a DCOLLECT data set list:
• Select Option 11 on the ISMF Primary Option Menu, which takes you to the
NaviQuest Primary Option Menu.
• Select Option 1 on the NaviQuest Primary Option Menu, which takes you to
the Test Case Generation Selection Menu (see Figure 74).
On the Test Case Generation Selection Panel, select Option 2, DCOLLECT Data.
Pressing Enter takes you to the Test Case Generation from DCOLLECT Data
Entry Panel.
The Test Case Generation from DCOLLECT Data Entry Panel is set up to:
• Use the data set list in userid.DCOLDSL.DATA.
• Generate the test cases with prefix BASC.
• Put the test cases in userid.SACBCNTL.TESTBED.
• Replace existing members.
When you press ENTER, the generation will start. The process issues progress
messages as it runs. Depending on the number of test cases being generated, it
may take some time.
When all members have been generated, the session will be put into ISPF
browse. Refer to Figure 76.
Note that test cases generated from DCOLLECT data have member names that
are the full width of eight characters.This makes them easy to distinguish from the
test cases generated from saved ISMF data set lists, which are built with the
prefix as specified, but with the number not extended to the full width.
This list has been scrolled forward, and member BASC0149 selected for
examination at random. Refer to Figure 77. The information is similar to that
obtained from the ISMF saved list.
2.11.7 ISMF batch initiated test case generation from DCOLLECT data
To generate test cases in batch from DCOLLECT data, two steps have to be
executed:
• To create the data set list, refer to 2.11.8, “Batch initiated DCOLLECT data set
name list” on page 112,
• To use the saved lists, refer to 2.11.9, “Batch initiated test case generation
from DCOLLECT data set list” on page 117, to generate the test cases.
Select Option 11 on the ISMF Primary Option Menu. Then select Option 7 on the
NaviQuest Primary Option Menu to transfer to the Batch Testing/Configuration
Management Selection Menu.
Select Option 2 to access the DCOLLECT batch jobs. Refer to Figure 79.
This will place you in ISPF edit mode in the sample job to collect DCOLLECT data
in batch. Press PF3 or enter the end command to bring up the panel to save the
job for editing. Refer to Figure 80.
Figure 80. Specify the data set and member to save the DCOLDSLC job
Document the saved member name in a table similar to the sample in Table 33.
Table 33. userid.SACBCNTL.TAILOR member name documentation with DCOLDSLC
ISMFDSLG to generate test cases from saved data set name list
On the Data Set to Edit field, enter the name of the data set and member name
the job was saved as. Refer to Figure 81.
Figure 81. Select the job to edit for DCOLLECT data collection
Press Enter, and the DCOLDSLC member will be displayed in an ISPF edit
session. The edited job JCL follows:
Figure 82. DCOLLECT step output from data collection job DCOLDSLC
2.11.9 Batch initiated test case generation from DCOLLECT data set list
The batch generation of test cases from DCOLLECT data uses the panel
DCOLLECT Data Operations Batch Samples Selection Menu.
Select Option 11 on the ISMF Primary Option Menu. Then select Option 7 on the
NaviQuest Primary Option Menu to transfer to the Batch Testing/Configuration
Management Selection Menu. Select Option 2, DCOLLECT Data Operations
Batch Samples, which takes you to the DCOLLECT Data Operations Batch
Samples Selection Menu.
Select the Generate Test Cases from the DCOLLECT Data option on the
DCOLLECT Data Operations Batch Samples Selection Menu.
This will place you in ISPF edit mode in the sample job to generate test cases
from DCOLLECT data in batch. Press PF3 or enter the end command to bring up
the panel to save the job for editing. Refer to Figure 84.
Figure 84. Specify the data set and member to save the DCOLDSLG job
Document the saved member name in a table similar to the one shown in Table
34.
Table 34. userid.SACBCNTL.TAILOR member name documentation with DCOLDSLG
ISMFDSLG To generate test cases from saved data set name list
After pressing Enter, the DCOLLECT Data Operations Batch Samples Selection
Menu Panel will appear.
Enter the name of the data set and member name that the job JCL was saved as
on the Data Set to Edit field. Refer to Figure 85.
Figure 85. Select the job to edit for DCOLLECT data collection
Figure 86. Output, batch test case generate job, DCOLLECT data set list
Optionally, save the output from the job as member DCLDSLG. The test cases
are stored in the userid.SACBCNTL.TESTBED data set, so you do not have to
retain the batch job output once you have checked the success of the operation.
If you do save the output, document it in a table similar to the one shown in Table
35.
Table 35. userid.SACBCNTL.JOBOUT member DCOLDSLG documentation
At first we will show an existing test case we created. To look at the contents, you
can use ISMF Option 7.4.2 (refer to Figure 87 on page 123).
• From the ISMF Primary Option Menu, select Option 7, Automatic Class
Selection. This takes you to the ACS Application Selection Menu.
• Select option 4 Test. This takes you to the ACS Test Selection Menu.
• Select option 2, Alter. At the bottom of the page, we entered our ACS test
library name member name as follows:
ACS Test Library . . 'MHLRES6.TEST.EXCP2'
ACS Test Member . . TABL1
This takes you to the ACS Test Case Alter Menu.
The content of the test case is presented on four screens which may be scrolled.
All possible fields of a test case are shown, but only those fields containing at
least one non-blank character are building the individuality of the test case. The
first two editable lines may contain a description of the test case. In our example,
all descriptions were generated by functions of NaviQuest:
• The Description contains the creation date of the test case and the creating
user. This information might be interesting in some rare cases, due to the fact
that normal ISPF member statistics are not available when you create or
change test cases using ISMF or NaviQuest. If you create test cases for long
term usage, you might rather choose to describe the part of ACS routine
processing you want to check using this test case.
• The Expected Result line is normally used to describe the expected result
when executing the test case. Primarily, these expectations should help you
when testing occasionally with individual test cases. Keep in mind that none of
the test procedures provided by ISMF and NaviQuest will ever reuse these
expectations to verify the achieved results. In some cases, it might even be
impossible to store the complete list of results in that single line, due to the
fact that up to fifteen storage groups are allowed to be assigned to a single
space request. A test case need not have an entry in this field to be valid, but
it seems obvious that testing of ACS routines makes no sense if you do not
know what will be the expected result when running the test case. Do not
worry about the time it will take to fill in the expectations, because NaviQuest
may do that for you, based on the latest test results (see 3.4.1.3, “Test case
update with test results” on page 141).
If you prefer a compact presentation of the test case, you should simply browse
the content of the member in the test case library (see Figure 88). The structure
of the content of a member is simple. Starting with column 1 there is the name of
the ACS routine variable followed by a colon and a blank. The rest of the line or
the following line shows the content of the variable. There is any sequence of
variable definitions possible. Even an empty member is considered to be a valid
test case (of course, it does not make much sense to do this).
If you want to print the content of a test case library, use PDF option 3.4:
• To print the whole library, including all members, simply use line command P in
the data set list.
• To print a single member, use the line command P in the member list.
Using ISMF Test Case Alter, you cannot print the test cases unless you capture
each screen physically. See Figure 88.
Most test cases contain settings for less than ten ACS routine variables. This
normally results in a member with less than twenty lines, which fits easily in a
screen.
The FILTLIST is a generic construct that can be used by all of the ACS routines.
Because the context may be different in each of the routines, many installations
initially set up FILTLISTs that were unique to each ACS routine. When the initial
build was done by one person or a team working on it together, conflicts did not
usually arise.
However, as time goes on, different people add new filters, and may use a
different naming convention. In the end, it is likely that the same name for a filter
will end up in more than one routine, with different intent and results in each.
NaviQuest provides you with a mechanism to maintain all the FILTLISTs in the
same member of the ACS routines data set, then redistribute them to the
individual ACS routines. All ACS routines then have the same FILTLISTs, whether
they use them all or not. This makes it easy for you to review the FILTLIST names
and avoid conflicts.
You can maintain multiple FILTLIST member, but you can only put the contents of
one FILTLIST into an ACS routine.
COPYFILT is a COPYLIB facility for filter lists contained in ACS routines. Once
you have set the ACS routine members up, the COPYFILT ISPF macro is used to
redistribute the FILTLISTs.
In turn, each ACS routine has to have the same start and end delimiters in it.
Everything between the start delimiter and the end delimiter is replaced by the
block of FILTLIST code from the FILTLIST member.
This will bring up a panel for you to fill in the ACS routine member names. The
example in Figure 90 has had the member names filled in.
You must supply comments to go in the Change Log Entry. The member names
remain primed and you can run the update as many times as you like, but each
time must contain its own new Change Log Entry. When you press Enter, the
editing will be done on the members to add the FILTLISTs where specified, and to
add the change comment. The Change Log Entry comment that was entered for
the test case was PROPAGATE FILTLISTS TO FOMVSxx MEMBERS. A second
COPYFILT was run with the Change Log Entry as 2ND PASS PROPAGATION,
NO CHANGES, so that this feature could be demonstrated.
Refer to Figure 93 and contrast the listing with the member with expanded
FILTLIST.
Figure 94. First few lines of member FOMVSSG9 showing inserted FILTLIST
Contrast this with Figure 95, where there is no FILTLIST in the original member.
The information in the source data set name and comments field in this example
does not have any particular significance. It is documented to illustrate the sort of
information that is important, particularly the name of the data set. The name in
this example implies a personal data set, whereas a system data set should be
used to prevent accidental deletion.
Refer to A.1, “Data sets referenced in this book” on page 211 for information on
availability of copies of the data sets.
The screen images in Figure 96 and Figure 97 show the full set of available
sample selections for configuration changes, showing the two panels as they
appear. If you do not specify anything in the field Data Set to Edit, you will access
the supplied sample jobs. If you wish to access your previously tailored jobs, you
can specify the data set name in the Data Set to Edit field, including the member
name if the data set is partitioned.
You can access and submit jobs from this data set from ISPF edit.
Most of the data sets detected by your ACS routines are permanent, which
means that you will find some of them in your current system. Therefore, you can
catch their description by DCOLLECT records or an ISMF data set list to create
test cases automatically using NaviQuest (see 3.2.1, “Automatic test case
creation” on page 135).
But usually there are also data sets of a different nature, which are hard to find in
your system, due to their short lifetimes or their rare appearance. These are the
test cases that you usually have to define manually.
Using ISMF 7.4, you have to specify 1 for DEFINE, the name of the test case
library, and the member name where the new test case should be stored (see
Figure 98).
It might be a good idea to use the same test bed library for manually created test
cases as for all the other test cases, because this will make it easier to execute
the test cases. Be careful when choosing the member name. Choose a member
name without numerics or with a prefix ($ in our example) that you would not
normally use when creating test cases automatically with NaviQuest. We
recommend this kind of naming convention to avoid inadvertent deletion of
manually created test cases by NaviQuest’s automatic test case generation
process, which is often used with the option to replace existing members.
The following screens are the same as described in 2.12, “Interpreting a test
case” on page 122. You have to enter all information that is checked by one of the
ACS routines.
This is a safe method to create new test cases, which will guarantee syntactically
correct members. If you specify incorrect content in one of the fields, ISMF will
refuse to save the test case.
The other option is to copy an existing member and to edit its content using the
PDF edit. This is a quick (and sometimes dirty) method which bears the risk of
incorrect syntax in the member. A test case containing incorrect syntax will result
in an error during testing (see Figure 99).
When the system determines a test case contains invalid syntax, testing will be
suspended at that point. If you specified a generic member name in the ACS Test
Member field, all following test case members will not be invoked.
When possible, we recommend that you do not build test cases manually. You
should check the member’ s content every time you edit a test case using an
ISMF test case ALTER, after which the system might refuse even to open the test
case if there is a syntactically incorrect content.
Each time you change ACS routines, you must add or remove test cases to
provide a fitting test environment. The required contents of your test cases will
depend on the coding of your ACS routines. In most cases, it is enough to provide
the data set name and two or three other items like data set organization, primary
space and data set type (permanent, temporary, or gds) to set up the base
environment for a successful decision in your ACS routines.
Consider the situation where you have to change an unknown SMS configuration,
but the person who did this job previously is not available and did not leave any
useful information.
If you are concerned about the difficulties of a study to find out the data types in
your installation, you may want to create as many test cases as possible, based
on existing data sets, to make sure that any changes in your SMS configuration
will lead only to the expected changes in the behavior of your system.
Step 2
SCDS
(new) NaviQuest
//SYSTSIN DD *
ISPSTART
CMD(ACBQBAIA) ...
Test case library
Step 1
NaviQuest
//SYSTSIN DD * Base ACS listing
ISPSTART
CMD(ACBQBAIA) ...
or SCDS
ACDS (old)
Figure 100. Create ACS test listings for new and existing configurations
Step 3
NaviQuest
//SYSTSIN DD *
ISPSTART
CMD(ACBQBAC1)
...
Base ACS listing
Figure 102 shows the contents of the compare listing and the directory of the test
case exceptions library, enlarged.
Exception
test case library
Figure 102. Contents of the compare listing and the exception test case library
The compare listing starts with an overview of the data set resources used during
the compare as input and output. The differences between the input lists are
reported in the compare listing for each exception test case showing the results
(assigned constructs) in both environments (base or current and new). The
reported exceptions might be the differences you expected, so the exceptions are
not necessarily errors.
If you expected something different from what was reported in the compare
listing, there might be an error. Either you did not make the defined changes in
the ACS routines, or you need to check your expectations. To help you evaluate
the exceptions, the compare listing contains some additional information about
the test case, such as:
• Data set name
• Size
• Volume
• Unit
In our example, we had only one test case with exceptions (member TABL1 in the
exception test case library).
If you are executing several hundred test cases, we recommend that you run the
compare in batch mode.
If everything works as expected, continue with 3.3.1.3, “Test case update with test
results” on page 140.
If you need to make further changes in some of the ACS routines, you should go
back to 3.3.1, “Running test cases with new and current configurations” on page
136, to make sure that your changes give the expected results.
Figure 105 shows the same example using NaviQuest in batch mode where only
one member is in need of update. The change in the content of the test case
member is additional information stored as DESCRIPTION2. You can generate a
sample job using ISMF option 11.7.3.
NaviQuest
At least one //SYSTSIN DD *
member ISPSTART
CMD(ACBQBAU1)
exists? ...
Compare listing
Extract
member
names
NaviQuest provides sample JCL in the SYS1.SACBCNTL library. The JCL can be
modified for the task that is to be performed. We recommend that you make a
copy of this data set and modify the jobs in it. Refer to 2.2.1, “Creating a copy of
SYS1.SACBCNTL” on page 20.
The NaviQuest User’s Guide, SC26-7194 contains a list of the sample jobs
shipped with the product code and a description of the CLISTs and REXX EXECs
that are called by these jobs.
ISPSTART CMD(ACBQBAO1 +
ACSSRC('MHLRES6.NAVI.CNTL') MEMBER(OMVSMC9) +
SCDSNAME('MHLRES7.NAVIQ.SCDS') +
LISTNAME('MHLRES6.MGMTCLAS.LISTING')) +
NEWAPPL(DGT) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
ISPSTART CMD(ACBQBAO1 +
ACSSRC('EVEBYE.JCL.CNTL') MEMBER(OMVSSC9) +
SCDSNAME('MHLRES7.NAVIQ.SCDS') +
LISTNAME('MHLRES6.STORCLAS.LISTING')) +
NEWAPPL(DGT) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
ISPSTART CMD(ACBQBAO1 +
ACSSRC('EVEBYE.JCL.CNTL') MEMBER(OMVSSG9) +
SCDSNAME('MHLRES7.NAVIQ.SCDS') +
LISTNAME('MHLRES6.STORGRP.LISTING')) +
NEWAPPL(DGT) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
We will show only parts of the output of the job in order to avoid redundant
information and to highlight the meaningful parts worth further study.
How can you tell whether the requested translations were successfully done?
There are two places to find information regarding the success of the ACS routine
translations:
• ISPF log
• Output data set of the ACS translator
Let’s see what happened during translation of the data class ACS routine (see
Figure 108). The first 9 lines contain other messages from the TSO environment,
followed by messages from the REXX execs in lines 10 through 24. There is no
information up to this point indicating the success or failure of the process.
Starting with line 27, we get some information from the ISPF log. After several
lines confirming the start of ISPF using exec ACBQBAO2, there is an error
reported with return code 8 and reason code 3103:
We have found that ISMF reason code in the DFSMSdfp Diagnosis Reference,
LY27-9606 to have the following meaning:
3103 SVC99 — data set not found
As we have deleted the data set requested for output use of the translator at the
beginning of the job step, this error message is normal, and we don’t need to be
concerned about it.
1READY
PROFILE PREFIX(MHLRES6) WTPMSG
READY
DEL 'MHLRES6.DATACLAS.LISTING'
ENTRY (A) MHLRES6.DATACLAS.LISTING DELETED
READY
DEL 'MHLRES6.MGMTCLAS.LISTING'
ENTRY (A) MHLRES6.MGMTCLAS.LISTING DELETED
READY
ISPSTART CMD(ACBQBAO1 ACSSRC('EVEBYE.JCL.CNTL') MEMBER(OMVSDC2) SCDSNAME('MHLRES7.NAVIQ.SCDS') LISTNAME('MHLRES6.DATACLAS.LISTING'))
NEWAPPL(DGT) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
SCDS TO TRANLATE INTO: 'MHLRES7.NAVIQ.SCDS'
ACS ROUTINE CAME FROM DATA SET: 'EVEBYE.JCL.CNTL'
MEMBER NAME TRANSLATED FROM 'EVEBYE.JCL.CNTL' WAS: OMVSDC2
TRANSLATION LISTING WAS PUT TO: 'MHLRES6.DATACLAS.LISTING'
MHLRES6.MHLRES6W.JOB10137.D0000105.? was preallocated (no free was done).
READY
READY
ISPSTART CMD(ACBQBAO1 ACSSRC('MHLRES6.NAVI.CNTL') MEMBER(OMVSMC9) SCDSNAME('MHLRES7.NAVIQ.SCDS') LISTNAME('MHLRES6.MGMTCLAS.LISTING'
)) NEWAPPL(DGT) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
SCDS TO TRANLATE INTO: 'MHLRES7.NAVIQ.SCDS'
ACS ROUTINE CAME FROM DATA SET: 'MHLRES6.NAVI.CNTL'
MEMBER NAME TRANSLATED FROM 'MHLRES6.NAVI.CNTL' WAS: OMVSMC9
TRANSLATION LISTING WAS PUT TO: 'MHLRES6.MGMTCLAS.LISTING'
MHLRES6.MHLRES6W.JOB10137.D0000105.? was preallocated (no free was done).
READY
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/20 Page: 1
This can be ignored, because there is neither a function nor return code nor
reason code reported.
The ACS translator output data set is not included here, but we have found the
appearance of a return code of zero, confirming the successful translation of the
data class routine.
Let’s see what happened during translation of the management class ACS routine
(see Figure 109 on page 148). Again we will check the ISPF transaction log for
the message "ACS OBJECT SAVED - The specified ACS object has been saved", but it
is not there. Instead, we have an error message indicating a return code of 12
and a reason code of 3131:
16:59 ***** ISMF ERROR ***** - APPLICATION(DGT7 - ACS); FUNCTION(TRANSLAT)
16:59 - MHLRES7.NAVIQ.SCDS
16:59 - RETURN CODE(0012); REASON CODE(3131)
16:59 - MODULE(DGTFFLXL); PROCEDURE(TRAN)
16:59 - MESSAGE ID(DGTFL043 - DGTFL043); LAST PANEL(DGTDFFL4)
16:59 - SERVICE(DGTECFTR); FEEDBACK(CALLMOD:DGTFFLTD
CALLPROC:ACSTRAN)
Figure 110. Error message in online ISMF after ACS translation failure
For further investigations we have to check the output list of the translator (see
Figure 111) which is part of the batch output if you provide a step to print the
output data sets of the ACS translator (see Figure 107 on page 145).
0048 IGD03171I MISSING WHEN KEYWORD OR LEFT PARENTHESIS FOR A SELECT STATEMENT
The NaviQuest jobs ACBJBAC2 and ACBJBAOQ both translate the ACS routines
into an SCDS and validate the SCDS. An example of the batch job SCDS
validation is shown in Figure 112 and continued in Figure 113.
We suggest that you copy the output data set of the validation process into the
job’s output to allow easy checking for error messages. This can be done by
inserting a further step, like the one shown in Figure 113.
Job output for the NaviQuest SCDS validation is shown in Figure 114, and the
copy of the validation list data set is shown in Figure 115.
Note that the return code of the job step will always be zero regardless of the
success of the validation. So you have to check the job by looking at the
validation list data set.
1 VALIDATION RESULTS
0
VALIDATION RESULT: ERRORS DETECTED
SCDS NAME: SYS1.SMS.MHLRES.SCDS
ACS ROUTINE TYPE: *
DATE OF VALIDATION: 1999/07/02
TIME OF VALIDATION: 18:14
0
IGD06025I THE MANAGEMENT CLASS ACS ROUTINE SETS NON-EXISTENT VALUE MCMHLRES
IGD06025I THE STORAGE CLASS ACS ROUTINE SETS NON-EXISTENT VALUE SCMHLRES
IGD06022I THE STORAGE GROUP ACS ROUTINE REFERENCES NON-EXISTENT STORAGE CLASS MHLRES
IGD06023I STORAGE GROUP NOVOLS IS NOT REFERENCED BY THE STORAGE GROUP ACS ROUTINE
These three tasks are normally available by using the same REXX exec for each
kind of construct, but using different keywords.
The sample job provided by ISMF 11.7.3 (see also NaviQuest User’s Guide,
SC26-7194) contains 3 steps:
Step 1 Checking of input
Step 2 Execution of define/alter
Step 3 Display
You can change the sample, but not all variations are valid:
• Step 2 never may run independently, because SYSTSIN for step 2 is prepared
by Step 1.
• Step 1 and step 2 are always necessary if you want to perform define or alter,
with step 3 as an option to display the resulting definitions.
• Step 1 may be run separately to check for correct syntax of parameters.
• Step 3 may be used alone to display existing management class definitions.
The output in SYSTSPRT and ISPLOG for step 1 is shown in Figure 116. If all
specified parameters are correct, you will get messages like those shown.
If there are any error messages in the SYSTSPRT of step 1, the input for step 2
will not be set up correctly, so step 2 will fail with return code 990.
If Step 1 ended correctly, you will see something similar to the output shown in
Figure 117 in the SYSTSPRT and ISPLOG from step 2.
This means that the management class was defined or altered as you requested.
Otherwise, if there are invalid parameter settings in your input, the step ends with
return code 990, and you will see the same message that would be shown in
online ISMF:
INVALID PARTIAL RELEASE - PARTIAL RELEASE must be Y, C, YI, CI, or N
Expiration Attributes
---------------------------------------------------------
Migration Attributes
Primary Days Non-usage . : 18
Level 1 Days Date/Days . : 0
Command or Auto Migrate . : BOTH
---------------------------------------------------------
Backup Attributes
Backup frequency . . . . . . . . . . . : 0
Number of backup versions . . . . . . . : 12
(Data Set Exists)
Number of backup versions . . . . . . . : 2
(Data Set Deleted)
Retain days only backup version . . . . : 365
(Data Set Deleted)
1 Retain days extra backup versions . . . : NOLIMIT
---------------------------------------------------------
If you request the display of an existing management class, you will see, for
example, what is shown in Figure 118 and Figure 119. As you can see, it is a
different format than what you would see if you had requested a report using the
LISTPRT command in ISMF.
If you specify an SCDS which does not exist, you will receive the following
message in SYSTSPRT:
Library 'MHLRES6.NAVIQ.SCDS' does not exist
---------------------------------------------------------
# Versions . . . . . . : 975
Retain only Version . . : 9999
Unit . . . . . . . . : YEARS
Retain extra Version . : 9999
Unit . . . . . . . . : YEARS
Copy Serialization . . : FAIL
ABackup Copy Technique : CONCURRENT PREFERRED
---------------------------------------------------------
MHLRES6.MHLRES6O.JOB07623.D0000114.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/06/30 Page: 1
If you specify a management class which does not exist, you will get a similar
display in your job but without any contents for the parameters and ISPLOG will
contain several errors.
The sample job provided by ISMF 11.7.3 (see also NaviQuest User’s Guide,
SC26-7194) contains two steps:
Step 1 Execution of define/alter
Step 2 Display
You can change the sample; both steps may be run independently.
The output in SYSTSPRT and ISPLOG for step 1 is shown in Figure 120. If all
specified parameters are correct, you will get messages like those shown.
This means that the data class was defined or altered as you requested.
Otherwise, if there are forbidden or conflicting parameter settings in your input,
you will see the same message that would be shown in online ISMF, for example:
ENTER IF EXT - The IF EXT field must be specified when DATA SET NAME
TYPE is EXT
If you specify an SCDS which does not exist, you will receive the following
message in SYSTSPRT:
Library 'MHLRES6.NAVIQ.SCDS' does not exist
1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAD1 DISPLAY SCDS('MHLRES7.NAVIQ.SCDS') DCNAME(DCMHLRES) ) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(999999)
SCDS = 'MHLRES7.NAVIQ.SCDS'
DCNAME = DCMHLRES
-------------------------------------------------------
Recorg . . . . . . . . . : KS
Recfm . . . . . . . . . :
Lrecl . . . . . . . . . : 133
Keylen . . . . . . . . . :
Keyoff . . . . . . . . . : 0
Space Avgrec . . . . . . : M
Avg Value . . . . : 1
Primary . . . . . : 1
Secondary . . . . : 1
Directory . . . . :
Retpd Or Expdt . . . . . :
Volume Count . . . . . . : 2
Add'l Volume Amount . :
Imbed . . . . . . . . . :
Replicate . . . . . . . :
CIsize Data . . . . . . :
% Freespace CI . . . . . :
CA . . . . . :
Shareoptions Xregion . . :
Xsystem . . :
Compaction . . . . . . . :
Media Interchange
Media Type . . . . . :
Recording Technology :
-------------------------------------------------------
MHLRES6.MHLRES6P.JOB07802.D0000110.? was preallocated (no free was done).
1READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/01 Page: 1
You can change the sample; both steps may be run independently.
The output in SYSTSPRT and ISPLOG for step 1 is shown in Figure 122. If all
specified parameters are correct, you will get messages like those shown.
1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAS1 alter SCDS('MHLRES7.NAVIQ.SCDS') STCNAME(scmhlres) DESCR(storage class for test of naviquest) DMSRESP() DRTBIA
S() SEQMSRES() SEQBIAS() INIARESS() SUSDTRT() AVALBTY() ACCSBTY(c) GURNTSPC() GUASYNWR() CFCACSTN() CFDTWGHT() CFSEQWHT() )
SCDS = 'MHLRES7.NAVIQ.SCDS'
STCNAME = SCMHLRES
DESCR = STORAGE CLASS FOR TEST OF NAVIQUEST
DMSRESP =
DRTBIAS =
SEQMSRES =
SEQBIAS =
INIARESS =
SUSDTRT =
AVALBTY =
ACCSBTY = C
GURNTSPC =
GUASYNWR =
CFCACSTN =
CFDTWGHT =
CFSEQWHT =
MHLRES6.MHLRES6A.JOB07821.D0000106.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/01 Page: 1
This means that the storage class was defined or altered as you requested.
Otherwise, if there are forbidden or conflicting parameter settings in your input,
the job step will end with a return code of 990, and you will see the same
message that would be shown in online ISMF, for example:
INVALID GUARANTEED SPACE - GUARANTEED SPACE must be Y (YES) or N (NO)
If you request the display of an existing storage class, you will see, for example,
what is shown in Figure 123. As you can see, it is a different format than what you
would see if you had requested a report using the LISTPRT command in ISMF.
Performance Objectives
Direct Millisecond Response . . . :
Direct Bias . . . . . . . . . . . :
Sequential Millisecond Response . :
Sequential Bias . . . . . . . . . :
Initial Access Response Seconds . :
Sustained Data Rate (MB/sec) . . . :
Availability . . . . . . . . . . . . : NOPREF
Accessibility . . . . . . . . . . . : CONTINUOUS
Guaranteed Space . . . . . . . . . . : NO
Guaranteed Synchronous Write . . . . : NO
-------------------------------------------------------
MHLRES6.MHLRES6A.JOB07821.D0000110.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/01 Page: 1
If you specify an SCDS which does not exist, you will receive the following
message in SYSTSPRT:
Library 'MHLRES6.NAVIQ.SCDS' does not exist
If you request the display of a storage class which does not exist, you will get a
similar display in your job, but with empty fields or irregular content, and ISPLOG
will contain several errors.
You can change the sample; both steps may be run independently.
The output in SYSTSPRT and ISPLOG for step 1 is shown in Figure 124 on page
161. If all specified parameters are correct, you will get messages like those
shown.
This means that the base configuration was defined or altered as you requested.
If there are invalid or conflicting parameter settings in your input, you will see the
same message that would be shown in online ISMF:
INVALID MANAGEMENT CLASS - Must be 1 to 8 alphamerics starting with an
alphabetic, $, @ or #
If you request the display of an existing base configuration, you will get output as
shown in Figure 125.
Sysgrp :
-------------------------------------------------------
MHLRES6.MHLRES6T.JOB10383.D0000110.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/22 Page: 1
If you specify an SCDS which does not exist, you will receive the following
message in SYSTSPRT:
Library 'MHLRES6.NAVIQ.SCDS' does not exist
You can change the sample; both steps may be run independently.
The output in SYSTSPRT and ISPLOG for step 1 is shown in Figure 126. If all
specified parameters are correct, you will get messages like those shown.
If you specify an SCDS which does not exist, you will receive the following
message in SYSTSPRT:
Library 'MHLRES6.NAVIQ.SCDS' does not exist
This means that the aggregate group was defined or altered as you requested.
Otherwise, if there are invalid or conflicting parameter settings in your input, you
will see the same message that would be shown in online ISMF, for example:
VALUE OUT OF RANGE - Enter a numeric value between '1' and '15'
If you request the display of an existing aggregate group, you will see, for
example, what is shown in Figure 127.
Backup Attributes
Number of Copies . . . . : 2
Management Class Name . . : MCMHLRES
Account . . . . . . . . . . : STAR-WARS
To Browse a Data Set, Specify Number . .
Selection Data Sets
1 : MHLRES6.AGMHLRES.SELECT1.DATASET
Member Name :
2 :
Member Name :
3 :
Member Name :
4 :
Member Name :
5 :
Member Name :
-------------------------------------------------------
MHLRES6.MHLRES6A.JOB10385.D0000110.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/22 Page: 1
If you specify an SCDS which does not exist, you will receive the following
message in SYSTSPRT:
Library 'MHLRES6.NAVIQ.SCDS' does not exist
The sample job provided by ISMF 11.7.3 (see also NaviQuest User’s Guide,
SC26-7194) contains two steps:
Step1 Checking of input
Step2 Execution of define/alter
Step 1 checks for valid syntax and prepares the input for step 2, so step 2 cannot
run independently. The output in SYSTSPRT and ISPLOG for step 1 is shown in
Figure 128. If all specified parameters are correct, you will get messages like
those shown.
This means that the storage group was defined or altered as you requested.
Otherwise, if there are invalid or conflicting parameter settings in your input, the
job step will end with a return code of 990, and you will see the same message
that would be shown in online ISMF:
INVALID AUTO MIGRATE - AUTO MIGRATE must be Y (YES), N (NO), I (INTERVAL), or
P (PRIMARY)
All processing for add and delete volumes to and from storage groups of type
POOL, as well as for changes in status, is initiated by REXX exec ACBQBAI9.
The sample job provided by ISMF 11.7.3 (see also NaviQuest User’s Guide,
SC26-7194) contains two steps:
Step 1 Checking of input
Step 2 Execution of define/alter
Step 1 checks for valid syntax and prepares the input for step 2, so step 2 cannot
run independently. We updated the sample as shown in Figure 129.
Volumes that are to have their status changed, or are to be added to storage
groups in SCDSs, must be specified under DD-name VOLADD. Volumes to be
deleted from storage groups in SCDSs must be specified under DD-name
VOLDEL. You can combine any requests for different SCDSs and different
storage groups.
If you have APAR OW41026 installed on your system volume, deletes are
performed first, and then volume adds are performed. This allows you to alter a
volume in one step.
If you do not have APAR OW41026 installed, the sequence of change is:
1. Volume adds / volume status change
2. Volume deletes
The output in SYSTSPRT and ISPLOG for step 1 and step 2 is shown in Figure
130. If all specified parameters are correct, you will get messages like those
shown.
Figure 130. Add/delete/change status of volumes to/from/in storage group of type POOL
Step ADDVOL2 first performs all volume adds or changes of status, repeating the
specifications you made:
Volume name to add/delete: MHVL11
Volume status to add: DISALL
Storage Group to alter: SGMHLRES
SCDS altered was: 'MHLRES7.NAVIQ.SCDS'
If the volume add or change of the status fails, you will receive the same
messages. This is because they are generated before the ISMF function is called
to add volumes in storage groups.
After all volume adds are finished, the volume deletes are processed, again
repeating the specifications you made:
Volume name to add/delete: MHVL11
Volume status to add: STATUS
Storage Group to alter: SGMHLRES
SCDS altered was: 'MHLRES7.NAVIQ.SCDS'
Do not worry about the text "Volume status to add: STATUS". Status is ignored
(even if you specify some) during delete processing, of course.
Finally, you have to check the ISPLOG for messages like the following:
MHVL01 SAVED - MHVL01 has been saved
MHVL11 DELETED - DELETE was successful for MHVL11
Hints
Alternatively, you might create a list of volumes for each storage group you
requested to change, using NaviQuest’s volume list generation process in
batch, and check the appearance of the desired volumes in that list (refer to
3.5.11.2, “Generate DASD or optical device volume list” on page 176 for
details).
To check the status of volumes in storage groups, you can generate an SMS
configuration report specifying RECORD=VL (refer to 3.6.1.8, “Storage group
volume record information” on page 184 for details).
Up to now, NaviQuest does not support a process similar to the line command
LISTVOL in the storage group list of ISMF.
The sample job provided by ISMF option 11.7.3 (see also NaviQuest User’s
Guide, SC26-7194) contains one step for define or alter.
The output in SYSTSPRT and ISPLOG for the job is shown in Figure 131. If all
specified parameters are correct, you will get messages like those shown.
This means that the storage group was defined or altered as you requested.
Otherwise, if there are invalid or conflicting parameter settings in your input, you
will see the same messages that would be shown in online ISMF, for example:
SGVIO ALREADY EXISTS - SGVIO already exists in the specified CDS
If you specify an SCDS which does not exist, you will receive the following
message in SYSTSPRT:
Library 'MHLRES6.NAVIQ.SCDS' does not exist
The sample job provided by ISMF option 11.7.3 (see also NaviQuest User’s
Guide, SC26-7194) contains one step for define or alter.
The output in SYSTSPRT and ISPLOG for the job is shown in Figure 132. If all
specified parameters are correct, you will get messages like those shown.
This means that the storage group was defined or altered as you requested.
Otherwise, if there are invalid or conflicting parameter settings in your input, you
will see the same message that would be shown in online ISMF:
SGDUMMY1 ALREADY EXISTS - SGDUMMY1 already exists in the specified CDS
If you specify an SCDS which does not exist, you will receive the following
message in SYSTSPRT:
Library 'MHLRES6.NAVIQ.SCDS' does not exist
All processing for add and delete volumes to and from storage groups of type
DUMMY is initiated by REXX exec ACBQBAI9.
The sample job provided by ISMF option 11.7.3 (see also NaviQuest User’s
Guide, SC26-7194) contains 2steps:
Step 1 Checking of input
Step 2 Execution of define/alter
Step 1 checks for valid syntax and prepares the input for step 2, so step 2 cannot
run independently.
Volumes in storage groups of type DUMMY do not have a status. For compatibility
reasons you have to specify a status of ENABLE when specifying the volume
under VOLADD DD-card. Otherwise the step VOLADD1 will fail with error
message:
Values for STATUS are not given properly
The sample job provided by ISMF option 11.7.3 (see also NaviQuest User’s
Guide, SC26-7194) contains two steps:
Step 1 Checking of input
Step 2 Execution of define/alter
Step 1 checks for valid syntax and prepares the input for step 2, so step 2 cannot
run independently. The output in SYSTSPRT and ISPLOG for step 1 is shown in
Figure 133. If all specified parameters are correct, you will get messages like
those shown.
1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAJ3 DEFINE SCDS('MHLRES7.NAVIQ.SCDS') STORGRP(TAPESTGP) DESCR(THIS IS TO DEFINE TAPE STORAGE GROUP TAPESTGP) LIBNA
ME(vts007) SGSTATUS() )
SCDS = 'MHLRES7.NAVIQ.SCDS'
STORGRP = TAPESTGP
DESCR = THIS IS TO DEFINE TAPE STORAGE GROUP TAPESTGP
LIBNAME = VTS007
SGSTATUS =
MHLRES6.MHLRES6A.JOB10887.D0000105.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/29 Page: 1
This means that the storage group was defined or altered as you requested.
Otherwise, if there are invalid or conflicting parameter settings in your input, the
job step will end with a return code of 990, and you will see the same message
that would be shown in online ISMF:
INVALID SMS SG STATUS - SMS SG STATUS must be NOTCON, ENABLE, DISNEW, or DISALL
The sample job provided by ISMF option 11.7.3 (see also NaviQuest User’s
Guide, SC26-7194) contains only one step.
The output in SYSTSPRT and ISPLOG for step 1 is shown in Figure 134. If all
specified parameters are correct, you will get messages like those shown.
READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAJB DEFINE SCDS('MHLRES7.NAVIQ.SCDS') STORGRP(SGOBJ1) DESCR(DEFINED using NAVIQUEST) QUALFR(MHLRES) CYCLEST(NONE)
CYCLEET() LIBNAME() VOLFTHRS() DRVSTHRS() VOLFWERR() SGSTATUS(ENABLE) )
SCDS = 'MHLRES7.NAVIQ.SCDS'
STORGRP = SGOBJ1
DESCR = DEFINED USING NAVIQUEST
QUALFR = MHLRES
CYCLEST = NONE
CYCLEET =
LIBNAME =
VOLFTHRS =
DRVSTHRS =
VOLFWERR =
SGSTATUS = ENABLE
MHLRES6.MHLRES6O.JOB11433.D0000105.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/08/05 Page: 1
This means that the storage group was defined or altered as you requested.
Otherwise, if there are invalid or conflicting parameter settings in your input, the
job step will end with a return code of 990, and you will see the same messages
that would be shown in online ISMF, for example:
ENTER QUALIFIER - QUALIFIER must be specified for an object storage group
ONE CONNECT IS REQUIRED - One system must have an ENABLE, DISNEW, or DISALL
status
1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAI2 SAVE MHLRES6A VTOCDATA(Y) HSMDATA(Y) ALLOCSP(GT 500) DSORG(NE PS) DSN('MHLRES6.**')) NEWAPPL(DGT) BATSCRW(132)
BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
We have only shown the SYSTSPRT and the ISPLOG parts of the output in
Figure 135. In SYSTSPRT, the input we specified is repeated.
This is the confirmation for our successful generation process. If there were
conflicting parameters, we would not get a saved list, but rather the same error
messages that we would have seen in online ISMF.
What can you do with a saved list? You can reuse it:
• To print a data set report (refer to 3.6.1.9, “Data set report from ISMF-saved
list” on page 184)
• To generate commands (refer to 3.6.2.2, “Generating model commands from
ISMF-saved list” on page 193)
• To generate test cases using NaviQuest (refer to 2.6, “ISMF saved data set
lists” on page 30).
You can specify the source of information and selection criteria. If you are
interested in all volumes belonging to a specific storage group in an SCDS, you
would specify:
• SOURCENL(2) for SMS
• STORGRP( name) and
• CDS( name of SCDS )
For a complete list of the possible specifications, refer to NaviQuest User’s Guide,
SC26-7194.
We have only reported the SYSTSPRT and the ISPLOG parts of the output in
Figure 136. In SYSTSPRT, the input we specified is repeated.The ISPLOG part
contains the text:
LIST SAVED - LIST SAVED IN CHKFRAG
This is the confirmation for our successful generation process. If there were
conflicting parameters, we would not get a saved list, but rather the same error
messages that we would have seen in online ISMF.
For ease of use, if you often need the same selection criteria when creating a
volume list, you can save those criteria for future use in a query specifying the
parameter QSAVE( membername). You can reuse a saved query at volume list
creation time by specifying QUERY( membername). Since this is the same
concept available with data set lists, it might be a good idea to choose a fitting
naming convention for the queries to recognize volume queries easily.
What can you do with a saved list? You can reuse it:
• To print a volume report (refer to 3.6.1.11, “DASD volume report from
ISMF-saved list” on page 188) and
• To generate commands (refer to 3.6.2.2, “Generating model commands from
ISMF-saved list” on page 193).
Extracting data set names and volume names from data set lists or DCOLLECT D
records, NaviQuest allows you to generate commands which may be used as
input for:
• DFSMShsm processing
• RACF administration
• Utilities like IDCAMS
Specifying only RECORD=VL at the SYSIN DD-card will limit the report to the
storage group volume record information.
The report is requested by using REXX exec ACBQBAR8. For further details,
refer to NaviQuest User’s Guide, SC26-7194.
------------------------------------
-- Accounting Information Record --
------------------------------------
Refer to Figure 139 for the resulting report in our sample job.
-----------------------------------
-- Base Configuration Record --
-----------------------------------
SYSTEM NAMES:
SYSTEM1: SC63 SYSTEM2: SC64
SYSTEM3: SC65 SYSTEM4:
SYSTEM5: SYSTEM6:
SYSTEM7: SYSTEM8:
Misc information:
-----------------------------------
-- Dataclas Record : DCMHLRES --
-----------------------------------
Figure 140. SMS data class information report from DCOLLECT data
-----------------------------------
-- Mgmtclas Record : MCMHLRES --
-----------------------------------
Figure 141. SMS Management class information report from DCOLLECT data
Guaranteed Space : NO
Availability : Do not care
Dir. Response Time Obj. : Don't Care
Direct Bias : Don't Care
Seq. Response Time Obj. : Don't Care
Sequential Bias : Don't Care
Syncronize Writes? : No
Initial Access Respone : None
Accessability :
Striping Sust. Data Rate: Not Specified
Figure 142. SMS storage class information report from DCOLLECT data
-----------------------------------
-- Storgrp Record : SGMHLRES --
-----------------------------------
----------------------------------
-- SMS Volume : MHLV01 --
----------------------------------
Status Information
(SMS status, MVS status, Confirmed SMS status)
SYSTEM1: Full access enabled by SMS, Online, Full access enabled by SMS
SYSTEM2: Full access enabled by SMS, Online, Full access enabled by SMS
SYSTEM3: Full access enabled by SMS, Online, Full access enabled by SMS
SYSTEM4: No access given, Online, No access given
SYSTEM5: No access given, Online, No access given
SYSTEM6: No access given, Online, No access given
SYSTEM7: No access given, Online, No access given
SYSTEM8: No access given, Online, No access given
Space Information:
Misc Information
Figure 144. SMS storage group volume record configuration report, DCOLLECT data
If you request too much information, you will receive the following message:
You have exceeded the maximum record length with the number of variables you
have chosen. Please select fewer variables for the report. You cannot exceed
133 in length.
-----------------------------------------------------------------------------------------------------------------------------------
MHLRES6.NAVI.CNTL SBOX02 1999/06/29 2 1107 111
MHLRES6.SC63.ISPF42.ISPPROF SBOX02 1999/06/28 2 221 221
MHLRES6.SC64.ISPF42.ISPPROF SBOX02 1999/06/29 2 221 166
MHLRES6.TEST.ISPTABL SBOX17 1999/06/29 1 1217 55
MHLRES6.TESTCASE.LIBRARY SBOX17 1999/06/29 1 1217 719
1
************************************************************
* L E G E N D *
************************************************************
Requesting too much information in the report will exceed the record length and
the generate will fail. See Figure 146 for an example.
-----------------------------------------------------------------------------------------------------------------------------------
SYS1.VVDS.VMHLV01 MHLV01 553 ** 0 4096 1 VS n/a
MHLRES6.DATASET.CATLIST.REPORT MHLV01 55 FBA 10 2660 1 PS SCMHLRES
MHLRES6.M3.MODELCMD MHLV01 55 FB 3 13300 1 PS SCMHLRES
MHLRES6.TESTCASE.EXCP MHLV01 166 FB 0 27920 1 PO SCMHLRES
MHLRES6.CMD.CLIST MHLV01 609 FB 0 32720 1 PO SCMHLRES
MHLRES6.DCOLLECT.SGMHLRES.DATA MHLV01 1051 VB 0 27998 1 PS SCMHLRES
SYS1.VTOCIX.MHLV01 MHLV01 1660 F 360 2048 1 PS n/a
SYS1.VVDS.VMHLV02 MHLV02 553 ** 0 4096 1 VS n/a
MHLRES6.MGMTCLAS.LISTING MHLV02 55 FBA 10 2660 1 PS SCMHLRES
MHLRES6.SC63.SPFLOG1.LIST MHLV02 443 VBA 0 129 1 PS SCMHLRES
SYS1.VTOCIX.MHLV02 MHLV02 1660 F 360 2048 1 PS n/a
******************************
TOTALS
Allocated Space(KB): 62465
Used Space (KB) : 41164
Used Space (%) : 0.65%
******************************
************************************************************
* L E G E N D *
************************************************************
In SYSTSPRT you will get the confirmation of the requested content of the report.
ISPLOG should contain no errors.
Requesting too much information in the report will exceed the record length and
the generate will fail.
-----------------------------------------------------------------------------------------------------------------------------------
************************************************************
* L E G E N D *
************************************************************
In SYSTSPRT you will get the confirmation of the requested content of the report.
The ISPLOG should contain no errors.
The report based on an ISMF-saved list will offer some additional information.
-----------------------------------------------------------------------------------------------------------------------------------
SBOX13 107 3390-3 0CE7 ENABLED 4 4477 OPENMVS
SBOX14 208 3390-3 0CE8 ENABLED 0 4477 OPENMVS
SBOX17 16 3390-3 0CFE ENABLED 15 4442 OPENMVS
SBOX06 200 3390-3 0FDC ENABLED 4 4475 OPENMVS
SBOX15 1 3390-3 0FE7 ENABLED 14 4471 OPENMVS
SBOX16 91 3390-3 0FE8 ENABLED 6 4488 OPENMVS
RV2CU3 0 3390-3 2557 ENABLED 100 4495 SGDBCRIT
RV3CU3 0 3390-3 255B ENABLED 83 4494 SGDBCRIT
RV1CU0 0 3390-3 2550 ENABLED 79 4495 SGDBFAST
RV2CU0 0 3390-3 2554 ENABLED 100 4496 SGDBFAST
RV1CU2 0 3390-3 2552 ENABLED 75 4495 SGDBTEST
RV3CU2 0 3390-3 255A ENABLED 100 4496 SGDBTEST
RV1CU1 0 3390-3 2551 ENABLED 100 4496 SGDB20
RV3CU1 0 3390-3 2559 ENABLED 75 4495 SGDB20
1
************************************************************
* L E G E N D *
************************************************************
In SYSTSPRT you will get the confirmation of the requested content of the report.
The ISPLOG should contain no errors.
-----------------------------------------------------------------------------------------------------------------------------------
THS200 1999/07/21 1999/05/05 PRIVATE SGLIB ITSOATL
THS201 1999/07/23 1999/05/05 PRIVATE SGLIB ITSOATL
THS202 1999/07/23 1999/05/05 PRIVATE SGLIB ITSOATL
THS203 1999/07/15 1999/05/05 PRIVATE SGLIB ITSOATL
THS204 1999/07/23 1999/05/05 PRIVATE SGLIB ITSOATL
THS205 1999/07/01 1999/05/05 SCRATCH SCRTCH* ITSOATL
THS206 1999/06/29 1999/05/05 PRIVATE SGLIB ITSOATL
THS207 1999/07/01 1999/05/05 SCRATCH SCRTCH* ITSOATL
THS208 1999/07/01 1999/05/05 SCRATCH SCRTCH* ITSOATL
THS209 1999/07/01 1999/05/05 PRIVATE SGLIB ITSOATL
THS210 1999/05/19 1999/05/06 PRIVATE SGLIB ITSOATL
THS211 1999/07/01 1999/05/06 SCRATCH SCRTCH* ITSOATL
THS212 1999/06/29 1999/05/06 SCRATCH SCRTCH* ITSOATL
THS213 1999/05/17 1999/05/06 PRIVATE SGLIB ITSOATL
THS214 1999/05/18 1999/05/06 PRIVATE SGLIB ITSOATL
THS215 1999/05/19 1999/05/06 PRIVATE SGLIB ITSOATL
THS216 1999/06/18 1999/05/06 SCRATCH SCRTCH* ITSOATL
THS217 1999/07/22 1999/05/06 PRIVATE SGLIB ITSOATL
THS218 1999/06/18 1999/05/06 SCRATCH SCRTCH* ITSOATL
THS219 1999/05/17 1999/05/06 PRIVATE SGLIB ITSOATL
THS220 1999/05/19 1999/05/06 PRIVATE SGLIB ITSOATL
THS221 1999/07/20 1999/05/06 PRIVATE SGLIB ITSOATL
THS222 1999/07/15 1999/05/06 PRIVATE SGLIB ITSOATL
THS223 1999/05/15 1999/05/06 PRIVATE SGLIB ITSOATL
THS224 1999/06/29 1999/05/06 SCRATCH SCRTCH* ITSOATL
THS225 1999/06/29 1999/05/06 SCRATCH SCRTCH* ITSOATL
THS226 1999/05/16 1999/05/06 PRIVATE SGLIB ITSOATL
THS227 1999/06/19 1999/05/06 PRIVATE SGLIB ITSOATL
THS228 1999/07/16 1999/05/06 PRIVATE SGLIB ITSOATL
THS229 1999/06/29 1999/05/06 SCRATCH SCRTCH* ITSOATL
THS230 1999/05/14 1999/05/06 PRIVATE SGLIB ITSOATL
THS231 1999/06/30 1999/05/06 SCRATCH SCRTCH* ITSOATL
THS232 1999/06/30 1999/05/06 SCRATCH SCRTCH* ITSOATL
THS233 1999/07/06 1999/05/06 SCRATCH SCRTCH* ITSOATL
THS234 1999/07/20 1999/05/06 PRIVATE SGLIB ITSOATL
1
************************************************************
* L E G E N D *
************************************************************
1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(%ACBQBAM2 HRECOVER /) BDISPMAX(999999999) BREDIMAX(3) BATSCRW(132) BATSCRD(27)
HRECOVER /
RECORD NO : 1 ---- OUT.1
RECORD NO : 2 ---- HRECOVER SYS1.VVDS.VMHLV01
RECORD NO : 3 ---- HRECOVER SYS1.VVDS.VMHLV01
RECORD NO : 4 ---- HRECOVER MHLRES6.DATASET.CATLIST.REPORT
RECORD NO : 5 ---- HRECOVER MHLRES6.M3.MODELCMD
RECORD NO : 6 ---- HRECOVER MHLRES6.TESTCASE.EXCP
RECORD NO : 7 ---- HRECOVER MHLRES6.CMD.CLIST
RECORD NO : 8 ---- HRECOVER MHLRES6.DCOLLECT.SGMHLRES.DATA
RECORD NO : 9 ---- HRECOVER SYS1.VTOCIX.MHLV01
RECORD NO : 10 ---- HRECOVER SYS1.VTOCIX.MHLV01
RECORD NO : 11 ---- HRECOVER SYS1.VVDS.VMHLV02
RECORD NO : 12 ---- HRECOVER SYS1.VVDS.VMHLV02
RECORD NO : 13 ---- HRECOVER MHLRES6.MGMTCLAS.LISTING
RECORD NO : 14 ---- HRECOVER MHLRES6.SC63.SPFLOG1.LIST
RECORD NO : 15 ---- HRECOVER SYS1.VTOCIX.MHLV02
RECORD NO : 16 ---- HRECOVER SYS1.VTOCIX.MHLV02
RECORD NO : 17 ---- HRECOVER SYS1.VVDS.VMHLV03
RECORD NO : 18 ---- HRECOVER SYS1.VVDS.VMHLV03
RECORD NO : 19 ---- HRECOVER MHLRES6.BRODCAST
RECORD NO : 20 ---- HRECOVER MHLRES6.M1.MODELCMD
RECORD NO : 21 ---- HRECOVER MHLRES6.SMSCONF.REPORT
RECORD NO : 22 ---- HRECOVER MHLRES6.TEST.PDS.ISPTABL
RECORD NO : 23 ---- HRECOVER MHLRES6.NAVI.CNTL
RECORD NO : 24 ---- HRECOVER MHLRES6.STORGRP.LISTING
RECORD NO : 25 ---- HRECOVER SYS1.VTOCIX.MHLV03
RECORD NO : 26 ---- HRECOVER SYS1.VTOCIX.MHLV03
RECORD NO : 27 ---- HRECOVER SYS1.VVDS.VMHLV04
...
RECORD NO : 131 ---- HRECOVER SYS1.VTOCIX.MHLV10
MHLRES6.MHLRES6A.JOB10441.D0000105.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/23 Page: 1
SYSTSPRT contains a message for each processed record of the input file.
Generally, not each record is a D record, so do not be concerned about
messages like the one for record no. 1, which will not lead to a generated
command. Refer to Figure 151 for the resulting commands.
As you can see, the first generated command is for SYS1.VVDS.VMHLV01, which
was reported twice in Figure 150, due to the fact that VSAM data sets are
reported by DCOLLECT using a D record and an A record (in that sequence). The
generate process will only use D records to create commands, but reports all
records in SYSTSPRT, so in our example for SYS1.VVDS.VMHLV01, these are
record no. 2 (A record) and record no. 3 (D record).
Do not be concerned about this situation, since each data set will be unique in the
command data set.
HRECOVER SYS1.VVDS.VMHLV01
HRECOVER MHLRES6.DATASET.CATLIST.REPORT
HRECOVER MHLRES6.M3.MODELCMD
HRECOVER MHLRES6.TESTCASE.EXCP
HRECOVER MHLRES6.CMD.CLIST
HRECOVER MHLRES6.DCOLLECT.SGMHLRES.DATA
HRECOVER SYS1.VTOCIX.MHLV01
HRECOVER SYS1.VVDS.VMHLV02
HRECOVER MHLRES6.MGMTCLAS.LISTING
HRECOVER MHLRES6.SC63.SPFLOG1.LIST
HRECOVER SYS1.VTOCIX.MHLV02
HRECOVER SYS1.VVDS.VMHLV03
HRECOVER MHLRES6.BRODCAST
HRECOVER MHLRES6.M1.MODELCMD
HRECOVER MHLRES6.SMSCONF.REPORT
HRECOVER MHLRES6.TEST.PDS.ISPTABL
HRECOVER MHLRES6.NAVI.CNTL
HRECOVER MHLRES6.STORGRP.LISTING
HRECOVER SYS1.VTOCIX.MHLV03
HRECOVER SYS1.VVDS.VMHLV04
READY
ISPSTART CMD(%ACBQBAM1 MHLRES6F HRECOVER / ) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
THE DATA SET ALLOCATED FOR THE COMMANDS WAS MHLRES6.M15.MODELCMD
RETURN CODE FROM ALLOCATE WAS: 0
COMMAND GENERATED FOR ROW 1 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 2 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 3 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 4 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 5 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 6 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 7 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 8 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 9 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 10 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 11 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 12 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 13 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 14 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 15 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 16 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 88 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 89 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 90 IN MHLRES6.M15.MODELCMD
COMMAND GENERATED FOR ROW 91 IN MHLRES6.M15.MODELCMD
MHLRES6.MHLRES6I.JOB11521.D0000105.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/08/06 Page: 1
Figure 152. Generating model commands, ISMF-saved list (SYSTSPRT and ISPLOG)
The data set containing the generated commands is shown in Figure 153. As you
can see, each entry in the list is used to create a command, even entries of type:
• Alias
• Truename
• Cluster
The same generation process is supported for saved DASD and optical device
volume lists. Of course, you can only refer to the volume names in the generated
commands.
Figure 153. Generating model commands, ISMF-saved list (command output data set)
After having selected option 1 from ISMF 11.5 (refer to Figure 154), you will see
the Data Set Report from Saved ISMF List Entry Panel shown in Figure 155.
After having specified the name of the saved list and the name of the dynamically
allocated data set to hold the generated report, you must tailor the report by
marking the desired columns.
Each column you want to be printed must be tagged by a number which is equal
to the column number in your report. The numbers in brackets are the length
required to contain the information.
There are more selections offered after scrolling, shown in Figure 156 and
Figure 157.
Figure 156. On-line initiated data set report from ISMF-saved list (2 of 3)
The format the requested report in our example is exactly the same as we used
for one of our batch samples (refer to Figure 145 on page 185).
After having selected option 2 from ISMF option 11.5 (refer to Figure 154 on page
195), you will see the panel shown in Figure 158. After having specified the name
of the saved list and the name of the dynamically allocated data set to hold the
generated report, you must tailor the format of the report by marking the desired
columns.
Each column you want to be printed must be tagged by a number which is equal
to the column number in your report. The numbers in brackets are the length
required to hold the information.
There are more selections on the next panels, which are accessed by scrolling,
as shown in Figure 159.
The format of the requested report in our example is exactly the same as we used
for one of our batch samples (refer to Figure 147 on page 189).
Figure 159. On-line initiated DASD volume report from ISMF-saved list (2 of 2)
After having selected option 3 from ISMF option 11.5 (refer to Figure 154 on page
195), you will see the panel shown in Figure 160. After having specified the name
of the saved list and the name of the dynamically allocated data set to hold the
generated report, you must tailor the format of the report by marking the desired
columns.
Each column you want to be printed must be tagged by a number which is equal
to the column number in your report. The numbers in brackets are the length of
the requested data.
Figure 160. On-line initiated tape volume report from ISMF-saved list
The format of the requested report in our example is exactly the same as we used
for one of our batch samples (refer to Figure 149 on page 191).
Each column you want to be printed must be tagged by a number which is equal
to the column number in your report. The numbers in brackets are the length
required for the requested information.
There are more selections on panels accessed by scrolling, which are shown in
Figure 162.
Figure 162. On-line initiated data set report from DCOLLECT data (2 of 2)
The format of the requested report in our example is exactly the same as we used
for one of our batch samples (refer to Figure 146 on page 187).
Each column you want to be printed must be tagged by a number which is equal
to the column number in your report. The numbers in brackets are the length of
the requested information.
Figure 163. On-line initiated DASD volume report from DCOLLECT data (1 of 2)
There are more selections on panels accessed by scrolling, which are shown in
Figure 164.
The format of the requested report in our example is exactly the same as we used
for one of our batch samples (refer to Figure 148 on page 190).
Figure 165. On-line initiated DFSMS configuration report from DCOLLECT data
The format of the requested report in our example is exactly the same as we used
for one of our batch samples (refer to 3.6.1, “SMS configuration report from
DCOLLECT data” on page 178).
Figure 166. Example, error message if SMS base configuration has no UNIT specified
The NaviQuest implementation expects CLIST and REXX execs to have the
sequence number fields to be blank, and in some cases columns 72-80 have
parts of statements in them.
When copying between the different formats, you must take care not to lose any
information, particularly when copying from the VB to FB format.
You also need to ensure that you do not introduce sequence numbers into the
CLISTS or REXX EXECS during copying.
It is, however, necessary for you to manually check the jobs to see whether they
were successful or not, by checking the job output, as you cannot rely on a return
code of 0 always meaning success, or indicating an error condition.
ZISPFRC = 20
address ispexec "VPUT (ZISPFRC) SHARED"
exit zispfrc
You will often find that there is already some code in the CLIST to set the TSO
return code, and you can simply insert the code to set ZISPFRC at that point.You
can see an example of this code as inserted in CLIST ACBQBAJ1 in Figure 168.
In this example, the ISPF code was set to 20, even though the actual function
return code was 8. In practice, you might always set the ZISPFRC value to the
same return code as the function return code.
If we take one particular process, which starts with CLIST ACBQBAJ1, we find
that CLIST ACBQBAJ1 calls CLIST ACBQBAJ4 or QCBQBAJ9, depending on the
function that was requested. Once you have modified ACBQBAJ1 to handle
parsing errors and return a job step completion code, you can consider similar
changes to handle any second-stage execution process, so that a job step return
code is issued.
As an example, you can modify ACBQBAJ4 to return the CLIST return code to the
job step, by extending the logic that sets the CLIST return code. Note, however,
that implementation is not done in precisely the same way in all parts of
NaviQuest, so each CLIST must be adjusted in the appropriate manner.
Refer to Figure 169 for an example of a typical code sequence that appears in
ACBQBAJ4.
Figure 169. Typical appearance of part of a CLIST setting the exit return code
You can simply modify this code so that appears as in Figure 170. In this case,
the existing XRC variable has been set up to set the CLIST return code, so it is a
simple matter for you to add the statement to set ZISPFRC and VPUT it into the
ISPF SHARED variable pool.
Figure 170. Typical appearance of part of a CLIST adjusted to set ISPF return code
When the process is run in batch, there is no prompt back to the user, so the
function must be terminated, or reasonable defaults set.
In some cases, when there is no default, a loop condition may arise as ISPF and
the particular panel set attempt to prompt the user for a proper value. As the user
never gets to see the request, when control returns to ISPF after issuing the
prompt, there is no valid update, so the prompt is issued again.
In the batch environment, the same assumption is made, but the prompt cannot
be satisfied.
Refer to 4.4.3, “ISMF or NaviQuest batch job abend S722” on page 207, and
4.4.2, “ISMF or NaviQuest batch job abend S322” on page 207 for information
about some of the external symptoms of this situation.
You can avoid this problem by making sure that the DCOLLECT data set you are
using only contains D records (do not request SMS records).
An additional fix implemented at the same time corrects a problem with the status
of the user not being Storage Administrator (SA), and generating a loop of ISPF
screen input error messages. The user cannot choose whether to be SA or not,
so this setting has to be made in the batch job.
Refer to 4.4.1, “ISPF screen input error — code = 22” on page 206.
The APAR text also refers to a restriction on the ISPSTART CMD. syntax. This is
no longer a restriction, it has been addressed by OW39260. Refer to 4.6.4,
“OW39260 — ISMF ISPSTART CMD syntax” on page 208.
Reason code 0642 is informational, so the return code should not be 12.
The fix to this problem changes the return code to 8, as the process does
continue with other volumes.
One way to detect this condition, other than by having to manually scan the job
output, is to make sure that there is a step in the job to list the newly generated
table. In that case, a return code is set when the table is not found. With the batch
modifications installed, an error condition will be returned to the job step.
The DCOLLECT sample job generates a job out of SYS1.SACBCNTL that can
result in numerous error messages if corrected first. The sample also generates
JCL statements for the DFSMShsm data sets that need to be corrected before the
job will run, but if this is not done, the result is a simple JCL error that can be
corrected easily.
You also need to increase the size of the data set allocated.
The DCOLLECT sample job, which is discussed in 2.9.1, “Extract the DCOLLECT
records” on page 65, shows the portion of the ACBJBA07 job that allocates the
OUTDS data set.
userid.SACBCNTL.ISPTABL MHLRES7.SACBCNTL.ISPTABL
userid.SACBCNTL.TAILOR MHLRES7.SACBCNTL.TAILOR
userid.SACBCNTL.JOBOUT MHLRES7.SACBCNTL.JOBOUT
userid.SACBCNTL.DGTCLIB MHLRES7.SACBCNTL.DGTCLIB
userid.SACBCNTL.TESTBED MHLRES7.SACBCNTL.TESTBED
MHLRES7.ACSDCOL.DATA MHLRES7.ACSDCOL.DATA
MHLRES7.DCOLDSL.DATA MHLRES7.DCOLDSL.DATA
MHLRES7.DCOLDSLC.DATA MHLRES7.DCOLDSLC.DATA
MHLRES7.DCOLDSN.DATA MHLRES7.DCOLDSN.DATA
MHLRES7.DCOLREP.TEXT MHLRES7.DCOLREP.TEXT
MHLRES7.ISMFDSLC.REP MHLRES7.ISMFDSLC.REP
MHLRES7.SMSCONF.REPORT MHLRES7.SMSCONF.REPORT
MHLRES7.FILTLIST.DATA MHLRES7.FILTLIST.DATA
MHLRES7.DATACLAS.REPORT.Y1999.AUG03 MHLRES7.DATACLAS.REPORT.Y1999.AUG03
MHLRES7.MGMTCLAS.REPORT.Y1999.AUG03 MHLRES7.MGMTCLAS.REPORT.Y1999.AUG03
MHLRES7.STORCLAS.REPORT.Y1999.AUG03 MHLRES7.STORCLAS.REPORT.Y1999.AUG03
MHLRES7.STORGRP.REPORT.Y1999.AUG03 MHLRES7.STORGRP.REPORT.Y1999.AUG03
MHLRES7.VOLUME.REPORT.Y1999.AUG04 MHLRES7.VOLUME.REPORT.Y1999.AUG04
EVEBYE.JCL.CNTL EVEBYE.JCL.CNTL
MHLRES6.CMD.CLIST MHLRES6.CMD.CLIST
MHLRES6.NAVI.CNTL MHLRES6.NAVI.CNTL
MHLRES6.JOBS.LIST MHLRES6.JOBS.LIST
MHLRES6.TEST.ISPTABL MHLRES6.TEST.ISPTABL
0 (X'00') Successful.
0 (X'00') Successful.
0006 Error(s) occurred during previous processing. Check the previous log entries for detailed error
information.
0016 Convert Utility: Target data length must be 4 bytes or less when converting a character string to its
fixed binary representation.
0017 Convert Utility: Invalid character was found in the data to be converted. Data conversion could not
take place. In some cases, imbedded blanks are invalid.
0019 Data to be converted contained all blanks and could not be converted.
0025 TBCREATE: Table already exists. REPLACE was not specified. Return code: 8.
0074 ISPF select failed. Truncation error in storing the ZCMD or ZSEL variable. Return code: 16.
0101 Invalid scroll amount, the valid format is: P (page); H (half); D (data); M (maximum); C (cursor);
NNNN (a number from 1 to 9999).
0133 Nonzero return code was passed back from the invoked CLIST.
0134 Specified CLIST name was too long. CLIST name must be 1 to 8 characters long (optionally
preceded by '%').
0136 ISPF/PDF edit failed. Data was zero length (empty sequential data set or zero length member of a
partitioned data set). Return code: 12.
0137 Nonzero return code was passed back from the specified CLIST.
0209 Duplicate table entry found while loading the table entries. Only one of the duplicates is loaded.
0316 ISPF/PDF browse failed. Zero length data (empty sequential data set or 0 length member of a
partitioned data set). Return code: 12.
0317 ISPF/PDF browse failed. Specified member not found. Return code: 14.
0452 Source for the generated list is invalid. Source of a generated list should either be VTOC or
CATALOG.
0582 Data set name verification: invalid character. Valid characters are: A-Z, 0-9, '#', '$', '@', '.', ')', '(', '*'.
In addition, the first character within a set of parentheses may be '+', '-', 0, alphabetic, or national
(@, $, #).
0583 Data set name verification: Incomplete data set name specification. Data set name may not end
with a '.'.
0584 Data set name verification: Data set name is quoted. Data set name may not be quoted in this
situation.
0586 Data set name verification: Invalid member name. Member name must start with a national (@, $,
#) or alphabetic character; subsequent characters may also be numeric. Member name must not
exceed 8 characters in length.
0587 Data set name verification: Invalid member name. Member name must not exceed 8 characters in
length.
0588 Data set name verification: Invalid data set name. Member of a PDS may not specified.
0590 Data set name verification: Invalid data set name. Fully specified data set names are not allowed.
0591 Data set name verification: Data set name is too long. Maximum length, including '.', is 35
characters for a GDG data set name, and 44 characters for a fully specified data set name.
0593 Data set name verification: Invalid partial specification. More than 2 '*' in a single qualifier are not
allowed.
0594 Data set name verification: Invalid data set name. Partial specification is not allowed.
0595 Volser verification: Partial specification is not allowed. Partial specification was not requested, but
an '*' was found in the input volume serial number.
0623 Data set name verification: Unbalanced quotes were found in the input data set name. Data set
name may contain no quotes or two quotes (one at each end of the data set name).
0633 ISPF DISPLAY: Truncation or translation error in storing defined variables. Return code 16.
0642 ISPF VGET: Variable was not found. Return code: 8. May indicate a list was empty (validly)
1015 Percent of ALLOC not used cannot be calculated because either the allocated space or the
allocation used is invalid.
1027 Volume serial number verification: Too many asterisks were found. Only one asterisk may be
specified in a partial specification.
1062 Output data set for background job is neither physical sequential nor a member of a PDS.
1211 Volume capacity cannot be calculated because needed data was not acquired
1269 Variable data set record format specified, must be fixed format.
3239 ACS routine not translated because of user errors; listing contains error messages.
3364 ACS test library cannot have an LRECL of less than 60.
3365 Not authorized to open the listing data set for output.
3367 The data set record organization is not a linear data set.
6001 Unable to locate associations or volume serial numbers for VSAM cluster.
The proposed extension of the exec was made to insert an additional line for
DSNTYPE: LIBRARY if applicable.
To achieve the desired result you just need to insert the additional code at the
right place in member ACBQBAG1, as shown in Figure 171. To make an
additional line part of the output, you have to:
• Define a new variable for the text to be printed and set up proper contents
• PUSH that line into stack
• Write that line using execio
To get an idea of what conditions must be met for a D record to generate a certain
content, check the description of DCOLLECT output in Access Method Services
for the integrated Catalog Facility, SC26-4906.
Figure 171. Example, extension of ACBQBAG1 to create additional lines in test cases
Inserted line
Figure 172. Test case with additional line created by modified ACBQBAG1
Information in this book was developed in conjunction with use of the equipment
specified, and is limited in application to those specific hardware and software
products and levels.
IBM may have patents or pending patent applications covering subject matter in
this document. The furnishing of this document does not give you any license to
these patents. You can send license inquiries, in writing, to the IBM Director of
Licensing, IBM Corporation, North Castle Drive, Armonk, NY 10504-1785.
Licensees of this program who wish to have information about it for the purpose
of enabling: (i) the exchange of information between independently created
programs and other programs (including this one) and (ii) the mutual use of the
information which has been exchanged, should contact IBM Corporation, Dept.
600A, Mail Drop 1329, Somers, NY 10589 USA.
The information contained in this document has not been submitted to any formal
IBM test and is distributed AS IS. The information about non-IBM ("vendor")
products in this manual has been supplied by the vendor and IBM assumes no
responsibility for its accuracy or completeness. The use of this information or the
implementation of any of these techniques is a customer responsibility and
depends on the customer's ability to evaluate and integrate them into the
customer's operational environment. While each item may have been reviewed by
IBM for accuracy in a specific situation, there is no guarantee that the same or
similar results will be obtained elsewhere. Customers attempting to adapt these
techniques to their own environments do so at their own risk.
Any pointers in this publication to external Web sites are provided for
convenience only and do not in any manner serve as an endorsement of these
Web sites.
Reference to PTF numbers that have not been released through the normal
distribution process does not imply general availability. The purpose of including
these reference numbers is to alert IBM customers to specific information relative
C-bus is a trademark of Corollary, Inc. in the United States and/or other countries.
Java and all Java-based trademarks and logos are trademarks or registered
trademarks of Sun Microsystems, Inc. in the United States and/or other countries.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of
Microsoft Corporation in the United States and/or other countries.
UNIX is a registered trademark of The Open Group in the United States and other
countries.
SET and the SET logo are trademarks owned by SET Secure Electronic
Transaction LLC.
Other company, product, and service names may be trademarks or service marks
of others.
This information was current at the time of publication, but is continually subject to change. The latest information
may be found at the Redbooks Web site.
Company
Address
We accept American Express, Diners, Eurocard, Master Card, and Visa. Payment by credit card not
available in all countries. Signature mandatory for credit card payment.
N
E NaviQuest 12
errors 14 batch implementation 206
exceptions 14 batch reports 177
expected results 14 CLISTs 203
common errors 205
COPYFILT facility 125
F hints and tips 203
filter lists 133 ISMF interface 16
FILTLIST 125 ISMF saved lists 21
examples 128 maintenance levels 207
propagation 127 overview 13
reporting facilities 177
G required data sets 19
generate data set report 54 sample JCL modifications 209
generate ISMF data set list 98 SCDS validation 150
terminology 14
test case generation 97
I test case validation 136
IKJEFT01 204 testing ACS routines 97
IKJEFT1B 204
implementation phase 15
initial test 15 O
interpreting test cases 122, 134 object access method 3
ISMF 1, 11 OBJECT type storage group 174
batch test case generation 40 conflicting parameters 174
batch testing 112 on-line command generation 192
data set list panel 34 optical device volume list 176
data set report 184 optical device volume lists 194
data set selection entry panel 33 OW36241 207
management class record contents 87 OW36343 209
NaviQuest panels 16 OW36498 208
on-line reports 194 OW37705 209
primary option menu 32 OW38094 208
reason codes 212 OW39260 208
return codes 212 OW40515 209
saved list 21, 30, 32 OW41026 166
saved lists 21, 98
SMS defined volumes 94 P
storage administrator userid 17 phase test set 15
storage class panel 90 POOL storage group 164
storage group panel 92
tape volume reports 190
test case generation 36 Q
volume list 95 QCBQBAJ9 CLIST 205
ISMF ERROR message 48
ISMF-saved lists
DASD volume report 188 R
ISPF screen error 206 regression test 15
results 15
REXX exec
M ACBQBA12 29
management class 4 ACBQBAA1 162
ACS routines 86 ACBQBAB1 160
226
ACBQBAD1 156 SYS1.DGTCLIB 204
ACBQBAG1 29, 216 SYS1.SACBCNTL 20, 28, 143, 209
ACBQBAG3 29, 101 ACBJBA07 210
ACBQBAI2 101, 175 ACSREP 71
ACBQBAI9 166 DCOLACS 67
ACBQBAJ1 152 ISMFDSLC 42
ACBQBAJ2 164 ISPF panels 132
ACBQBAJ3 173 system-managed storage 1
ACBQBAJ8 170 concept 7
ACBQBAJA 171
ACBQBAJB 174
ACBQBAM1 193 T
ACBQBAS1 159 tape mount management 3, 64
TAPE type storage group 173
tape type storage group
S management 173
saved data set list 48 tape volume report 199
saved expected results 15 terminal monitor program 204
saved ISMF data set list 98 test bed library 15, 39
SCDS 6 test case 15
SCDS validation 150 ALTER 135
SDSF 21, 22 automatic creation 135
SMS 1 base 135
ACDS 6, 78 batch generation 55, 117
ACS routines 5 compare listing 139
administration tasks 125, 151 DCOLLECT 62, 101
audit data information 77 field summary 63
base configuration 160, 180, 203 generation 36, 97, 98, 110
benefits 4 interpretation 122
COMMDS 7, 78 invalid syntax 135
data class report 181 manual creation 133
data classification 7 online generation 31, 34
defined volumes 93 regression testing 140
FILTLIST ACS data 131 saving 21
management class report 182 updating library 140
SCDS 6, 78 test library 15
storage class report 182 testing ACS routines 97
storage group report 183 TMM 3
system data sets 78 tools
volume list 95 DCOLLECT 12
SMS configuration report 169, 177 ISMF 11, 12
storage class 4 translation of ACS routines 143
ACS routines 89
conflicting parameters 159
ISMF panel 90 V
record contents 89 VIO storage group 170
storage class report 182 virtual tape server 3, 64
storage group 4 VMA 64
DUMMY 171 volume list 95
ISMF panel 92 generate in batch 176
record contents 91 VSAM data sets 101
type OBJECT 174 VTS 3
type TAPE 173
VIO 170
storage group report 183
storage group type POOL 164
add volumes 166
delete volumes 166
storage group volume record report 184
subtype prefix 15
subtype test set 15
227
228
IBM Redbooks evaluation
Maintaining Your SMS Exvironment
SG24-5484-00
Your feedback is very important to help us maintain the quality of ITSO Redbooks. Please complete this
questionnaire and return it using one of the following methods:
• Use the online evaluation form found at http://www.redbooks.ibm.com/
• Fax this form to: USA International Access Code + 1 914 432 8264
• Send your comments in an Internet note to redbook@us.ibm.com
Please rate your overall satisfaction with this book using the scale:
(1 = very good, 2 = good, 3 = average, 4 = poor, 5 = very poor)
Was this Redbook published in time for your needs? Yes___ No___
®
SG24-5484-00