Download as pdf or txt
Download as pdf or txt
You are on page 1of 246

Maintaining Your SMS Environment

Mary Lovelace, Anthony Fletcher, Gerhard Weisshaar

International Technical Support Organization

www.redbooks.ibm.com

SG24-5484-00
SG24-5484-00
International Technical Support Organization

Maintaining Your SMS Environment

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.

First Edition (May 2000)

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.

Comments may be addressed to:


IBM Corporation, International Technical Support Organization
Dept. OWR Building 80-E2
650 Harry Road
San Jose, California 95120-6099

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.

© Copyright International Business Machines Corporation 2000. All rights reserved.


Note to U.S Government Users - Documentation related to restricted rights - Use, duplication or disclosure is subject to restrictions
set forth in GSA ADP Schedule Contract with IBM Corp.
Contents
Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
The team that wrote this redbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Comments welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv

Chapter 1. Managing your storage environment . . . .. . . . . .. . . . . .. . . . . .1


1.1 System-managed storage . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . .1
1.2 DFSMS environment . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . .2
1.2.1 Aggregate Backup and Recovery Support . . . .. . . . . .. . . . . .. . . . . .2
1.2.2 DFSMS Optimizer . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . .2
1.2.3 Object Access Method (OAM) . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . .3
1.2.4 Tape Mount Management (TMM) . . . . . . . . . .. . . . . .. . . . . .. . . . . .3
1.2.5 Virtual Tape Server (VTS) . . . . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . .3
1.2.6 SMS classes and groups . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . .3
1.2.7 Benefits from using SMS . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . .4
1.2.8 Automatic class selection routines. . . . . . . . . .. . . . . .. . . . . .. . . . . .5
1.2.9 SMS control data sets . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . .6
1.3 Concepts of system-managed storage . . . . . . . . . .. . . . . .. . . . . .. . . . . .7
1.3.1 Data classification . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . .7
1.3.2 Reviewing references . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . .8
1.4 Maintaining the SMS environment . . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . .9
1.5 Storage management review. . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . .9

Chapter 2. Tools for managing SMS . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .11


2.1 NaviQuest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .13
2.1.1 NaviQuest terminology . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .14
2.1.2 ISMF interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .16
2.2 Setting up NaviQuest data sets . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .19
2.2.1 Creating a copy of SYS1.SACBCNTL . . . . . . . . . . . . .. . . . . .. . . . .20
2.2.2 Creating a data set to save ISMF tables . . . . . . . . . . .. . . . . .. . . . .21
2.2.3 Creating a data set to save batch job output . . . . . . . .. . . . . .. . . . .21
2.2.4 Creating a data set to save test cases. . . . . . . . . . . . .. . . . . .. . . . .21
2.3 Saving batch job output using SDSF . . . . . . . . . . . . . . . . . .. . . . . .. . . . .22
2.4 ACBJBOAB JCL procedure . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .24
2.4.1 Annotation explanation . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .27
2.4.2 Modification of SYS1.SACBCNTL . . . . . . . . . . . . . . . .. . . . . .. . . . .28
2.5 NaviQuest testing facilities . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .28
2.5.1 Data collection for test cases . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .29
2.5.2 Data set names in test cases . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .29
2.5.3 Effects of DCOLLECT or VMA. . . . . . . . . . . . . . . . . . .. . . . . .. . . . .29
2.6 ISMF saved data set lists . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .30
2.6.1 Benefits of ISMF saved data set lists. . . . . . . . . . . . . .. . . . . .. . . . .30
2.6.2 ACS routine variables generated . . . . . . . . . . . . . . . . .. . . . . .. . . . .31
2.7 ISMF saved data set list online test case generation . . . . . .. . . . . .. . . . .31
2.7.1 Creating ISMF data set lists . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .32
2.7.2 The Data Set List Panel . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .33
2.7.3 Starting online test case generation . . . . . . . . . . . . . .. . . . . .. . . . .34
2.7.4 Test case generation . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .36

© Copyright IBM Corp. 2000 iii


2.8 ISMF saved data set list batch test case generation . . . . . . . . . . . . . . . . 40
2.8.1 Batch initiated ISMF saved data set name list report . . . . . . . . . . . . 48
2.8.2 Batch initiated create saved ISMF data set list then report . . . . . . . . 54
2.8.3 DCOLLECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.8.4 VMA records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.9 DCOLLECT extract and report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.9.1 Extract the DCOLLECT records . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.9.2 DCOLLECT job ACBJBA07 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.9.3 Report on the DCOLLECT records. . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.9.4 Save the job output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
2.9.5 Composite DCOLLECT data collection and report . . . . . . . . . . . . . . 77
2.10 SMS data information audit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
2.10.1 SMS system data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2.10.2 Data class ACS routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.10.3 Data class records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.10.4 Management class ACS routines . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2.10.5 Management class records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
2.10.6 Storage class ACS routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
2.10.7 SMS defined storage class records . . . . . . . . . . . . . . . . . . . . . . . . 89
2.10.8 Storage group routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2.10.9 SMS defined storage group records . . . . . . . . . . . . . . . . . . . . . . . . 92
2.10.10 SMS defined volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
2.11 SMS and ACS testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
2.11.1 Test Case Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
2.11.2 ISMF saved data set lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
2.11.3 DCOLLECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
2.11.4 ISMF online test case generation from DCOLLECT data set lists . 103
2.11.5 ISMF online initiated DCOLLECT data set list creation . . . . . . . . 104
2.11.6 ISMF online test case generation from DCOLLECT data set list. . 109
2.11.7 ISMF batch initiated test case generation from DCOLLECT data . 112
2.11.8 Batch initiated DCOLLECT data set name list . . . . . . . . . . . . . . . 112
2.11.9 Batch initiated test case generation from DCOLLECT data set list 117
2.12 Interpreting a test case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

Chapter 3. SMS administration tasks . . . . . . . . . . . . . . . . . . . .. . . . . .. 125


3.1 FILTLIST maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. 125
3.1.1 Preparation for use of COPYFILT . . . . . . . . . . . . . . . . . .. . . . . .. 125
3.1.2 ACS routine FILTLIST conversion . . . . . . . . . . . . . . . . . .. . . . . .. 126
3.1.3 FILTLIST propagation . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. 127
3.1.4 FILTLIST propagation results. . . . . . . . . . . . . . . . . . . . . .. . . . . .. 128
3.1.5 SMS defined FILTLIST ACS data. . . . . . . . . . . . . . . . . . .. . . . . .. 131
3.2 Manual creation of a test case . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. 133
3.2.1 Automatic test case creation . . . . . . . . . . . . . . . . . . . . . .. . . . . .. 135
3.3 SMS environment testing with NaviQuest . . . . . . . . . . . . . . . .. . . . . .. 136
3.3.1 Running test cases with new and current configurations .. . . . . .. 136
3.4 ACS verification and translation methodology . . . . . . . . . . . . .. . . . . .. 143
3.4.1 ACS translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. 143
3.4.2 Validation of an SCDS . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. 150
3.5 Storage administration tasks . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. 151
3.5.1 Define⁄alter⁄display of a management class . . . . . . . . . . .. . . . . .. 152
3.5.2 Define⁄alter⁄display of a data class . . . . . . . . . . . . . . . . . .. . . . . .. 156
3.5.3 Define⁄alter⁄display of a storage class . . . . . . . . . . . . . . .. . . . . .. 159
3.5.4 Define⁄alter⁄display of a base configuration . . . . . . . . . . .. . . . . .. 160

iv Maintaining Your SMS Environment


3.5.5 Define⁄alter of a storage group type POOL . . . . . . . . . . . . . . .. . . .164
3.5.6 Add/delete volumes from a storage group of type POOL . . . . .. . . .166
3.5.7 Define⁄alter of a storage group of type VIO . . . . . . . . . . . . . . .. . . .170
3.5.8 Define⁄alter of a storage group of type DUMMY . . . . . . . . . . . .. . . .171
3.5.9 Add/delete of volumes to/from DUMMY storage groups. . . . . .. . . .172
3.5.10 Define⁄alter of a storage group of type TAPE . . . . . . . . . . . . .. . . .173
3.5.11 Define/alter of a storage group of type OBJECT . . . . . . . . . .. . . .174
3.6 Batch reports and command generation . . . . . . . . . . . . . . . . . . . . .. . . .177
3.6.1 SMS configuration report from DCOLLECT data . . . . . . . . . . .. . . .178
3.6.2 On-line command generation . . . . . . . . . . . . . . . . . . . . . . . . .. . . .192
3.6.3 On-line reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .194

Chapter 4. NaviQuest usage hints and tips . . . . . . . . . . . . . . . . . . . . . . . .203


4.1 SMS base record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .203
4.2 CLIST and REXX EXEC management . . . . . . . . . . . . . . . . . . . . . . . . . .203
4.3 Batch job completion information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204
4.3.1 Batch job program requirement . . . . . . . . . . . . . . . . . . . . . . . . . . . .204
4.3.2 User modifications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204
4.4 Batch execution situations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .206
4.4.1 ISPF screen input error — code = 22 . . . . . . . . . . . . . . . . . . . . . . .206
4.4.2 ISMF or NaviQuest batch job abend S322. . . . . . . . . . . . . . . . . . . .207
4.4.3 ISMF or NaviQuest batch job abend S722. . . . . . . . . . . . . . . . . . . .207
4.5 On-line DCOLLECT test case generation process. . . . . . . . . . . . . . . . . .207
4.6 Recommended maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207
4.6.1 OW36241 — ISPF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207
4.6.2 OW36498 — ISMF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208
4.6.3 OW38094 — NaviQuest ACS validate batch job no volumes match 208
4.6.4 OW39260 — ISMF ISPSTART CMD syntax . . . . . . . . . . . . . . . . . .208
4.6.5 OW39762 — NaviQuest generate volume list — empty list . . . . . . .208
4.6.6 OW39926 — ISMF CLIST return codes . . . . . . . . . . . . . . . . . . . . . .208
4.6.7 OW37705 — OS/390 contents management possible S806 abends 209
4.6.8 OW36343 — VTS Library Import/Export Support. . . . . . . . . . . . . . .209
4.6.9 OW40515 — Clist ACBQADG4 . . . . . . . . . . . . . . . . . . . . . . . . . . . .209
4.6.10 OW40515 — Clist ACBQBAG1 . . . . . . . . . . . . . . . . . . . . . . . . . . .209
4.7 Checking job success in special cases . . . . . . . . . . . . . . . . . . . . . . . . . .209
4.8 Sample JCL modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .209
4.8.1 DCOLLECT sample job JCL modification . . . . . . . . . . . . . . . . . . . .210

Appendix A. Code and output samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211


A.1 Data sets referenced in this book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
A.2 ISMF return and reason code information. . . . . . . . . . . . . . . . . . . . . . . . . . . 212
A.2.1 ISMF return codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
A.2.2 ISMF reason codes subset list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
A.3 Modification to generate an additional line in test cases . . . . . . . . . . . . . . . . 216

Appendix B. Special notices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

Appendix C. Related publications . . . . . . . ...... ....... ...... ....... 221


C.1 IBM Redbooks publications. . . . . . . . . . . . ...... ....... ...... ....... 221
C.2 IBM Redbooks collections. . . . . . . . . . . . . ...... ....... ...... ....... 221
C.3 Other resources . . . . . . . . . . . . . . . . . . . . ...... ....... ...... ....... 221

How to get IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223


IBM Redbook fax order form. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

v
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

IBM Redbooks evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

vi Maintaining Your SMS Environment


Figures
1. Processing ACS routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2. ISMF Primary Option Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3. Sample ISMF Primary Option Menu — for storage administrators . . . . . . . . . 16
4. Sample ISMF Primary Option Menu — for general users . . . . . . . . . . . . . . . . 17
5. ISMF Profile Option Menu (alfim34) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6. User Mode Entry Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7. Enhanced ACS Management — NaviQuest Primary Option Menu . . . . . . . . . 19
8. Partial listing of batch jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9. Panel to create data set for SDSF to save output . . . . . . . . . . . . . . . . . . . . . . 23
10. Annotated copy of procedure ACBJBAOB (part 1 of 2) . . . . . . . . . . . . . . . . . . 25
11. Annotated copy of procedure ACBJBAOB (part 2 of 2) . . . . . . . . . . . . . . . . . . 26
12. ISMF Primary Option Menu — selecting data set functions. . . . . . . . . . . . . . . 32
13. Data Set Selection Entry Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
14. Data Set List Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
15. Online test case generation from saved ISMF list . . . . . . . . . . . . . . . . . . . . . . 35
16. Output of test case generation from ISMF saved table using NaviQuest . . . . 36
17. NaviQuest Test Case Generation Selection Menu . . . . . . . . . . . . . . . . . . . . . 37
18. Example of the test case generation specification panel . . . . . . . . . . . . . . . . . 38
19. Online generated test case from ISMF saved data set, member list . . . . . . . . 39
20. Example of generated test case. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
21. Sample Batch Testing/Configuration Management Selection Menu . . . . . . . . 41
22. Selection panel to create a saved data set list . . . . . . . . . . . . . . . . . . . . . . . . . 42
23. Sample Save JCL Entry Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
24. Specify the saved job to be accessed (alfin74) . . . . . . . . . . . . . . . . . . . . . . . . 44
25. Sample output from batch ISMF data set saved list (part 1 of 2) (alfim81) . . . 47
26. Sample output from batch ISMF data set saved list (part 2 of 2) . . . . . . . . . . . 47
27. Example of selection of job to report on saved ISMF data set list . . . . . . . . . . 49
28. Example of panel filled in to save the job to list saved data set list . . . . . . . . . 50
29. Example of selection of the ISMFDSLL job. . . . . . . . . . . . . . . . . . . . . . . . . . . 51
30. Selection of composite job Create Data Set List, Generate Report . . . . . . . . . 54
31. Selection panel, generate test cases from saved ISMF data set list . . . . . . . . 55
32. Panel to save batch ISMF LIST test case job . . . . . . . . . . . . . . . . . . . . . . . . . 56
33. Specify the saved job to be accessed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
34. Output — test case generation from saved ISMF list (part 1 of 2) . . . . . . . . . . 59
35. Output — test case generation from saved ISMF list (part 2 of 2) . . . . . . . . . . 60
36. Example of SDSF selection of job output to save . . . . . . . . . . . . . . . . . . . . . . 60
37. Saving job output in MHLRES7.SACBCNTL.JOBOUT(ISMFDSLG) . . . . . . . . 61
38. Online test case generation from DCOLLECT data . . . . . . . . . . . . . . . . . . . . . 62
39. Example of test case generation from DCOLLECT data using NaviQuest . . . 63
40. Panel set up to save a sample job (alfim8) . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
41. DCOLLECT job edited to collect ACTIVE SMS information (part 1 of 2) . . . . . 69
42. DCOLLECT job edited to collect ACTIVE SMS information (part 2 of 2) . . . . . 69
43. Typical DCOLLECT messages from SMSDATA(ACTIVE) run . . . . . . . . . . . . 70
44. Panel setup to save SMS report job. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
45. Example of edited job to report on DCOLLECT data (part 1 of 4) . . . . . . . . . . 73
46. Example of edited job to report on DCOLLECT data (part 2 of 4) . . . . . . . . . . 73
47. Example of edited job to report on DCOLLECT data (part 3 of 4) . . . . . . . . . . 74
48. Example of edited job to report on DCOLLECT data (part 4 of 4) . . . . . . . . . . 74
49. Example of partial list of jobs on the output queue . . . . . . . . . . . . . . . . . . . . . 75
50. SDSF panel updated to set data set name, member, and disposition . . . . . . . 76

© Copyright IBM Corp. 2000 vii


51. Sample display from system log of D SMS command and response . . . . . . . . 79
52. Selection of ISMF Data Class panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
53. Data Class Application Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
54. Example of list of DATACLAS names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
55. Example of Data Class Print Entry Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
56. Print job submission panel (part 1 of 2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
57. Print job submission panel (part 2 of 2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
58. Management Class Print Entry Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
59. Storage Class Print Entry Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
60. Storage Group Print Entry Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
61. Volume Selection Entry Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
62. Volume List — first of set of panels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
63. Volume Print Entry Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
64. Online test case generation from saved ISMF list. . . . . . . . . . . . . . . . . . . . . . 100
65. Output of test case generation from ISMF saved table using NaviQuest . . . . 101
66. Online test case generation from DCOLLECT data . . . . . . . . . . . . . . . . . . . . 102
67. Test case generation from DCOLLECT data using NaviQuest . . . . . . . . . . . .102
68. Selection of Data Collection for the DCOLLECT function (alfim98) . . . . . . . .104
69. DCOLLECT data collection specification panel (part 1 of 2) (alfim100) . . . . . 105
70. DCOLLECT data collection specification panel (part 2 of 2). . . . . . . . . . . . . . 106
71. DCOLLECT job with JOB CARD set up (part 1 of 2) . . . . . . . . . . . . . . . . . . . 107
72. DCOLLECT job with EXEC statements set up (part 2 of 2) . . . . . . . . . . . . . . 108
73. DCOLLECT message output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
74. Selection of DCOLLECT Data, Option 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
75. Test Case Generation from DCOLLECT Data Entry Panel . . . . . . . . . . . . . . 110
76. Generated test cases from DCOLLECT online operation . . . . . . . . . . . . . . . . 111
77. Test case generated online from DCOLLECT data . . . . . . . . . . . . . . . . . . . . 112
78. Selection of DCOLLECT Data operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
79. Select the Create DCOLLECT Data option. . . . . . . . . . . . . . . . . . . . . . . . . . . 113
80. Specify the data set and member to save the DCOLDSLC job . . . . . . . . . . . 114
81. Select the job to edit for DCOLLECT data collection . . . . . . . . . . . . . . . . . . . 115
82. DCOLLECT step output from data collection job DCOLDSLC . . . . . . . . . . . . 117
83. Selection of Generate Test Cases from DCOLLECT Data . . . . . . . . . . . . . . . 118
84. Specify the data set and member to save the DCOLDSLG job . . . . . . . . . . . 118
85. Select the job to edit for DCOLLECT data collection . . . . . . . . . . . . . . . . . . . 119
86. Output, batch test case generate job, DCOLLECT data set list . . . . . . . . . . . 121
87. Looking at a test case using ISMF ACS Test Case Alter . . . . . . . . . . . . . . . . 123
88. Contents of a test case after an update by NaviQuest . . . . . . . . . . . . . . . . . . 124
89. Member names used in conversion of FILTLISTs . . . . . . . . . . . . . . . . . . . . .126
90. COPYFILT member name entry panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
91. Member FOMVSDC2 with expanded FILTLIST (part 1 of 2) . . . . . . . . . . . . . 128
92. Member FOMVSDC2 with expanded FILTLIST (part 2 of 2) . . . . . . . . . . . . . 129
93. Member OMVSDC2 with original local FILTLIST . . . . . . . . . . . . . . . . . . . . . .129
94. First few lines of member FOMVSSG9 showing inserted FILTLIST . . . . . . . . 130
95. First few lines of OMVSSG9 showing no FILTLIST . . . . . . . . . . . . . . . . . . . . 131
96. Configuration changes batch sample selection (part 1 of 2) . . . . . . . . . . . . . . 132
97. Configuration changes batch sample selection (part 2 of 2) . . . . . . . . . . . . . . 133
98. Manual test case creation using ISMF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
99. Using a test case which contains invalid syntax . . . . . . . . . . . . . . . . . . . . . . . 135
100.Create ACS test listings for new and existing configurations . . . . . . . . . . . . . 137
101.Compare ACS test listings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
102.Contents of the compare listing and the exception test case library . . . . . . . 139
103.Initiating compare of ACS test results lists on-line . . . . . . . . . . . . . . . . . . . . . 140

viii Maintaining Your SMS Environment


104.Initiating test case update with expected test result lists online. . . . . . . . . . . 141
105.Test case update with test results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
106.Batch-translation of ACS routines (Part 1 of 2) . . . . . . . . . . . . . . . . . . . . . . . 144
107.Batch-translation of ACS routines (Part 2 of 2) . . . . . . . . . . . . . . . . . . . . . . . 145
108.Job output of batch-translation of ACS routines (Part 1 of 3) . . . . . . . . . . . . 146
109.Job output of batch-translation of ACS routines (Part 2 of 3) . . . . . . . . . . . . 148
110.Error message in online ISMF after ACS translation failure . . . . . . . . . . . . . 148
111.Job output of batch-translation of ACS routines (Part 3 of 3) . . . . . . . . . . . . 149
112.Batch-validate of ACS routines (Part 1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . 150
113.Batch-validate of ACS routines (Part 2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . 150
114.Job output of batch-validation of ACS routines (Part 1of 2). . . . . . . . . . . . . . 151
115.Job output of batch-validation of ACS routines (Part 2 of 2) . . . . . . . . . . . . . 151
116.Define/alter management classes (Part 1 of 2) . . . . . . . . . . . . . . . . . . . . . . . 153
117.Define/alter management classes (Part 2 of 2) . . . . . . . . . . . . . . . . . . . . . . . 154
118.Display management class in batch (Part 1 of 2) . . . . . . . . . . . . . . . . . . . . . 155
119.Display management class in batch (Part 2 of 2) . . . . . . . . . . . . . . . . . . . . . 156
120.Define/alter of a data class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
121.Display of a data class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
122.Define/alter of a storage class in batch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
123.Display of a storage class in batch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
124.Define/alter of a base configuration in batch . . . . . . . . . . . . . . . . . . . . . . . . . 161
125.Display of a base configuration in batch . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
126.Define/alter of an aggregate group in batch . . . . . . . . . . . . . . . . . . . . . . . . . 163
127.Display of an aggregate group in batch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
128.Define/alter of a storage group of type POOL . . . . . . . . . . . . . . . . . . . . . . . . 165
129.Job to add/delete volumes to/from storage group of type POOL. . . . . . . . . . 166
130.Add/delete/change status of volumes to/from/in storage group of type POOL168
131.Define/alter of a storage group of type VIO . . . . . . . . . . . . . . . . . . . . . . . . . . 171
132.Define/alter of a storage group of type DUMMY . . . . . . . . . . . . . . . . . . . . . . 172
133.Define/alter of a storage group of type TAPE . . . . . . . . . . . . . . . . . . . . . . . . 173
134.Define/alter of a storage group of type OBJECT . . . . . . . . . . . . . . . . . . . . . . 174
135.Create a data set list in batch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
136.Create a DASD or optical device volume list in batch . . . . . . . . . . . . . . . . . . 177
137.SMS configuration report from DCOLLECT data. . . . . . . . . . . . . . . . . . . . . . 179
138.SMS accounting information report from DCOLLECT data . . . . . . . . . . . . . . 179
139.SMS base configuration report from DCOLLECT data . . . . . . . . . . . . . . . . . 180
140.SMS data class information report from DCOLLECT data . . . . . . . . . . . . . . 181
141.SMS Management class information report from DCOLLECT data . . . . . . . 182
142.SMS storage class information report from DCOLLECT data . . . . . . . . . . . . 183
143.SMS storage group report from DCOLLECT data . . . . . . . . . . . . . . . . . . . . . 183
144.SMS storage group volume record configuration report, DCOLLECT data . . 184
145.Data set report from ISMF-saved list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
146.Data set report from DCOLLECT data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
147.DASD volume report from ISMF-saved list . . . . . . . . . . . . . . . . . . . . . . . . . . 189
148.DASD volume report from DCOLLECT data . . . . . . . . . . . . . . . . . . . . . . . . . 190
149.Tape volume report from ISMF-saved list . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
150.Generating model commands from DCOLLECT data in batch . . . . . . . . . . . 192
151.Generating model commands from DCOLLECT data in batch . . . . . . . . . . . 193
152.Generating model commands, ISMF-saved list (SYSTSPRT and ISPLOG) . 193
153.Generating model commands, ISMF-saved list (command output data set). 194
154.SMS report generation selection menu in ISMF . . . . . . . . . . . . . . . . . . . . . . 195
155.On-line initiated data set report from ISMF-saved list (1 of 3) . . . . . . . . . . . . 196
156.On-line initiated data set report from ISMF-saved list (2 of 3) . . . . . . . . . . . . 196

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

x Maintaining Your SMS Environment


Tables
1. Tailoring data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2. userid.SACBCNTL.TAILOR member name documentation . . . . . . . . . . . . . . 20
3. userid.SACBCNTL.JOBOUT member name documentation . . . . . . . . . . . . . . 21
4. userid.SACBCNTL.TESTBED member prefix documentation . . . . . . . . . . . . . 22
5. userid.SACBCNTL.JOBOUT member documentation . . . . . . . . . . . . . . . . . . . 23
6. userid.SACBCNTL.TAILOR member name documentation . . . . . . . . . . . . . . 28
7. Data set names in test cases generated from different sources . . . . . . . . . . . 29
8. Conditionally generated fields in test cases . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9. userid.SACBCNTL.TAILOR member name documentation with ISMFDSLC . 43
10. userid.SACBCNTL.TAILOR member name documentation with ISMFDSLL . 50
11. userid.SACBCNTL.TAILOR member name documentation with ISMFDSLG . 56
12. userid.SACBCNTL.JOBOUT member ISMFDSLG documentation . . . . . . . . . 61
13. Contents of automatically generated fields in test cases . . . . . . . . . . . . . . . . . 63
14. userid.SACBCNTL.TAILOR member name documentation with DCOLACS. . 68
15. userid.SACBCNTL.TAILOR member name documentation with ACSREP . . . 71
16. userid.SACBCNTL.JOBOUT member name documentation . . . . . . . . . . . . . . 76
17. SMS configuration DCOLLECT report data set documentation . . . . . . . . . . . 76
18. userid.SACBCNTL.TAILOR member name documentation with DCOLSMSR 77
19. SMS data collection template. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
20. SMS data collection filled-in sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
21. Data class ACS routine member documentation . . . . . . . . . . . . . . . . . . . . . . . 80
22. DATACLAS record report documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
23. DATACLAS assignment analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
24. MGMTCLAS ACS routine member documentation . . . . . . . . . . . . . . . . . . . . . 86
25. Management class record report documentation . . . . . . . . . . . . . . . . . . . . . . 88
26. STORCLAS ACS routine member documentation. . . . . . . . . . . . . . . . . . . . . . 89
27. STORCLAS record report documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
28. SSTORGRP ACS routine member documentation . . . . . . . . . . . . . . . . . . . . . 91
29. Storage group record report documentation . . . . . . . . . . . . . . . . . . . . . . . . . . 93
30. Volume record report documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
31. Conditionally generated fields in test cases . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
32. Contents of automatically generated fields in test cases . . . . . . . . . . . . . . . . 103
33. userid.SACBCNTL.TAILOR member name documentation with DCOLDSLC114
34. userid.SACBCNTL.TAILOR member name documentation with DCOLDSLG119
35. userid.SACBCNTL.JOBOUT member DCOLDSLG documentation . . . . . . . 122
36. FILTLIST ACS member documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
37. Data sets available for reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
38. ISMF standard return codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
39. ISMF reason codes subset list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

© Copyright IBM Corp. 2000 xi


xii Maintaining Your SMS Environment
Preface
When did you last look at how your SMS environment is set up? Are your data
classifications still valid? How do you maintain your SMS environment? Are your
automatic class selection (ACS) routines assigning the correct data class,
storage class, management class, and storage group to each data set?

Each new release of DFSMS/MVS provides function that is available only to


installations that have implemented SMS. Implementing DFSMS or any change
that affects the DFSMS environment must be tested. The results from the DFSMS
configuration are unpredictable if the ACS routines have logic errors, or if there
are data sets the routines are not coded to handle. The DFSMS/MVS NaviQuest
tool provides a testing framework that you can use whether you are implementing
SMS for the first time, or you are changing or performing ongoing ACS and
configuration maintenance. Enhancements in DFSMS/MVS Version 1.5 allows
you to set up and manage an SMS configuration in batch using NaviQuest. The
NaviQuest interface is accessible from an application program or a REXX EXEC.

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.

This redbook 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.

The team that wrote this redbook


This redbook was produced by a team of specialists from around the world
working at the International Technical Support Organization, San Jose Center.

Mary Lovelace is a Senior Software Engineer at the International Technical


Support Organization, San Jose Center. Before joining the ITSO, she worked in
the Education Support Center in Poughkeepsie, New York developing large
systems and storage education for EMEA. Mary has more than 20 years of
experience with IBM in large systems and storage product education, system
engineering and consultancy, marketing support, and system programming.

Anthony Fletcher is an Information Technology Analyst working in IBM Global


Services Strategic Outsourcing, New Zealand. He holds a BSC(Hons) in
Electrical Engineering degree from SALFORD University, Lancashire, UK. He has
30 years of experience in OS/390 and predecessors as a customer of IBM, then
with IBM. For many years he was involved in all aspects of performance
measurement and system tuning, and with application programming interfaces
between VTAM and JES2. His product areas of expertise include installation,
implementation and use of MVS/DFP, DFSMShsm, and DFSMS, and he has a
working knowledge of RACF and current ACF/VTAM and NCP versions. Anthony
can be reached at fletcha@nz1.ibm.com.

© Copyright IBM Corp. 2000 xiii


Gerhard Weisshaar is a software engineer at GRAU Software GmbH,
Schwaebisch Gmuend in Germany. He has 15 years of experience in IBM large
systems environments, working as a consultant for 11 years. Gerhard has
accomplished numerous projects on implementation and improvement of storage
management. In addition, he is permanently working as a partner of IBM
Germany and IBM Switzerland in education for large systems storage software.
His areas of expertise include implementation and use of DFSMShsm,
DFSMSdss, DFSMSdfp, DFSMSrmm, DFSMS Optimizer, DASD and tape.
Gerhard Weisshaar can be reached at gerhard_weisshaar@compuserve.com.

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

Guntupalli Srinivasa Rao


IBM San Jose

Comments welcome
Your comments are important to us!

We want our redbooks to be as helpful as possible. Please send us your


comments about this or other redbooks in one of the following ways:
• Fax the evaluation form found in “IBM Redbooks evaluation” on page 229 to
the fax number shown on the form.
• Use the online evaluation form found at http://www.redbooks.ibm.com/
• Send your comments in an Internet note to redbook@us.ibm.com

xiv Maintaining Your SMS Environment


Chapter 1. Managing your storage environment
The advent of e-business and related Internet and intranet activities has
increased the need to store data efficiently and reliably. The hardware is being
enhanced and extended to allow more data in the physical space, but the logical
view of the data also has to be addressed.

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.

Implementation of SMS functions depends on the use of the Interactive Storage


Management Facility (ISMF), and this is enhanced by the batch job
implementation of ISMF functions through the NaviQuest function extensions.
SMS with ISMF and NaviQuest provides tools that allow you to conceive and test
new storage management strategies without putting the existing SMS
environment at risk.

At this point, it is appropriate for us to review the IBM concept of


system-managed storage.

1.1 System-managed storage


System-managed storage is storage managed by the SMS. It is the IBM
automated approach to managing storage resources.

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.

The combination of system-managed storage and related hardware and software


products is called the Data Facility Storage Management Subsystem (DFSMS)
environment.

With SMS, you can define performance goals and data availability requirements,
create model data definitions for typical data sets, and automate data backup.

© Copyright IBM Corp. 2000 1


SMS can automatically assign, based on installation policy, those services and
data definition attributes to data sets when they are created. IBM storage
management-related products determine data placement, manage data backup,
control space usage, provide data security, and perform disaster backup and
recovery.

There are system products and functions discussed throughout this book that
interact with the storage subsystem. They are described here briefly for
completeness.

1.2 DFSMS environment


The DFSMS environment helps automate and centralize the management of
storage. This is achieved through a combination of hardware, software, and
policies. In the OS/390 environment the function is provided by DFSORT, RACF,
and the combination of DFSMS/MVS and MVS.

The components of DFSMS/MVS and their function are:


• DFSMSdfp — Provides storage, data, program, and device management
functions through the SMS
• DFSMSrmm — Provides tape management functions for removable media
such as tape cartridges
• DFSMSdss — Provides data movement, copy, backup, and space
management functions in a batch environment
• DFSMShsm — Provides backup, recovery, migration, and space management
functions with optimum automation capabilities. DFSMShsm is a policy-driven
solution to storage management, removing the requirement for batch jobs to
perform backup, migration, or space retrieval functions.

1.2.1 Aggregate Backup and Recovery Support


Aggregate Backup and Recovery Support (ABARS) is a function of DFSMShsm
that is designed for use in disaster recovery. ABARS performs data backup and
recovery processes on a predefined set of data called an aggregate.

1.2.2 DFSMS Optimizer


The DFSMS Optimizer uses historical and real-time data to provide an overall
picture of data usage on each system in a sysplex environment. It provides
monitoring and reporting capabilities for multiple or single system environments.
It enables installation staff to understand how it is managing storage today. With
such information, installation administrators can make informed decisions about
how to manage storage in the future.

The Hierarchical Storage Manager (HSM) Monitor/Tuner component of the


DFSMS Optimizer keeps you informed about the status of DFSMShsm activity,
provides dynamic control and tuning capability, allows selective playback of
DFSMShsm activity, and enables you to terminate active DFSMShsm tasks
through the graphical user interface (GUI).

2 Maintaining Your SMS Environment


1.2.3 Object Access Method (OAM)
Object Access Method (OAM) is a component of DFSMSdfp. It is an access
method that provides storage, retrieval, and storage hierarchy management for
objects, and that provides storage and retrieval management for tape volumes
contained in system-managed libraries. OAM uses the concepts of SMS to help
you manage data and storage space. OAM plays a central role in the software
support of the automated and manual tape library dataservers.

1.2.4 Tape Mount Management (TMM)


Tape Mount Management (TMM) is a dynamic interception process that uses
SMS ACS routines to manage data that has been defined to be written to tape.
The data is diverted to a DASD pool, then aggregated to tape later by
DFSMShsm. This is a powerful way of improving the efficiency of use of large
capacity external media, such as the IBM Magstar.

1.2.5 Virtual Tape Server (VTS)


Virtual Tape Server (VTS) is a subsystem in an IBM 3494 Automated Tape Library
Data Server (ATLDS). The VTS works in an OS/390 environment by having SMS
ACS routines intercept the tape write process and redirect the data to disk
storage on the VTS, in a similar way to that used in TMM (refer to 1.2.4, “Tape
Mount Management (TMM)” on page 3). In the case of the VTS, the data
aggregation and consolidation is done by a separate processor without the
OS/390 system being involved.

1.2.6 SMS classes and groups


In the DFSMS environment, you use SMS classes and groups to set service
requirements, performance goals, and data definition models for your installation.
You have to write Automatic Class Selection (ACS) routines to assign them to
data according to your installation's policies. Refer to 1.2.8, “Automatic class
selection routines” on page 5 for more information.

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.

For a full discussion on SMS classes and groups, refer to Implementing


System-Managed Storage, SC26-3123.

A brief summary of classes and groups follows:

1.2.6.1 Data class


A data class is a collection of allocation and space attributes that you define. It is
used when data sets are created. You can simplify data set allocation for your
users by defining data classes that contain standard data set allocation attributes.
You can use data classes with both system-managed and non-system-managed
data sets, but some data class characteristics are only available with
system-managed requests.

Managing your storage environment 3


1.2.6.2 Storage class
A storage class is a collection of performance goals and availability requirements
that you define. It is used to select a device to meet those goals and
requirements. Only system-managed data sets and objects can be assigned a
storage class.

1.2.6.3 Management class


A management class is a collection of management attributes that you define. It
is used to control the retention, migration, backup and release of allocated but
unused space for data sets, or to control the retention, backup, and class
transition of objects. Management classes let you define management
requirements for individual data sets, rather than defining the requirements for
entire volumes.

1.2.6.4 Storage group


A storage group is a collection of storage volumes and attributes that you define.

1.2.6.5 Aggregate group


An aggregate group is a collection of related data sets and control information
that have been pooled to meet a defined backup or recovery strategy.

1.2.7 Benefits from using SMS


Following is a short summary of each of the benefits of implementing SMS.

1.2.7.1 Simplified data allocation


System-managed storage enables users to simplify their data allocation
specifications for routine allocations.

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.

1.2.7.2 Ensured data integrity on new allocations


System-managed storage provides data integrity for newly allocated physical
sequential data sets that have not been written to. For these data sets, SMS
writes a physical end-of-file character at the beginning of the data set when space
for the data set is initially allocated.

1.2.7.3 Improved allocation control


System-managed storage enables you to set a threshold for free space across a
set of direct access storage device (DASD) volumes. During allocation of new
data sets, the system prefers those volumes that are below the specified
threshold. This allows existing data sets to be extended on the volumes that are
above the threshold.

1.2.7.4 Improved input/output (I/O) performance management


System-managed storage enables you to improve DASD I/O performance across
the installation and at the same time reduce the need for manual tuning by
defining performance goals for each class of data.

4 Maintaining Your SMS Environment


1.2.7.5 Automated DASD space management
You can define policies that determine how long an unused data set or object
resides in primary storage (storage devices used for your active data). You can
also release allocated but unused space which is assigned to new and active data
sets, and to automatically reclaim space which is allocated to old and unused
data sets or objects.

1.2.7.6 Automated tape space management


System-managed storage lets you fully use the capacity of your tape cartridges
and automate tape mounts. You can use the techniques of TMM, such as
intercepting data writes to tape cartridges and diverting them to DASD.
Subsequent DFSMShsm processes then use the full capacity of the tape
cartridge devices.

1.2.7.7 System-managed tape


System-managed storage lets you exploit the device technology of new devices
without having to change the JCL UNIT parameter.

1.2.7.8 Automated storage management for object data


System-managed storage enables you to fully use the capacity of your optical
cartridges and to automate optical mounts.

1.2.7.9 Improved data availability management


With system-managed storage, you can provide different backup requirements to
data residing on the same DASD volume. Thus, you do not have to treat all data
on a single volume the same way.

1.2.7.10 Simplified movement of data to different device types


With system-managed storage, you can move data to new volumes without
requiring users to update their job control language (JCL).

You can also use system-determined block sizes to automatically reblock physical
sequential and partitioned data sets that can be reblocked.

1.2.8 Automatic class selection routines


An important part of the operation of SMS is the assignment of the various
classes and groups.

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.

Managing your storage environment 5


D a ta C las s
N ew D ata S et
A llo ca tio n A C S R ou tine N on-S ystem -M a naged
V olum e

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

M an age m en t C la ss S ystem -M anag ed


A C S R ou tin e V olum e

S torage G rou p
A C S R outine

Figure 1. Processing ACS routines

This redbook, Maintaining Your SMS Environment, SG24-5484 details a


methodology for managing and testing new and altered ACS routines using ISMF
and NaviQuest.

1.2.9 SMS control data sets


You must have defined the SMS control data sets before activating SMS.
Although you only need to allocate the data sets from one system, the active
control data set (ACDS) and communications data set (COMMDS) must reside on
a device that can be accessed by every system to be managed with the SMS
configuration.

SMS uses the following SMS data sets. Refer to DFSMSdfp Storage
Administration Reference, SC26-4920 for detailed information.

1.2.9.1 Source control data set (SCDS)


The SCDS contains the information that defines a single storage management
policy, called an SMS configuration. You can define more than one SCDS, but
only one can be used to activate a configuration at any given time.

1.2.9.2 Active control data set (ACDS)


The ACDS contains an SCDS that has been activated to control the storage
management policy for the installation. When you activate a configuration, SMS
copies the existing configuration from the specified SCDS into the ACDS. By
using copies of the SMS classes, groups, volumes, optical libraries, optical
drives, tape libraries, and ACS routines rather than the originals, you can change
the current storage management policy without disrupting it.

6 Maintaining Your SMS Environment


For example, while SMS uses the ACDS, you can:
• Create a copy of the ACDS
• Create a backup copy of an SCDS
• Modify an SCDS
• Define a new SCDS

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.

1.2.9.3 Communications data set (COMMDS)


The COMMDS contains the name of the ACDS and enables communication
between SMS systems in a multisystem environment. The COMMDS also
contains space statistics, SMS status, and MVS status for each system-managed
volume. Although only one COMMDS is used at a time for an SMS installation, we
recommend that you have more COMMDSs on different volumes for recovery
purposes.

SMS provides automated methods to manage the data on a system, as well as to


manage the functions that are required to look after the data, and provide
extended services. In this section we introduce the concepts of system-managed
storage and data classification.

1.3 Concepts of system-managed storage


An installation must have at least one tailored data class, together with at least
one related storage group. It is possible to run with a storage class and a
management class that is effectively making no policy decisions, but this mode of
operation should be reviewed regularly to ensure that SMS benefits are being
used.

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.

1.3.1 Data classification


SMS allows you to use the most appropriate method of classifying data for your
installation. Although the benefits of SMS allow you to change your mind, it is
appropriate to consider the issues periodically. Often the initial classification will
turn out to have been a good idea at the time, but subsequent evolution and
expansion have revealed the possibility of a better classification.

Managing your storage environment 7


Some considerations you should take into account are:
• Traditional classification.
• We need to review TSO data sets as compared to batch data sets as
compared to database and related online monitor data sets. When TSO
was first implemented, the files being accessed had different access
requirements, and many of them were of short duration. This may not be
the case any longer. Database and online data sets were generally long
term allocations, and this is likely to be true now, but with longer durations.
• Modern installations may find that there is little functional distinction
between the way TSO and batch data sets files are accessed. This leads to
the possibility of classifying data according to other criteria. The database
and online data sets are still long-term, but they are likely to be larger, and
with very little, if any, outage windows.
• Functional classification:
• Examination of the actual data sets in an installation will show attributes
such as size, location, and whether they have been migrated and recalled.
The NaviQuest functions assist with the process of gathering the data, but
you must apply your knowledge of the installation (system users and the
use of the data) to ensure proper classification.
• Examination of the applications running in the installation will lead to
information on requirements for strategies for data backup, for example,
which will lead to policy definitions for the SMS Management Classes.

Classification of data is fundamental to the correct operation of the SMS


environment. The way that an existing system is set up is a result of some form of
data classification. Changes to the system should be made with an understanding
of the data classification policy that has been used.

1.3.2 Reviewing references


Whether or not a formal description of the data classification policy exists, in an
existing SMS environment, there is a policy in effect. When you have collected the
information about your SMS environment, you should review the process of
writing SMS routines before you start changing them.

You should consider reviewing the following manuals:

DFSMS FIT: Fast Implementation Techniques Process Guide, SG24-4478

DFSMS FIT: Fast Implementation Techniques Installation Examples, SG24-2569

DFSMS FIT: Fast Implementation Techniques, SG24-2568

Implementing System-Managed Storage, SC26-3123

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.

8 Maintaining Your SMS Environment


1.4 Maintaining the SMS environment
There are many phases in the establishment and operation of the SMS
environment. In this book, we concentrate on the cycle of change once the SMS
environment is established and the system is running, using the NaviQuest tool to
make the tasks easily and quickly repeatable.

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.

1.5 Storage management review


Establishment of a NaviQuest testing environment provides a standard reference
point with tests and expected results that make it easier to pay attention to the
real reason for a change. Installation of a new device, for example, has getting
access to it as the prime objective. Delays caused by adjustments to the ACS
routines are a cause of frustration that need not occur. There are many reasons
for changes, including:
• User community changes, for example, the splitting or consolidation of groups.
• Adding storage capacity, which may require the controlled distribution of data.
• New device types may require a differentiation between real and emulated
devices and specific allocation during testing.
• Changes to data set naming conventions. Without corresponding ACS
changes, these may result in inappropriate data allocation.
• Operating system upgrade. Enhancements to DFSMS/MVS may involve new
features affecting SMS functions.

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.

Managing your storage environment 9


10 Maintaining Your SMS Environment
Chapter 2. Tools for managing SMS
There are tools provided to help you maintain SMS after you have activated it.
This includes gathering data, listing information, and altering your storage
configuration as needed. The main focus of this chapter is the use of the
NaviQuest tool to update configuration values and create reports, as well as
using the NaviQuest cross-referencing capabilities to help verify changes to your
configuration.

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.

Figure 2. ISMF Primary Option Menu

Options 3 to 9 are directly related to SMS management. Options 10 and R relate


to functional subsystem support. Options 1, 2, C, and L relate to data collection
and list processing.

Option 11 is the interface to NaviQuest; see Figure 2.

Refer to the manual Using the Interactive Storage Management Facility,


SC26-4911 for detailed information on the use of ISMF.

© Copyright IBM Corp. 2000 11


NaviQuest
NaviQuest is a definition, testing, and reporting tool that speeds and simplifies
the tasks associated with DFSMS initial implementation and ongoing ACS routine
and configuration maintenance. NaviQuest provides:
• Familiar ISPF panel interface to functions
• Fast, easy, bulk test case creation
• ACS routine and DFSMS configuration testing automation
• Storage reporting assistance
• Additional tools to aid with storage administration tasks
• Batch creation of data set and volume listings
• Printing of ISMF LISTs
• Batch ACS routine translation
• Batch ACS routine validation.

NaviQuest and its functions in managing an SMS and ACS environment is the
main focus of this book.

DFSMS Data collection facility


The DFSMS data collection facility (DCOLLECT) is a function of access method
services (AMS). DCOLLECT collects data in a sequential file you can use as
input to other programs or applications such as ISMF and NaviQuest.

DCOLLECT obtains data on:


• Active data sets:
DCOLLECT provides data about space use and data set attributes and
indicators on the selected volumes and storage groups.
• VSAM data set information:
DCOLLECT provides specific information relating to VSAM data sets residing
on the selected volumes and storage groups.
• Volumes:
DCOLLECT provides statistics and information on volumes that are selected
for collection.
• Inactive data:
DCOLLECT produces output for DFSMShsm-managed data, (inactive data
management), which includes both migrated and backed up data sets.
• Migrated data sets:
DCOLLECT provides information on space utilization and data set attributes
for data sets migrated by DFSMShsm.
• Backed up data sets:
DCOLLECT provides information on space utilization and data set attributes
for every version of a data set backed up by DFSMShsm.

12 Maintaining Your SMS Environment


• Capacity planning:
Capacity planning for DFSMShsm-managed data (inactive data management)
includes the collection of both DASD and tape capacity planning:
• DASD capacity planning: DCOLLECT provides information and statistics
for volumes managed by DFSMShsm (ML0 and ML1).
• Tape capacity planning: DCOLLECT provides statistics for tapes managed
by DFSMShsm.
• SMS configuration information:
DCOLLECT provides information about the SMS configurations. This
information can be from either an ACDS or a SCDS, or the active
configuration.

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.

The significant changes in NaviQuest in DFSMS/MVS 1.5 are in the additional


support functions that allow the same processes to be set up and run in batch.
These are available online using ISMF. The changes cover new or modified
EXECs and keywords for the following functions:
• Data class DEFINE/ALTER/DISPLAY
• Storage class DEFINE/ALTER/DISPLAY
• Management class DEFINE/ALTER/DISPLAY
• VIO storage group DEFINE/ALTER
• POOL storage group VOLUME DEFINE/ALTER
• Dummy storage group DEFINE/ALTER
• Object storage group DEFINE/ALTER

Tools for managing SMS 13


• Object backup storage group DEFINE/ALTER
• Aggregate group DEFINE/ALTER/DISPLAY
• Base configuration DEFINE/ALTER/DISPLAY

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

2.1.1 NaviQuest terminology


Several new terms are unique to NaviQuest. You will need to familiarize yourself
with them before you begin to use this facility.

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.

14 Maintaining Your SMS Environment


initial test First-time testing of a single data subtype performed prior
to converting the data to SMS. The test may include
regression tests for other data subtypes that have already
been tested successfully.
implementation phase Data conversion to SMS management of one or more
data subtypes with the same data type.
phase test set Group of subtype test sets that define all data subtypes
that make up a phase. Phase test sets are converted to
SMS management within a single phase.
regression test Testing of data subtypes that have already been
successfully tested, along with the initial test of the
current phase subtype.
results Values that are assigned by the ACS routines for data
class, storage class, management class, and storage
group for a specific test case. These results might or
might not be correct.
saved expected results Results that have been saved in the test case after the
successful initial test of the subtype test set. The results
are used by the ACS comparison function during
regression testing.
subtype prefix A unique 1-to-4 character prefix associated with each
data subtype. This prefix is used to relate the data
classification data subtype to the subtype test set and to
group all test cases together for a single subtype test set.
subtype test set A group of test cases for all data sets associated with the
same data subtype. All test cases within one subtype test
set have the same expected results.
test case Definition of parameters (ACS routine variables) used
during allocation of a single data set by ACS routines.
Test cases need not to contain all specifications that you
specify at allocation time, but they must contain all
information which is used by ACS routines. A test case
must be stored in a member of a library, each member
containing only one test case. The definition process of
test cases is supported by ISMF and NaviQuest.
Test cases may only be used (executed) by the test
procedures of ISMF option 7.4.3 and NaviQuest. The
results of a test case are the names of the constructs
assigned by the executed ACS routines. Data sets are not
really allocated when executing test cases and there is no
interaction with the existing environment (ICF catalogs,
SMS address space).
test library A library (PDS or PDSE) defined with RECFM=FB and
LRECL=80 containing at least one member that defines a
test case
test bed library A test library containing all test cases, one member per
test case.

Tools for managing SMS 15


2.1.2 ISMF interface
Even if you use ISMF functions to manage SMS, you may not have seen the
NaviQuest panels. We will take you through a sequence that introduces you to the
NaviQuest panels, and provide you with useful checkpoint information.

The first stage is always to access the ISMF panels.

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.

Figure 3. Sample ISMF Primary Option Menu — for storage administrators

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.

16 Maintaining Your SMS Environment


Figure 4. Sample ISMF Primary Option Menu — for general users

To define your userid as a storage administrator, select Option 0, ISMF Profile


from the ISMF Primary Option Menu. This will take you to the ISMF Profile Option
Menu Panel. Refer to Figure 5.

Figure 5. ISMF Profile Option Menu (alfim34)

Tools for managing SMS 17


Select Option 0, User Mode Selection. This will take you to the User Mode Entry
Panel. You need to set the user mode to Option 2.

Select Option 0, User Mode Selection.

Refer to Figure 6.

Figure 6. User Mode Entry Panel

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.

18 Maintaining Your SMS Environment


Figure 7. Enhanced ACS Management — NaviQuest Primary Option Menu

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.

2.2 Setting up NaviQuest data sets


Several data sets are required to set up and run NaviQuest. You must tailor the
NaviQuest environment to your installation standards in order to utilize NaviQuest
effectively and in a predictable manner. It is important that the NaviQuest data
sets supplied with the code not be modified directly. You need to decide on data
sets to store job JCL, results and output, and you need to do this in such a way
that it can be repeated each time you go through the process.

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.

One of the purposes of using NaviQuest for maintenance of SMS functions is to


allow the tasks to be carried out by the most suitable people, or by a team. To do
this requires the establishment and maintenance of data sets with recognized
names that are used in a consistent manner. In this section we provide
suggestions on naming convention in the discussion of each data set.

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.

Tools for managing SMS 19


Table 1. Tailoring data sets

Purpose of data set Name Data Set Attributes

copy of sample jobs and tailored jobs userid.SACBCNTL.TAILOR FB/80 PDS or PDSE

user ISMF saved tables userid.SACBCNTL.ISPTABL FB/80 PDS or PDSE

saved job output userid.SACBCNTL.JOBOUT VBA/240 PDS pr PDSE

user modified CLISTs userid.SACBCNTL.DGTCLIB FB/80 PDS or PDSE

test case data set userid.SACBCNTL.TESTBED FB/80 PDS or PDSE

2.2.1 Creating a copy of SYS1.SACBCNTL


SYS1.SACBCNTL contains sample JCL that can be modified with the parameters
for the task to be performed. It is shipped with the NaviQuest code and accessed
through the ISMF Option 11, Enhanced ACS Management, and the panels that
follow it. We recommend that you do not modify the JCL in SYS1.SACBCNTL,
since many IBM fixes are installed into it. Make a copy of it and modify the jobs in
the copy. You can always refer back to SYS1.SACBCNTL if needed. The name of
the copy of SYS1.SACBCNTL matters only to the installation. The purpose of
using NaviQuest and its Enhanced ACS Management routines is to maintain and
care for the SMS environment; therefore, avoid restricting the name to a
NaviQuest only relationship, so you can store other jobs there. Try to relate it to
all SMS management functions rather than just NaviQuest.

To allocate a copy of SYS1.SACBCNTL:


• Determine data set attributes. Use the same attributes as SYS1.SACBCNTL.
The copy can be defined as a PDSE even if SYS1.SACBCNTL is a standard
PDS.
• Decide on a data set size. We recommend 20% larger than SYS1.SACBCNTL,
which allows for expansion while editing if the data set is a PDS rather than a
PDSE. If you allocate a PDSE, then you can make it the same size as
SYS1.SACBCNTL.
• Decide on the data set name. We chose the name format of
userid.SACBCNTL.TAILOR.
• Copy SYS1.SACBCNTL to userid.SACBCNTL.TAILOR.
• Set up a method of documenting the member names of this data set, so that
you can easily locate and use them.
You can set up a table similar to Table 2. We refer to this table as NaviQuest
jobs are created and saved.
Table 2. userid.SACBCNTL.TAILOR member name documentation

Member name Job function

20 Maintaining Your SMS Environment


2.2.2 Creating a data set to save ISMF tables
Many of the sample jobs that you will be tailoring have a multistage structure,
during which information is passed between steps. Some information is saved in
temporary data sets that are passed through the job, and ISMF saved lists are
also created. The ISMF saved lists are stored in a permanent data set that you
must specify in the jobs that use the facility.

To create the data set to save the ISMF tables:


• Assign the data set attributes. Use same attributes as SYS1.DGTTLIB. We
recommend that you allocate a PDSE. Defining the data set as a PDSE
eliminates any space considerations.
• Determine data set size. Some of the processes involve significant amounts of
data. We recommend that you start with 5 megabytes, and review the resulting
size of the data set periodically.
• Choose the data set name. When setting NaviQuest up for production
purposes, we recommend that you do not use the name that is generated in
the sample JCL, but choose a more permanent name. The name generated is
userid.TEST.ISPTABL. We recommend the naming convention
userid.SACBCNTL.ISPTABL.

2.2.3 Creating a data set to save batch job output


Many of the sample jobs that you run will contain information that you will want to
refer back to. If you have a SYSOUT archiving facility at your installation, you can
use that. We describe how to use system display and search facility (SDSF) to
save appropriate sections of the output.

To create the data set to save batch job output:


• Assign the data set attributes. Use the characteristics that SDSF assigns,
RECFM=VBA,LRECL=240. You can use SDSF to allocate the new data set.
Refer to 2.3, “Saving batch job output using SDSF” on page 22.
• Determine data set size. Some of the processes involve significant amounts of
data. We recommend that you start with 5 megabytes, and review the size of
the data set periodically.
• Choose the data set name. We recommend userid.SACBCNTL.JOBOUT.
Choose a method for documenting saved job output. You can set up a table
that contains the functions shown in Table 3.
Table 3. userid.SACBCNTL.JOBOUT member name documentation

Member name Job function

2.2.4 Creating a data set to save test cases


One of the major functions of NaviQuest is to carry out tests on proposed
changes to SMS ACS routines using the test cases built and used in the testing
process. To create a data set to save the test cases:
• Assign data set attributes: The data set must be FB with a logical record
length of 80. A PDSE is recommended.

Tools for managing SMS 21


• Determine data set size. Some of the NaviQuest processes involve significant
amounts of data. We recommend that you start with 5 megabytes, and review
the resulting size of the data set periodically.
• Choose a data set name. We recommend userid.SACBCNTL.TESTBED.
• When test cases are generated, a prefix is used to categorize the different
sets of cases. You need to record the prefixes that you select for later use in a
table like the one shown in Table 4.
Table 4. userid.SACBCNTL.TESTBED member prefix documentation

Member name prefix Prefix classification

2.3 Saving batch job output using SDSF


The tool most often used to view job output is SDSF. It is also a suitable tool to
save the output.

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.

Figure 8. Partial listing of batch jobs

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.

Refer to Figure 9 for an example of the completed panel.

22 Maintaining Your SMS Environment


Figure 9. Panel to create data set for SDSF to save output

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

Member name Job intent

Tools for managing SMS 23


2.4 ACBJBOAB JCL procedure
Most of the NaviQuest jobs use the procedure in data set SYS1.SACBCNTL
member ACBJBAOB, and it has to be modified to take into account installation
and user requirements. The modified copy of ACBJBAOB must be available to the
NaviQuest jobs at execution time. The easiest way to do this, and ensure
consistent job results, is to use the JCLLIB DD statement in the NaviQuest jobs.
This is provided, where required, in the sample jobs. It is a simple update to
change the DSN parameter name from SYS1.SACBCNTL to
userid.SACBCNTL.TAILOR before saving the modified sample NaviQuest job.

The ACBJBAOB procedure needs to be reviewed and modified as required for


use in your installation. The list provided here may not cover all modifications, so
you should check the whole procedure. As you will be working with your copy, you
can always refer back to the IBM supplied version in SYS1.SACBCNTL if you
make any changes that subsequently appear to cause problems.

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.

24 Maintaining Your SMS Environment


//ACBJBAOB PROC CLIST1='SYS1.DGTCLIB',
//*------------------------------------------------------------------*/
//* CLIST1 SHOULD BE THE FILE #1 FROM THE INSTALLATION TAPE */
//* NOTE THAT THIS IS A FB CLIST LIBRARY; IF YOUR INSTALLATION */
//* USES VB CLIST LIBRARIES, YOU MUST CONVERT THEM YOURSELF */
//*------------------------------------------------------------------*/
// PLIB1='SYS1.DGTPLIB',
//*------------------------------------------------------------------*/
//* PLIB1 SHOULD BE THE FILE #3 FROM THE INSTALLATION TAPE */
//*------------------------------------------------------------------*/
//********************************************************************/
// LOAD1='SYS1.DGTLLIB', <---#S1
//*------------------------------------------------------------------*/
//* LOAD1 SHOULD BE THE FILE #5 FROM THE INSTALLATION TAPE */
// MLIB1='SYS1.DGTMLIB',
//*------------------------------------------------------------------*/
//* MLIB1 SHOULD BE THE FILE #6 FROM THE INSTALLATION TAPE */
//*------------------------------------------------------------------*/
// TABL2='userid.TEST.ISPTABL'
//*------------------------------------------------------------------*/
//* TABL2 IS THE DATA SET FOR SAVING ISMF TABLES; YOU SHOULD */
//* ALLOCATE THIS DATA SET WITH THE SAME DCB PARAMETERS AS THE */
//* ISMF DGTTLIB DATA SET; TABLE CAN BE LARGE - ALLOCATE A LARGE */
//* DATA SET. Be sure you change 'userid' to YOUR userid. */
//*------------------------------------------------------------------*/
//*$MAC(ACBJBAOB) COMP(5695DF123): BATCH - CALLED PROC */
//* */
//* PROPRIETARY V3 STATEMENT */
//* LICENSED MATERIALS - PROPERTY OF IBM */
//* 5695-DF1 */
//* (C) COPYRIGHT 1995,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*/
//*$L1=KN20035,HACS120,96/07/12,SNJTCS: TYPO CORRECTED @L0A*/
//*10/14/96 CCY - HDZ11C0: Ship as SPE @WA22861*/
//*06/13/97 CCY - HDZ11D0: Change IBMUSER to 'userid' @WA27246*/
//*$T1=NQ5,HDZ11E0,061997,SNJTCS: ISP V3R5M0 Datasets deleted @T1A*/
//*08/27/98 TCS - HDZ11D0: BLKSIZE=0 fix @WA34895*/
//*11/23/98 TCS - HDZ11E0: Add missing comma @WA36007*/
//*01/21/99 TCS - HDZ11E0: Changing UNIT from 3380 to SYSDA @WA36897*/
//* */
//********************************************************************/

Figure 10. Annotated copy of procedure ACBJBAOB (part 1 of 2)

Tools for managing SMS 25


//********************************************************************/
//* PROC STEP STEP1 - INVOKES IKJEFT01 */
//********************************************************************/
//STEP1 EXEC PGM=IKJEFT1B,DYNAMNBR=50,REGION=(6144K),TIME=(300)
//*------------------------------------------------------------------*/
//STEPLIB DD DSN=&LOAD1,DISP=SHR <---#S1
//*------------------------------------------------------------------*/
//* IN ISPPLIB, INCLUDE THE ISPF, PDF, ISMF AND NAVIQUEST PANELS */
//*------------------------------------------------------------------*/
//ISPPLIB DD DSN=&PLIB1,DISP=SHR,BLKSIZE=0
// DD DSN=ISP.SISPPENU,DISP=SHR <---#03/* ISPF PANELS */
//* DD DSN=SYS1.DGTPLIB,DISP=SHR <---#04/* ISMF PANELS */
//*------------------------------------------------------------------*/
//* IN ISPMLIB, INCLUDE THE ISPF, PDF, ISMF AND NAVIQUEST MESSAGES */
//*------------------------------------------------------------------*/
//ISPMLIB DD DSN=&MLIB1,DISP=SHR,BLKSIZE=0
// DD DSN=ISP.SISPMENU,DISP=SHR <---#03/* ISPF MESSAGES */
//* DD DSN=SYS1.DGTMLIB,DISP=SHR <---#04/* ISMF MESSAGES */
//*------------------------------------------------------------------*/
//* IN ISPSLIB, INCLUDE THE ISPF, PDF AND ISMF SKELETONS */
//*------------------------------------------------------------------*/
//ISPSLIB DD DSN=ISP.SISPSENU,DISP=SHR, <---#03/*ISPF SKELETONS */
// BLKSIZE=0
// DD DSN=SYS1.DGTSLIB,DISP=SHR /* ISMF SKELETONS */
//*------------------------------------------------------------------*/
//* IN ISPTLIB, INCLUDE THE ISPF, PDF, ISMF AND NAVIQUEST TABLES */
//*------------------------------------------------------------------*/
//ISPTLIB DD DSN=&&TEMP,DISP=NEW,UNIT=SYSDA,BLKSIZE=0,
// SPACE=(TRK,(1,1,1)),DCB=(ISP.SISPTENU)
// DD DSN=&TABL2,DISP=SHR
// DD DSN=ISP.SISPTENU,DISP=SHR <---#03/* ISPF TABLES */
// DD DSN=SYS1.DGTTLIB,DISP=SHR /* ISMF TABLES */
//*------------------------------------------------------------------*/
//* IN SYSPROC, INCLUDE THE ISPF, PDF, ISMF AND NAVIQUEST CLISTS */
//*------------------------------------------------------------------*/
//SYSPROC DD DSN=&CLIST1,DISP=SHR,BLKSIZE=0
// DD DSN=ISP.SISPCLIB,DISP=SHR <---#03/* ISPF CLISTS */
//* DD DSN=SYS1.DGTCLIB,DISP=SHR <---#04/* ISMF CLISTS */
//*------------------------------------------------------------------*/
//ISPTABL DD DSN=&TABL2,DISP=SHR,BLKSIZE=0
//SYSPRINT DD SYSOUT=(,)
//SYSUDUMP DD SYSOUT=*
//SYSTSPRT DD SYSOUT=(,),OUTLIM=20000
//ISPLOG DD SYSOUT=(,),DCB=(LRECL=125,BLKSIZE=129,RECFM=VA)
//ISPPROF DD DSN=&&PROF,DISP=(NEW,DELETE,DELETE),
// DCB=(ISP.SISPTENU),SPACE=(TRK,(1,1,1)),UNIT=SYSDA <---#03
// PEND

Figure 11. Annotated copy of procedure ACBJBAOB (part 2 of 2)

26 Maintaining Your SMS Environment


2.4.1 Annotation explanation
In general, the comments in the ACBJBAOB procedure can be deleted to simplify
the procedure by making it shorter. The numeric annotations have the following
meaning:

<---#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.

Tools for managing SMS 27


For example, MLIB1 defaults to SYS1.DGTMLIB in the procedure:
//ISPMLIB DD DSN=&MLIB1,DISP=SHR,BLKSIZE=0
// DD DSN=ISP.SISPMENU,DISP=SHR <---#03/* ISPF MESSAGES
// DD DSN=SYS1.DGTMLIB,DISP=SHR <---#04/* ISMF MESSAGES

Change the last line to:


// DD DSN=SYS1.DGTMLIB,DISP=SHR <---#04/* ISMF MESSAGES

by removing the *.

<---#S1 These lines relate to an optional change that is required to implement


RACF protection.

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

Member name Job function

DOCJBAOB Annotated copy of JCL procedure


ACBJBAOB to show how it may be tailored
to suit installation and user.

ACBJBAOB JCL procedure used by most sample jobs.


Tailored to suit installation and user.

2.4.2 Modification of SYS1.SACBCNTL


The ISMF panels refer to the data set SYS1.SACBCNTL when retrieving the
sample jobs, and there is no option to specify any other name. This means that
you may need to consider changes to this system data set to avoid repetitive
changes of the same kind.

In most cases, the sample jobs in SYS1.SACBCNTL should not be modified, as


the modified and tailored jobs that you create should be saved in
userid.SACBCNTL.TAILOR and reused from there.

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.

2.5 NaviQuest testing facilities


You could change ACS routines and the associated data class, management
class, storage class, and storage group records, then activate the new
environment, and run a few data sets through allocation to check that it all works.
It is likely that it will work for the limited focus of the change you were dealing
with. However, there could be unexpected additional consequences. NaviQuest
provides a facility to test the routines and record definitions against the
information about a data set that would be used in the ACS processes.

28 Maintaining Your SMS Environment


2.5.1 Data collection for test cases
NaviQuest provides the following methods for you to use to generate test cases:
• Saved ISMF data set lists
• DCOLLECT records of type D
• Records provided by the VMA in the report extract data set

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.

2.5.2 Data set names in test cases


The data set name is reported at allocation time in the ACS routines in different
forms. For example, allocating a VSAM data set will show ACS routines only the
cluster name and allocating a new member of a GDG will show the ACS routines
only the name of the GDG base.

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.5.3 Effects of DCOLLECT or VMA


Table 7 shows that using DCOLLECT or VMA data will generate exactly what is
seen in ACS routines at allocation time. On the other hand, using saved ISMF
tables is the only way to create test cases for migrated data sets.
Table 7. Data set names in test cases generated from different sources

Data set names in Saved ISMF Table DCOLLECT VMA


test cases created

VSAM on Level0 Truenamea Cluster not applicableb

VSAM on ML1/ML2 Cluster not supported not applicable

GDS, not migrated Truename GDG Name GDG Name

GDS on ML1/ML2 Truename not supported not applicable

Others not migrated Truename Truename Truename

Others on ML1/ML2 Truename not supported not applicable


a. Name of the component as reported in VTOC
b. Type of data will not be observed in that environment

Tools for managing SMS 29


The amount of generated information in test cases varies depending on the type
of input used (see Table 13 on page 63). There is more information generated
based on saved ISMF lists than the other sources.

2.6 ISMF saved data set lists


To generate the test cases, you should first have 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.

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.

2.6.1 Benefits of ISMF saved data set lists


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 ISMF saved lists
are the method you should use to generate test cases.

30 Maintaining Your SMS Environment


2.6.2 ACS routine variables generated
Table 8 shows which ACS routine additional variables may be generated in test
cases using ISMF saved data set lists.
Table 8. Conditionally generated fields in test cases

ACS Routine Variable Saved ISMF Table DCOLLECT VMA


in generated test case

&JOB, not migrated on request not supported generated

&APPLIC on request not supported not supported

&DD on request not supported generated

&DEF_DATACLAS on request not supported not supported

&DEF_STORCLAS on request not supported not supported

&DEF_MGMTCLAS on request not supported not supported

&FILENUM on request not supported not supported

&GROUP on request not supported not supported

&LABEL on request not supported not supported

&LIBNAME on request not supported not supported

&MSVGP on request not supported not supported

&RETPD on request not supported not supported

&SYSNAME on request not supported not supported

&SYSPLEX on request not supported not supported

&USER on request not supported not supported

&XMODE on request not supported not supported

&PGM on request not supported generated

&ACCT_JOB1 on request not supported not supported

&ACCT_JOB2 on request not supported not supported

&ACCT_JOB3 on request not supported not supported

&ACCT_STEP1 on request not supported not supported

&ACCT_STEP2 on request not supported not supported

&ACCT_STEP3 on request not supported not supported

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.

Tools for managing SMS 31


2.7.1 Creating ISMF data set lists
In order to use the saved ISMF list option, you must first save a list.

Refer to the ISMF Primary Option Menu shown in Figure 12.

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.

32 Maintaining Your SMS Environment


Figure 13. Data Set Selection Entry Panel

The selections filled in on this panel are used to:


• Generate a NEW list (Select Source of Generated List, Option 2).
• Select all data sets using the ’**’ option.
• Generate the information from the VTOC. Select all volumes starting with the
characters MHL.

You can further refine the selection process by filling in subsequent panels.

2.7.2 The Data Set List Panel


Pressing Enter takes you to the Data Set List Panel, which shows the list of data
sets and attributes (see Figure 14).

Tools for managing SMS 33


Figure 14. Data Set List Panel

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.

2.7.3 Starting online test case generation


When using the ISMF panel to start a test case generation in foreground (see
Figure 15), 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.

34 Maintaining Your SMS Environment


Figure 15. Online test case generation from saved ISMF list

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.

A similar process in batch is provided by NaviQuest. An example for the output in


SYSPRINT and ISPLOG files is contained in Figure 16. It works well, especially
in case of bulk processing. As you can see in our example, there is no indication
of the generation of additional variables. We have no exact conformity between
online and batch processing.

Refer to Figure 16 for an example of the output of test case generation from an
ISMF saved table using NaviQuest.

Tools for managing SMS 35


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(%ACBQBAG3 TABLENM(A1ALIST) INTEST(NO) PRFX(A1A) TESTPDS('MHLRES6.TESTCASE.LIBRARY')
REPLACE(Y)) BATSCRW(132) BATSCRD(
27) BREDIMAX(3) BDISPMAX(99999999)
ROWS FOUND WERE 00000003
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY', MEMBER=A1A1 (TABLE ROW 1)
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY', MEMBER=A1A2 (TABLE ROW 2)
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY', MEMBER=A1A3 (TABLE ROW 3)
3 MEMBERS WRITTEN TO DATASET 'MHLRES6.TESTCASE.LIBRARY'
MHLRES6.MHLRES6H.JOB07397.D0000105.? was preallocated (no free was done).
READY
END

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.

2.7.4 Test case generation


Select Option 11 on the ISMF Primary Option Menu, which takes you to the
Enhanced ACS Management — NaviQuest Primary Option Menu.

Select Option 1 on the NaviQuest Primary Option Menu; this takes you to the Test
Case Generation Selection Menu (see Figure 17).

36 Maintaining Your SMS Environment


Figure 17. NaviQuest Test Case Generation Selection Menu

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).

Tools for managing SMS 37


Figure 18. Example of the test case generation specification panel

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.

38 Maintaining Your SMS Environment


The Replace Existing Prefix option is set to N, which will leave any existing
members intact, and add test cases to the data set. If this is a rerun to modify
previous data rather than to add new members, this option should be set to Y, or
else you will generate test cases for data sets that already exist.

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).

Tools for managing SMS 39


Figure 20. Example of generated test case

In our example, no specific additional information was requested to go in the test


case, so the standard information is recorded.

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.

From the NaviQuest Primary Option Menu, select Option 7, Batch


Testing/Configuration Management. The batch NaviQuest processes are grouped
in the Batch Testing/Configuration Management option. This takes you to the
Batch Testing/Configuration Management Selection Menu.

Refer to Figure 21.

40 Maintaining Your SMS Environment


Figure 21. Sample Batch Testing/Configuration Management Selection Menu

Select Option 1, which takes you to the Saved ISMF List Operations Batch
Samples Selection Menu (see Figure 22).

Tools for managing SMS 41


Figure 22. Selection panel to create a saved data set list

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.

42 Maintaining Your SMS Environment


Figure 23. Sample Save JCL Entry Panel

Note that the job is saved in data set MHLRES7.SACBCNTL.TAILOR member


ISMFDSLC. This is the data set we have prepared for tailored data sets. We do
not want to overwrite the member if it exists.

Document this job (see Table 9).


Table 9. userid.SACBCNTL.TAILOR member name documentation with ISMFDSLC

Member name Job function

DCOLACS Use DCOLLECT to extract ACTIVE SMS data

ACSREP Report on data collected by DCOLACS

ISMFDSLC Use to create a saved data set name list

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.

Tools for managing SMS 43


Figure 24. Specify the saved job to be accessed (alfin74)

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.

***************************** Top of Data *****************************


//MHLRES7A JOB (ACCT),'MHLRES7',MSGCLASS=H,
//NOTIFY=MHLRES7,CLASS=A,MSGLEVEL=(1,1),TIME=(0,10)
//MYLIB JCLLIB ORDER=MHLRES7.SACBCNTL.TAILOR
//********************************************************************/
//*$MAC(ACBJBAI2) COMP(5695DF123): BATCH - GENERATES DATA SET 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*/

44 Maintaining Your SMS Environment


//*$L0=NAVIQUEST,HACS120,96/06/18,SNJTCS: RELEASE 2 CHANGES @L0A*/
//*$L1=KN20035,HACS120,96/07/12,SNJTCS: PARAMETERS CORRECTED @L1A*/
//*10/04/96 CCY - HDZ11C0: Ship as SPE @WA22861*
//*09/03/97 TCS - HDZ11D0 : Generation of dataset list, user @WA28670*
//* is not able to direct the search to a specific VOLSER. @WA28670*
//* $T2=k150142,HDZ11E0,111997,SNJTCS: Adding TABL2 parameter @T2A*
//* *
//********************************************************************
//********************************************************************
//* *
//* SAMPLE JCL TO CREATE ISMF DATA SET LIST IN BATCH AND SAVE IT *
//* *
//* INSTRUCTIONS BEFORE SUBMITTING: *
//* *
//* CHANGE JOBCARD *
//* CHANGE PREFIX *
//* CHANGE PARAMETERS *
//* *
//* PARAMETERS: *
//* *
//* 46A/C @WA28670*
//* PARAMETER FOLLOWING SAVE - NAME OF THE SAVED LIST (OUTPUT) *
//* ALLOCSP - 0 to 9999999 (in Kilo Bytes) *
//* BLKSIZE - 0 to 99999 (in Bytes) *
//* BLKUNUSED - 0 to 9999999 (in Kilo Bytes) *
//* CATNAME - ICF CATALOG name *
//* CATVOL - VOLUME used in catalog list *
//* CHGIND - YES/NO *
//* COMPFMT - YES/NO *
//* CREATEDT - YYYY/MM/DD (1900/01/01 to 2155/12/31) *
//* YY/MM/DD ( (19)00/01/01 to (19)99/12/31 ) *
//* DATACLS - DATA CLASS name *
//* DEVTYPE - 3380/3390/9345 for DASD types *
//* - 3480/3480X/3490/3590-1 for TAPE types *
//* DSN - DATA SET NAME *
//* ('**' requires catalog name) *
//* DSORG - DA/DAU/IS/ISU/PO/POU/PS/PSU/UN/VS *
//* ENTRYTYP - AIX/ALIAS/CATALOG/DATA/INDEX/NONVSAM/PATH/ *
//* DEFERRED/GDG/GDS/ROLLOFF *
//* EXPIREDT - YYYY/MM/DD (1900/01/01 to 2155/12/31) or *
//* - YY/MM/DD ( (19)00/01/01 TO (19)99/12/31 ) or *
//* - NEVER or 1999/00/00 *
//* HSMDATA - Y / N (Catalog List) *
//* LASTBKUP - YYYY/MM/DD (1900/01/01 to 2155/12/31) *
//* YY/MM/DD ( (19)00/01/01 to (19)99/12/31 ) *
//* LASTREF - YYYY/MM/DD (1900/01/01 to 2155/12/31) *
//* YY/MM/DD ( (19)00/01/01 to (19)99/12/31 ) *
//* LRECL - 0 to 99999 (in Bytes) *
//* MGMTCLS - MANAGEMENT CLASS name *
//* MULTVOL - YES/NO *
//* NOTUSED% - 0 to 100 *
//* NUMEXT - 0 to 999 *
//* NUMSTRIPE - 1 to 16 *
//* OPTIMAL - 0 to 99999 (in Bytes) *
//* OWNER - OWNER of the datasets *
//* QSAVE - QUERY Name to be saved *
//* QUERY - QUERY Name to be used *
//* REBLOCK - YES/NO *

Tools for managing SMS 45


//* RECFMT - A/B/D/F/M/FS/VS/T/U/V *
//* SECALLOC - 0 to 99999999 (in Kilo Bytes) *
//* SOURCEGL - 1 / 2 (2-new list) *
//* SOURCENL - 1 / 2 (1-VTOC 2-catalog) *
//* STORCLS - STORAGE CLASS name *
//* USEDSPC - 0 to 9999999 (in Kilo Bytes) *
//* USERDATAREDUCT% - 0 to 99 *
//* VTOCDATA - Y / N (Catalog List) *
//* VTOCVSER - VTOC VOLUME SERIAL NUMBERS (VTOC list) *
//* *
//********************************************************************
//SAVELIST EXEC ACBJBAOB,PLIB1=SYS1.DGTPLIB TABL2=userid.TEST.ISPTABL
//SYSTSIN DD *
PROFILE PREFIX(MHLRES7)
ISPSTART CMD(ACBQBAI2 SAVE ISMFDSLC +
DSN('**') +
SOURCEGL(2) +
SOURCENL(1) +
VTOCVSER(MHL*)) +
NEWAPPL(DGT) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
/*
//********************************************************************

We made the following changes to the generated job:


• The user ID has been changed to MHLRES7.
• The JCLLIB has been updated to point to data set
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.

When all updates are complete, submit the job.

View the output. Refer to Figure 25 and Figure 26.

46 Maintaining Your SMS Environment


Figure 25. Sample output from batch ISMF data set saved list (part 1 of 2) (alfim81)

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.

Refer to Figure 26 for the continuation of the job output.

Figure 26. Sample output from batch ISMF data set saved list (part 2 of 2)

Tools for managing SMS 47


This part of the output contains the information generated by ISPF with the ISMF
panels as the request was processed. When viewing this with SDSF, it is
necessary to shift the screen view to the right to see the full message.

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)

Also, four messages were issued:


***** ISMF ERROR ***** - APPLICATION(DGT1 - DATA SET); FUNCTION(
- RETURN CODE(0008); REASON CODE(1015)

The message with RETURN CODE(0012) is in error, it should be RETURN CODE(0008).


Your system may have maintenance that corrects the problem, and you will
receive a RETURN CODE(0008).

Refer to 4.6.5, “OW39762 — NaviQuest generate volume list — empty list” on


page 208 for information about the fix.

Generally, if the return code is 0008 or lower, the message is informational, and
you probably do not need to be concerned.

2.8.0.1 Save the job output


To save the job output, refer to 2.9.4, “Save the job output” on page 75.

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.

Refer to Figure 27.

48 Maintaining Your SMS Environment


Figure 27. Example of selection of job to report on saved ISMF 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.

Refer to Figure 28.

Tools for managing SMS 49


Figure 28. Example of panel filled in to save the job to list saved data set list

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

Member name Job function

DCOLACS Use DCOLLECT to extract ACTIVE SMS data

ACSREP Report on data collected by DCOLACS

ISMFDSLC To create a saved data set name list

ISMFDSLL To list saved data set list

Refer to Figure 29 to access the saved job.

50 Maintaining Your SMS Environment


Figure 29. Example of selection of the ISMFDSLL job

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*

Tools for managing SMS 51


//* *
//********************************************************************
//********************************************************************
//* *
//* SAMPLE JCL TO GENERATE DATA SET REPORT FROM A PREVIOUSLY SAVED *
//* ISMF DATA SET LIST *
//* *
//* INSTRUCTIONS BEFORE SUBMITTING: *
//* *
//* CHANGE JOBCARD *
//* CHANGE PREFIX *
//* CHANGE PARAMETERS *
//* *
//********************************************************************
//********************************************************************
//* *
//* DELETE STEP TO DELETE THE REPORT DATA SET IF IT EXISTS ALREADY *
//* *
//********************************************************************
//DELREP EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE MHLRES7.ISMFDSLC.REP
/*
//********************************************************************
//* *
//* STEP TO ALLOCATE ISPFILE, WHERE THE GENERATED REPORT IS SAVED *
//* NOTE: THE DATA SET BEING ALLOCATED SHOULD NOT BE A TEMPORARY *
//* DATA SET. *
//* *
//********************************************************************
//ALCISPFL EXEC PGM=IEFBR14
//ISPFILE DD DSN=MHLRES7.ISMFDSLC.REP,DISP=(NEW,CATLG),
// BLKSIZE=0,SPACE=(TRK,(3,1)),RECFM=FBA,LRECL=133,UNIT=SYSDA
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
/*
//********************************************************************
//* *
//* DATA SET REPORT GENERATION STEP *
//* *
//* PARAMETER FOLLOWING ACBQBAR1 - SAVED ISMF LIST (INPUT) *
//* ISPFILE - DATA SET REPORT (OUTPUT, FROM ALCISPFL STEP) *
//* SYSIN - KEY WORDS SPECIFYING DATA IN THE REPORT *
//* *
//********************************************************************
//GENREP EXEC ACBJBAOB,PLIB1=SYS1.DGTPLIB TABL2=userid.TEST.ISPTABL
//ISPFILE DD DSN=MHLRES7.ISMFDSLC.REP,DISP=OLD
//SYSTSIN DD *
PROFILE PREFIX(MHLREP7)
ISPSTART CMD(ACBQBAR1 ISMFDSLC) +
BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
/*
//SYSIN DD *
TITLE=LIST OF DATASETS FOR HIGHLEVEL QUALIFIER MHLREP7
DSN
VOLSER
LASTREF

52 Maintaining Your SMS Environment


EXTNUM
TOTALS
/*
//********************************************************************
//* *
//* COPY THE DATA SET REPORT *
//* *
//* SYSUT1 - INPUT (FROM PREVIOUS STEP) *
//* SYSUT2 - OUTPUT *
//* *
//********************************************************************
//STEP2 EXEC PGM=IEBGENER
//SYSUT1 DD DSN=MHLRES7.ISMFDSLC.REP,DISP=SHR
//SYSUT2 DD SYSOUT=*
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*
//*

We made the following changes to the JCL:


• The JOB CARD and //MYLIB JCLLIB statement were changed to reflect the
userid used to submit the job, MHLRES7.
• The name of the data set that is to hold the report was changed on the
DELREP and ALCISPFL EXEC statements.
• The reference to TABL2 was made into a comment part of the line by deleting
the comma before it.
• 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.
• The name of the report data set was changed. The PREFIX was changed, and
the HLQ for the report title to reflect the user ID MHLRES7.
• The name of the saved list was changed: the second operand of the CMD
field.
• The parameters following the //SYSIN DD statement define the content of the
report. For the purposes of checking that a representative list has been
generated, the default list is sufficient. When the report has run, the output
contains a legend that lists various other items that could be selected to be
included in the report.
• The name of the report data set was changed to reflect the user ID MHLRES7
on the SYSUT1 DD card.

Submit the job and review the report.

Optionally, save the job output as member ISMFDSLL of


userid.SACBCNTL.JOBOUT. The report is placed in data set
MHLRES7.ISMFDSLC.REP so you do not need to retain the job output.

Tools for managing SMS 53


2.8.2 Batch initiated create saved ISMF data set list then report
The jobs generated in 2.8, “ISMF saved data set list batch test case generation”
on page 40 and 2.8.1, “Batch initiated ISMF saved data set name list report” on
page 48 can be combined into one job. On the SAVED ISMF LIST OPERATIONS
BATCH SAMPLES SELECTION MENU choose the Create Data Set List and
Generate Data Set Report option.

Refer to Figure 30.

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.

54 Maintaining Your SMS Environment


The batch generation of test cases can be done using the batch initiated process
shown in Figure 31.

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.

Tools for managing SMS 55


Figure 32. Panel to save batch ISMF LIST test case job

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

Member name Job function

DCOLACS Use DCOLLECT to extract ACTIVE SMS data

ACSREP Report on data collected by DCOLACS

ISMFDSLC To create a saved data set name list

ISMFDSLL To list data sets in saved list

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.

56 Maintaining Your SMS Environment


Figure 33. Specify the saved job to be accessed

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*/
//********************************************************************
//* *

Tools for managing SMS 57


//* GENERATE TEST CASES FROM A PREVIOUSLY SAVED ISMF DATA SET LIST *
//* *
//* TABLENM - SAVED ISMF DATA SET LIST (INPUT) *
//* PRFX - MEMBER NAME PREFIX *
//* TESTPDS - TEST CASE PDS (OUTPUT) *
//* REPLACE - REPLACE CONTENTS IF DSN EXISTS *
//* INTEST - DEBUG MODE YES/NO (KEEP IT AS NO) *
//* *
//********************************************************************
//GENTC EXEC ACBJBAOB,PLIB1=SYS1.DGTPLIB TABL2=userid.TEST.ISPTABL
//SYSTSIN DD *
PROFILE PREFIX(MHLRES7)
ISPSTART CMD(%ACBQBAG3 TABLENM(ISMFDSLC) +
INTEST(NO) PRFX(BASB) +
TESTPDS('MHLRES7.SACBCNTL.TESTBED') REPLACE(Y)) +
BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
/*
//********************************************************************

The changes made to the JCL are:


• The JOB CARD and //MYLIB JCLLIB statements have been changed to reflect
userid MHLRES7.
• On the GENTC EXEC statement, the TABL2 operand has been made a
comment by removal of the comma before it.
• The PREFIX has been changed to reflect the user ID MHLRES7.
• The table name has been changed to on the TABLENM parameter to
ISMFDSLC.
• The test case prefix on the PRFX parameter has been changed to BASB.
(The corresponding ISMF online version used BASA.)
• The test bed data set name has been specified in the TESTPDS parameter.

Submit the job and review the output.

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.

58 Maintaining Your SMS Environment


Figure 34. Output — test case generation from saved ISMF list (part 1 of 2)

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.

Refer to Figure 35 for the last part of the job output.

Tools for managing SMS 59


Figure 35. Output — test case generation from saved ISMF list (part 2 of 2)

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.

Figure 36. Example of SDSF selection of job output to save

60 Maintaining Your SMS Environment


Next to the job name, under SDSF, type the command xdc and press Enter. This
will take you to the SDSF Open Print Data Set panel (see Figure 37).

Figure 37. Saving job output in MHLRES7.SACBCNTL.JOBOUT(ISMFDSLG)

Document the saved output in a table similar to the one shown in Table 12.
Table 12. userid.SACBCNTL.JOBOUT member ISMFDSLG documentation

Member name Job function

ACSREP Report on DCOLLECT data from SMS ACTIVE

ISMFDSLG Generated BASB test cases

Tools for managing SMS 61


2.8.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 (refer to 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 the existence or absence of a volume specification (see Table 13 below)
• 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) 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 38. Online test case generation from DCOLLECT data

A sample batch process including output of SYSPRINT and ISPLOG files is


shown in Figure 39). Our jobs created up to 9987 test cases in a single run (which
is not to be considered as a limitation of that process, we just did not provide
more input).

62 Maintaining Your SMS Environment


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'

TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0000


TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0001
PDSE
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0002
PDSE
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0003
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0004
PDSE
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0005
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0006
PDSE
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0007
PDSE
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0008
PDSE
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0009
PDSE

MHLRES6.MHLRES6A.JOB07324.D0000105.? was preallocated (no free was done).


READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/06/29 Page: 1

12:04 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


12:05 TSO - Command - - %ACBQBAG1 'MHLRES6.DCOLLECT.DATA' 10 TEST 'MHLRES6.TESTCASE.LIBRARY' Y
12:05 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 39. Example of test case generation from DCOLLECT data using NaviQuest

Refer to Table 13 for a summary of the information.


Table 13. Contents of automatically generated fields in test cases

ACS Routine Variable Saved ISMF Table DCOLLECT VMA


in generated test case

&DSTYPE PERM or PERM or PERM or


TEMP or TEMP of TEMP or
GDS GDS GDS

&ACSENVIR ALLOC ALLOC ALLOC

&ACSENVIR, migrated RECALL not supported not applicable

&MAXSIZE Sum of primary not supported not applicable


space plus all
possible secondary
extents

&MAXSIZE, migrated not supported not supported not applicable

&DSORG generated generated generated

&SIZE generated generated generated

&EXPDT generated generated generated

&NVOL generated 1 (always) not supported

&VOL, not migrated all volumes first volume first volume

&VOL, migrated MIGRAT not supported not applicable

&UNIT generated not supported generated

Tools for managing SMS 63


ACS Routine Variable Saved ISMF Table DCOLLECT VMA
in generated test case

&JOB, not migrated on request not supported generated

&JOB, migrated DFHSM not supported not applicable

&DATACLAS generated not supported not supported

&STORCLAS generated not supported not supported

&MGMTCLAS generated not supported not supported

&DD on request not supported generated

&PGM on request not supported generated

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.8.4 VMA records


The ISMF and DCOLLECT methods of data capture are the most useful for
analysis of active DASD data sets, and we concentrate on them in this book. We
include VMA information here for completeness.

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.

The main emphasis of the VMA documentation is on how to use it to implement


TMM. The Virtual Tape Server (VTS) operates on a similar concept to TMM,
except that the data is managed externally. As TMM and VTS implementations
require the use of SMS, it is appropriate to review the potential impact on SMS
routines with that in mind.

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.

64 Maintaining Your SMS Environment


2.9 DCOLLECT extract and report
At this point, we are ready to use the NaviQuest functions to demonstrate the use
of DCOLLECT, and in the process collect some information about the SMS
environment for use later.

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.

2.9.1 Extract the DCOLLECT records


The following are the steps to extract the DCOLLECT data from the ACTIVE SMS
configuration:
• Access the ISMF panels. If you have not yet done so, refer to 2.1.2, “ISMF
interface” on page 16.
• Make sure you are in Storage Administrator (SA) mode. If you are not in SA
mode, you will not see Option 11 (among other things) on the ISMF Primary
Option Menu.
• Select Option 11, Enhanced ACS Management.
• Select Option 7, Batch Testing/Configuration Management.
• Select Option 2, DCOLLECT Data Operations Batch Samples.
• Choose Create DCOLLECT Data.

You will now see the first of four panels that contain the generated sample
DCOLLECT job.

//IBMUSERA JOB (ACCT),'IBMUSER',MSGCLASS=H,


// NOTIFY=IBMUSER,CLASS=A,MSGLEVEL=(1,1),TIME=(0,10)
//********************************************************************/
//*$MAC(ACBJBAO7) COMP(5695DF123): BATCH - GENERATES DCOLLECT DATA */
//* */
//* PROPRIETARY V3 STATEMENT */
//* LICENSED MATERIALS - PROPERTY OF IBM */
//* 5695-DF1 */
//* (C) COPYRIGHT 1996 IBM CORP. */
//* END PROPRIETARY V3 STATEMENT */
//* */
//* CHANGE ACTIVITY: */

Tools for managing SMS 65


//* */
//* $K0=NAVIQUEST,HACS110,95/08/04,SNJADR: INITIAL VERSION @K0A*/
//* $K1=KNQ0003,HACS110,95/08/14,SNJADR: COMMENT CORRECTION @K1C*/
//*02/29/96 TCS - HACS110: REMOVED SEQUENCE NUMBERS @WA18945*/
//*$L0=NAVIQUEST,HACS120,96/06/18,SNJTCS: RELEASE 2 CHANGES @L0A*/
//*$L1=KN20035,HACS120,96/07/13,SNJTCS: CHANGED PARAMETERS @L1A*/
//*10/14/96 CCY - HDZ11C0: Ship as SPE @WA22861*/
//* */
//********************************************************************/
//********************************************************************
//* *
//* SAMPLE JCL TO COLLECT DCOLLECT DATA *
//* *
//********************************************************************
//********************************************************************
//* *
//* DELETE STEP - TO DELETE THE OUTPUT DATA SET IF IT EXISTS ALREADY *
//* *
//********************************************************************
//DELDAT EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE IBMUSER.DCOLLECT.DATA
/*
//********************************************************************
//* *
//* DCOLLECT DATA COLLECTION STEP *
//* *
//* MCDS - MIGRATION CONTROL DATA SET *
//* BCDS - BACKUP CONTROL DATA SET *
//* OUTDS - DCOLLECT DATA (OUTPUT) *
//* SYSIN - PARAMETERS *
//* *
//********************************************************************
//GENDAT EXEC PGM=IDCAMS,REGION=4M
//SYSPRINT DD SYSOUT=*
//MCDS DD DSN=DFHSM.MCDS,DISP=SHR
//BCDS DD DSN=DFHSM.BCDS,DISP=SHR
//OUTDS DD DSN=IBMUSER.DCOLLECT.DATA,
// RECFM=VB,LRECL=264,DSORG=PS,UNIT=3380,
// SPACE=(1,(100,100),RLSE),AVGREC=K,
// DISP=(,CATLG)
//SYSIN DD *
DCOLLECT +
OFILE(OUTDS) +
VOLUME(*) +
STORAGEGROUP(*) +
SMSDATA(ACTIVE) +
MIGRATEDATA +
CAPPLANDATA +
BACKUPDATA
/*
//********************************************************************

66 Maintaining Your SMS Environment


2.9.2 DCOLLECT job ACBJBA07
The DCOLLECT job sample, ACBJBA07, is a candidate to be modified to adjust
the LRECL on the DCOLLECT output data set. The version of ACBJBA07
supplied with the base DFSMS/MVS 1.4 and DFSMS/MVS 1.5 systems has
LRECL=264, which is too short for most DCOLLECT functions. All DCOLLECT
jobs potentially use the same process, so a one-time change to set a better
LRECL is worth considering. For information on the change to the job, refer to
4.8.1, “DCOLLECT sample job JCL modification” on page 210.

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.

Figure 40. Panel set up to save a sample job (alfim8)

• 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.

Tools for managing SMS 67


Table 14. userid.SACBCNTL.TAILOR member name documentation with DCOLACS

Member name Job function

DCOLACS Use DCOLLECT to extract ACTIVE SMS data

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

Here are the steps to follow:


• Start the ISPF edit session. What you want to do is set up the JOB CARD, set
the name for the data set that will be used to collect the data, and set the right
DCOLLECT execution JCL and control options.
• Set up the JOB CARD. Note that the JOB CARD has the user IBMUSER
specified. Change this to the userid you intend to use. Use the change all
option, and take note where else the userid was changed. Make any other
JOB CARD changes necessary for your installation. The JOB CARD is shown
in Figure 41 on page 69.
• Set up the collection data set name. Note where IBMUSER was changed
apart from the JOB CARD, which will be on the preparatory delete of the data
set, then in the JCL to create it. We recommend that you change the name
from userid.DCOLLECT.DATA to userid.ACSDCOL.DATA so that it will not
cause confusion with other DCOLLECT jobs. Refer to Figure 41 for where the
data set is deleted, and Figure 42 where it is allocated new.
• Remove or comment out the DFSMShsm data set allocations for the MCDS
and BCDS data sets, as they are not needed, and if they do not refer to the
actual DFSMShsm data sets, the job will not run. Refer to Figure 42.
//MCDS DD DSN=DFHSM.MCDS,DISP=SHR
//BCDS DD DSN=DFHSM.BCDS,DISP=SHR
• Check the LRECL on the OUTDS DD statement. It needs to be at least 2000
for this run. Refer to Figure 42.
• Check the size of the data set being allocated. We suggest you change the
AVGREC=K, if it appears, to AVGREC=M as the simplest change that
increases the allocation to sufficient space for this job. Refer to Figure 42.
• Set the required DCOLLECT command operands. The sample provides all the
DCOLLECT operands. Refer to Figure 42.
DCOLLECT +
OFILE(OUTDS) +
VOLUME(*) +
STORAGEGROUP(*) +
SMSDATA(ACTIVE) +
MIGRATEDATA +
CAPPLANDATA +
BACKUPDATA
You need to reduce this list to only what is required for this job, which is:
DCOLLECT +
OFILE(OUTDS) +
SMSDATA(ACTIVE)

68 Maintaining Your SMS Environment


Remember to remove the + on the last line. Note that the DCOLLECT statement
and operands must not start in column 1.

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)

Refer to Figure 42 for the next part.

Figure 42. DCOLLECT job edited to collect ACTIVE SMS information (part 2 of 2)

Tools for managing SMS 69


Now, do the following:
• Submit the job to run.
• View the output. The first step may end with a non-zero return code if the
MHLRES7.ACSDCOL.DATA data set did not previously exist. This is to be
expected.

Refer to Figure 43 for a portion of the job output that shows the messages from
DCOLLECT.

Figure 43. Typical DCOLLECT messages from SMSDATA(ACTIVE) run

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.

Aggregate groups are structures relating to the ABARS feature of DFSMShsm.


Refer to DFSMShsm Storage Administration Reference, SH21-1075.

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.

70 Maintaining Your SMS Environment


2.9.3 Report on the DCOLLECT records
You now need to generate the SMS report job to report on the collected
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.)

Figure 44. Panel setup to save SMS report job

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.

Record the creation of member ACSREP. An example is shown in Figure 15.


Table 15. userid.SACBCNTL.TAILOR member name documentation with ACSREP

Member name Job function

DCOLACS Use DCOLLECT to extract ACTIVE SMS data

ACSREP Report on data collected by DCOLACS

You now need to switch to an ISPF EDIT session to edit member ACSREP of
userid.SACBCNTL.TAILOR.

Tools for managing SMS 71


Here are the steps to follow:
• Start the ISPF edit session. What you want to do is set up the JOB CARD, set
the name for the data set that will be used to collect the data, and set the right
DCOLLECT execution JCL and control options.
• Set up the JOB CARD. Note that the JOB CARD has the user IBMUSER
specified. Change this to the userid you intend to use. Use the Change All
option, and take note where else the userid was changed. Make any other
JOB CARD changes necessary for your installation.
• Change the reference on the //MYLIB JCLLIB DD from SYS1.SACBCNTL to
your copy of that data set userid.SACBCNTL.SAMPLE, in which you have built
a modified version of JCL procedure ACBJBAOB.
• Set up the collection data set name. Note where IBMUSER was changed
apart from the JOB CARD, which will be on the preparatory delete of the data
set, then in the JCL to create it. We recommended in the DCOLLECT job that
you change the name from userid.DCOLLECT.DATA to
userid.ACSDCOL.DATA, and you must make the same change here to pick up
the right data.
• Locate the REPGEN EXEC statement. The TABL2 parameter refers to a data
set that results are saved in. This must be an existing data set that is a PDS or
PDSE with the same characteristics as SYS1.SDGTLIB. If you have built a
modified version of ACBJBAOB that sets the default for TABL2, you can delete
the TABL2= statement. Otherwise, change the name TABL2 defines to refer to
your data set.
• Set the required DCOLLECT command operands. The sample provides a
listing all the report request parameters, but the job is only set up to request:
RECORD=DC Formats data class configuration records
RECORD=MC Formats management class configuration records
RECORD=SC Formats storage class configuration records
RECORD=SG Formats storage group configuration records
• You should add the following as this is intended to be a job that is run
periodically and you need to report on features if they are added later. Note
that these RECORD statements must start in column 1.
RECORD=AG Formats aggregate group record information records
RECORD=AI Prints accounting information from the ACS
RECORD=BC Formats base configuration record information records
RECORD=CN Prints cache names from the base configuration
RECORD=DR Formats OAM drive record information records
RECORD=LB Formats OAM library record information records
RECORD=VL Formats storage group volume record information records

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.

72 Maintaining Your SMS Environment


Figure 45. Example of edited job to report on DCOLLECT data (part 1 of 4)

In this part (Figure 45) the JOB CARD has been modified, and the name of the
report data set being deleted.

Refer to Figure 46 for the next part.

Figure 46. Example of edited job to report on DCOLLECT data (part 2 of 4)

Tools for managing SMS 73


In this part (Figure 46) the name of the report data set that is being generated
has been changed to MHLRES.SMSCONF.REPORT.

Refer to Figure 47 for the next part.

Figure 47. Example of edited job to report on DCOLLECT data (part 3 of 4)

In this part (Figure 47) the additional RECORD statements have been added.

Refer to Figure 48 for the next part.

Figure 48. Example of edited job to report on DCOLLECT data (part 4 of 4)

74 Maintaining Your SMS Environment


In this part (Figure 48) the name of the report data set has been changed, as
previously, to MHLRES.SMSCONF.REPORT:
• Submit the job to run.
• View the output. The first step may end with a non-zero return code if the
userid.SMFCONF.REPORT data set did not previously exist. This is to be
expected and is not a problem.
• The report contains information on the DCOLLECT records that were found. It
does not produce any messages about items requested but not found.

2.9.4 Save the job output


The job is set up to print a copy of the userid.SMFCONF.REPORT, so you can
save the output, or let the installation SYSOUT archive process take a copy. The
additional information that you retain if you save the whole job output is the
content of any ISPF messages that may have been issued.

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.

To recap the process, refer to Figure 49.

Figure 49. Example of partial list of jobs on the output queue

Tools for managing SMS 75


The job we want to save is MHLRES7 JOB 10855, so the line command xdc has
been placed against that job. When ENTER is pressed, the SDSF Open Print
Data Set panel will appear. Refer to Figure 50.

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

Member name Job function

ACSREP Report on DCOLLECT data from SMS ACTIVE

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

Report data set name Comments about the content

MHLRES7.SMSCONF.REPORT Initial audit record/July 1999

76 Maintaining Your SMS Environment


2.9.5 Composite DCOLLECT data collection and report
The two jobs saved as DCOLACS and ACSREP in userid.SACBCNTL.TAILOR
can be merged into one composite job for future use, by a simple process:
• Edit new member DCOLSMSR in data set userid.SACBCNTL.TAILOR.
• Copy member DCOLACS into it.
• Scroll to the end of the member.
• Copy member ACSREP at the end of the job.
• Delete the JOB CARD off the part of the job that came from ACSREP (the
second JOB CARD in the composite member).
• Move the //MYLIB JCLLIB statement immediately after the JOB CARD (at the
beginning of the member).
• Save the composite job.

Document the composite job member name. Refer to Table 18.


Table 18. userid.SACBCNTL.TAILOR member name documentation with DCOLSMSR

Member name Job function

DCOLACS Use DCOLLECT to extract ACTIVE SMS data

ACSREP Report on data collected by DCOLACS

DCOLSMSR Collect SMS data and report on it

2.10 SMS data information audit


In order to safely change the SMS environment, you must have reliable data to
start with. In this section, you can collect the information, and document it.

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.

There is a good deal of interrelated information, and it is sensible to document it


formally.

We therefore suggest a procedure to follow to obtain all the necessary


information about the current SMS environment that you are working with.

Tools for managing SMS 77


Sample tables are presented to be used to collect the various sets of information
needed. Blank version of the tables are provided in A.5, “Data recording table
samples” on page 269.

2.10.1 SMS system data sets


You need to collect information about the system you are working with. Even if
you have been working with it regularly, you may not be the only person working
on it, so you should refresh your knowledge by finding the information to fill in
Table 19.
Table 19. SMS data collection template

Existing name Name Revised name to Method to gather data


OK or be used
alter?

ACDS name _______________ ___ _______________ Use the MVS command D sms.
Refer to 2.10.1.1, “ACDS, SCDS,
and COMMDS name
determination” on page 78

SCDS name ________________ ___ _______________ as for ACDS

COMMDS name _______________ ___ _______________ as for ACDS

System names _______________ ___ _______________ as for ACDS

2.10.1.1 ACDS, SCDS, and COMMDS name determination


You can find out the name of the ACDS, COMMDS, and last SCDS used by using
the MVS command DISPLAY SMS. Refer to OS/390 MVS System Commands,
GC28-1781 for the full syntax of the DISPLAY SMS command. The simple form,
D SMS, provides the names of the ACDS, SCDS, and COMMDS, and the names
of the systems connected in the same group.

Issue the command from SDSF or the system console. Refer to Figure 51 for
sample output.

78 Maintaining Your SMS Environment


Figure 51. Sample display from system log of D SMS command and response

You can transfer the information to the table resulting in an example like Table 20.

Table 20. SMS data collection filled-in sample

Existing name Name Revised name to Method to collect data


OK or be used
alter?

ACDS name SYS1.SMS.ACDS OK _______________ MVS command D SMS.


Refer to 2.10.1.1, “ACDS, SCDS,
and COMMDS name
determination” on page 78

SCDS name SYS1.SMS.MHLRES.SCDS OK _______________ MVS command D SMS

COMMDS SYS1.SMS.COMMDS OK _______________ MVS command D SMS


name

System names SC63 SC64 SC65 OK _______________ MVS command D SMS

This information is also listed in the userid.SMSCONF.REPORT data set that we


ran as part of the familiarization section 2.9.3, “Report on the DCOLLECT
records” on page 71.

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.

In Table 20, a section is provided to document a change in name of the tables if


such a change is necessary.

Tools for managing SMS 79


2.10.2 Data class ACS routines
You need to determine the current data class ACS routine member and where it is
stored. The system information records the name of the last data class member
activated, but you must make sure that the contents are as they were when the
member was validated and subsequently activated. For the purposes of an initial
audit, and for subsequent maintenance, it is desirable that you create a
permanent record. An example is shown in Table 21.
Table 21. Data class ACS routine member documentation

Check active entry Data class name Source data set name and comment

OMVSDC EVEBYE.JCL.CNTL/null DC assignment

OMVSDC1 EVEBYE.JCL.CNTL/add HFS to OMVSDC

OMVSDC2 EVEBYE.JCL.CNTL/add MHLRES to


OMVSDC1

X OMVSDC3 EVEBYE.JCL.CNTL/modify OMVSDC2 to


move MHLRES test to before &VALHQ test

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.

2.10.3 Data class records


The contents of the data class records can be obtained from ISMF or a batch
initiated job. The ISMF records can be printed after viewing, so it is simplest to
use the ISMF panel, view the records, then save them in a data set for later
review.

2.10.3.1 Data class view and print


On the ISMF Primary Option Menu, select Option 4, Data Class.

Refer to Figure 52.

80 Maintaining Your SMS Environment


Figure 52. Selection of ISMF Data Class panel

Select Option 4, Data Class (refer to Figure 53). This takes you to the Data Class
Application Selection menu.

Figure 53. Data Class Application Selection

Tools for managing SMS 81


Specify on this menu that data is to be collected from the active system by
specifying ACTIVE in the CDS Name field.

Specify that data should be collected for all data classes by entering ’*’ in the
Data Class Name field.

See Figure 54 for the data class list that is generated.

Figure 54. Example of list of DATACLAS names

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).

82 Maintaining Your SMS Environment


Figure 55. Example of Data Class Print Entry Panel

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.

Tools for managing SMS 83


Figure 56. Print job submission panel (part 1 of 2)

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).

84 Maintaining Your SMS Environment


Figure 57. Print job submission panel (part 2 of 2)

You do not need to do anything on this panel unless you wish to alter the
destination of the printed report.

Press Enter to submit the job.

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.

Refer to Table 22.


Table 22. DATACLAS record report documentation

Report data set name Comments about the content

MHLRES7.DATACLAS.REPORT.Y1999.AUG03 Initial audit record

2.10.3.2 Current data class policy definition


The policy that is in effect comes from the interaction of the ACS routines and the
data class, management class, and storage class, and the storage group records.

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.

Tools for managing SMS 85


Table 23. DATACLAS assignment analysis

DATACLAS HFS HFSMULTI DCMHLRES ’’ (null)


ROV

&DATACLAS =HFS =HFSMULTI

&DSNTYPE =HFS

&LLQ =&HFS_DATA_SET

&DSN =&VALHQ

&DSN =MHLRES%.**

2.10.4 Management class ACS routines


You need to determine which the current management class member is, and
where it is stored. The system information records the name of the last
management class member activated, but you must make sure that the contents
are as they were when the member was validated and subsequently activated.
For the purposes of an initial audit, then for subsequent maintenance, it is
desirable that you create a permanent record.

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.

An example of a possible format is shown in Table 24.


Table 24. MGMTCLAS ACS routine member documentation

Check active MGMTCLAS Source data set name and comments


entry name

OMVSMC EVEBYE.JCL.CNTL/NULL MC ASSIGNMENT

OMVSMC1 EVEBYE.JCL.CNTL/ 19FEB99 SJW CREATED


MCDB20, MCDB21, MCDB22 (A.4)

OMVSMC2 EVEBYE.JCL.CNTL/19FEB99 SJW AMENDED


MCDB20 (A.6)

OMVSMC3 EVEBYE.JCL.CNTL/22FEB99SJWCREATEMCDB20
(A.7)

OMVSMC4 EVEBYE.JCL.CNTL/19FEB99 SJW TEST


TABLESPACE NAMES (A.5)

OMVSMC5 EVEBYE.JCL.CNTL/25FEB99 SJW CREATED


MCDBACTL (B.1)

OMVSMC6 EVEBYE.JCL.CNTL/26FEB99 SJW ADDED MCDBLV2


AND MCDBICM (B.2)

OMVSMC7 EVEBYE.JCL.CNTL/26FEB99 SJW ADDED MCDBICD


& MCDBICW (B.3)

86 Maintaining Your SMS Environment


Check active MGMTCLAS Source data set name and comments
entry name

OMVSMC8 EVEBYE.JCL.CNTL/19FEB99 SJW TEST


TABLESPACE NAMES (A.5)

X OMVSMC9 EVEBYE.JCL.CNTL/02JUL99 MHLRES WITH OWN


POOL AND OWN MGMTCLAS

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.

2.10.5 Management class records


The contents of the management class records can be obtained from ISMF or a
batch initiated job. The ISMF records can be printed after viewing, so it is
simplest to use the ISMF panel, view the records, then save them in a data set for
later review.

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.

Tools for managing SMS 87


Figure 58. Management Class Print Entry Panel

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

Report data set name Comments about the content

MHLRES7.MGMTCLAS.REPORT.Y1999.AUG03 Initial audit record

88 Maintaining Your SMS Environment


2.10.6 Storage class ACS routines
You need to determine the current storage class member is, and where it is
stored. The system information records the name of the last storage class
member activated, but you must make sure that the contents are as they were
when the member was validated and subsequently activated. For the purposes of
an initial audit, then for subsequent maintenance, it is desirable that you create a
permanent record.

An example of a possible format is shown in Table 26.


Table 26. STORCLAS ACS routine member documentation

Check active STORCLAS Source data set name and comments


entry name

OMVSSC EVEBYE.JCL.CNTL/STORAGECLASS DEFINITION


FOR OMVS DATA SETS ONLY

OMVSSC1 EVEBYE.JCL.CNTL/16FEB99 SJW ADDED


SCDBTEST (A.4)

OMVSSC2 EVEBYE.JCL.CNTL/19FEB99 SJW ADDED


SCDBFAST AND SCDBMED (A.6)

OMVSSC3 EVEBYE.JCL.CNTL/22FEB99 SJW CREATED


SCDBFAST (A.7)

OMVSSC4 EVEBYE.JCL.CNTL/02MAR99 SJW TEST


TABLESPACE NAMES (A.5)

OMVSSC5 EVEBYE.JCL.CNTL/25FEB99 SJW CREATED


SCDBACTL (B.1)

OMVSSC6 EVEBYE.JCL.CNTL/26FEB99 SJW ADDED


SCDBARCH (B.2)

OMVSSC7 EVEBYE.JCL.CNTL/26FEB99 SJW ADDED SCDBIC &


SCDBICH (B.3)

OMVSSC8 EVEBYE.JCL.CNTL/02MAR99 SJW TEST


TABLESPACE NAMES (A.5)

X OMVSSC9 EVEBYE.JCL.CNTL/02JUL99 MHLRES DATA SETS


SYSTEM MANAGED

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.

2.10.7 SMS defined storage class records


The contents of the storage class records can be obtained from ISMF or a batch
initiated job. The ISMF records can be printed after viewing, so it is simplest to
use the ISMF panel, view the records, then save them in a data set for later
review.

Tools for managing SMS 89


The same process as was used for the data class records may be used to collect
the storage 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 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.

Figure 59. Storage Class Print Entry Panel

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.

90 Maintaining Your SMS Environment


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 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

Report data set name Comments about the content

MHLRES7.STORCLAS.REPORT.Y1999.AUG03 Initial audit record

2.10.8 Storage group routines


You need to determine the current storage group member is, and where it is
stored. The system information records the name of the last storage group
member activated, but you must make sure that the contents are as they were
when the member was validated and subsequently activated. For the purposes of
an initial audit, then for subsequent maintenance, it is desirable that you create a
permanent record.

An example of a possible format is shown in Table 28.


Table 28. SSTORGRP ACS routine member documentation

Check active STORGRP Source data set name and comments


entry name

OMVSSG EVEBYE.JCL.CNTL/BASIC OPENMVS

OMVSSG1 EVEBYE.JCL.CNTL/16FEB99 SJW ADDED


SGDBTEST (A.4)

OMVSSG2 EVEBYE.JCL.CNTL/19FEB99 SJW ADDED


SGDBFAST AND SGDB20 (A.6

OMVSSG3 EVEBYE.JCL.CNTL/22FEB99 SJW CREATED


SGDBA001-4 & SGDBB001-4 (A.7)

OMVSSG4 EVEBYE.JCL.CNTL/19FEB99 SJW TESTING FOR


TABLESPACE NAMES (A.5)

OMVSSG5 EVEBYE.JCL.CNTL/25FEB99 SJW CREATED


SGDB2PLG (B.1)

OMVSSG6 EVEBYE.JCL.CNTL/26FEB99 SJW ADDED


SGDBARCH (B.2)

OMVSSG7 EVEBYE.JCL.CNTL/26FEB99 SJW ADDED


SGDBARCH (B.3)

OMVSSG8 EVEBYE.JCL.CNTL/19FEB99 SJW TESTING FOR


TABLESPACE NAMES (A.5)

X OMVSSG9 EVEBYE.JCL.CNTL/02JUL99 NEW STORGRP


SGMHLRES FOR MHLRES DATA SETS

Tools for managing SMS 91


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.

2.10.9 SMS defined storage group records


The contents of the storage group records can be obtained from ISMF or a batch
initiated job. The ISMF records can be printed after viewing, so it is simplest to
use the ISMF panel, view the records, then save them in a data set for later
review.

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.

92 Maintaining Your SMS Environment


Figure 60. Storage Group Print Entry Panel

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

Report data set name Comments about the content

MHLRES7.STORGRP.REPORT.Y1999.AUG03 Initial audit record

2.10.10 SMS defined volumes


The contents of the volume records can be obtained from ISMF or a batch
initiated job. ISMF records can be printed after viewing, so it is simplest to use the
ISMF panel, view the records, then save them in a data set for later review.

Tools for managing SMS 93


The same process as was 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
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.

Figure 61. Volume Selection Entry Panel

The options we have specified will:


• Create a new volume list
• From physical volumes
• Select all volumes that are online
• Acquire the physical data
• Acquire the space data
• List all the storage groups

94 Maintaining Your SMS Environment


Generation of the list may take a considerable time because the selection of all
online volumes requires checking across the whole system. Because the physical
and space data is also requested, there may be delays on some of the volumes
as other system functions complete on them. The selection for a given run can be
reduced by selecting a subset of the volumes.

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.

Figure 62. Volume List — first of set of panels

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.

Tools for managing SMS 95


Figure 63. Volume Print Entry Panel

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

Report data set name Comments about the content

MHLRES7.VOLUME.REPORT.Y1999.AUG04 Initial audit record

96 Maintaining Your SMS Environment


2.11 SMS and ACS testing
At this point, we have the information to allow us to prepare changes based on
the current environment, and test them.

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.

Before implementing any changes, they should be properly tested.

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.

2.11.1 Test Case Generation


We will show you how NaviQuest may help you to do your job in storage
administration easily and securely.

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.

Tools for managing SMS 97


The two methods of generating test cases that we discuss in this book are saved
ISMF lists and DCOLLECT data.

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.

2.11.2 ISMF saved data set lists


To generate the test cases, you need 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.

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.

98 Maintaining Your SMS Environment


• Table 31 shows which ACS routine additional variables may be generated.
Table 31. Conditionally generated fields in test cases

ACS routine variable Saved ISMF Table DCOLLECT VMA


in generated test case

&JOB, not migrated on request not supported generated

&APPLIC on request not supported not supported

&DD on request not supported generated

&DEF_DATACLAS on request not supported not supported

&DEF_STORCLAS on request not supported not supported

&DEF_MGMTCLAS on request not supported not supported

&FILENUM on request not supported not supported

&GROUP on request not supported not supported

&LABEL on request not supported not supported

&LIBNAME on request not supported not supported

&MSVGP on request not supported not supported

&RETPD on request not supported not supported

&SYSNAME on request not supported not supported

&SYSPLEX on request not supported not supported

&USER on request not supported not supported

&XMODE on request not supported not supported

&PGM on request not supported generated

&ACCT_JOB1 on request not supported not supported

&ACCT_JOB2 on request not supported not supported

&ACCT_JOB3 on request not supported not supported

&ACCT_STEP1 on request not supported not supported

&ACCT_STEP2 on request not supported not supported

&ACCT_STEP3 on request not supported not supported

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

Tools for managing SMS 99


Figure 64. Online test case generation from saved ISMF list

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.

A similar process in batch is provided by NaviQuest. An example for the output in


SYSPRINT and ISPLOG files is contained in Figure 16 on page 36. It works well
especially in case of bulk processing. As you can see in our example there is no
indication of the generation of additional variables. We have no exact conformity
between online and batch processing.

Refer to Figure 65 for an example of part of the output from a job.

100 Maintaining Your SMS Environment


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(%ACBQBAG3 TABLENM(A1ALIST) INTEST(NO) PRFX(A1A) TESTPDS('MHLRES6.TESTCASE.LIBRARY')
REPLACE(Y)) BATSCRW(132) BATSCRD(
27) BREDIMAX(3) BDISPMAX(99999999)
ROWS FOUND WERE 00000003
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY', MEMBER=A1A1 (TABLE ROW 1)
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY', MEMBER=A1A2 (TABLE ROW 2)
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY', MEMBER=A1A3 (TABLE ROW 3)
3 MEMBERS WRITTEN TO DATASET 'MHLRES6.TESTCASE.LIBRARY'
MHLRES6.MHLRES6H.JOB07397.D0000105.? was preallocated (no free was done).
READY
END

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.

Tools for managing SMS 101


Figure 66. Online test case generation from DCOLLECT data

A sample batch process including output of SYSPRINT and ISPLOG files is


shown in Figure 39 on page 63. Our jobs created up to 9987 test cases in a single
run (which is not to be considered as a limitation of that process, we just did not
provide more input).

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'

TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0000


TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0001
PDSE
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0002
PDSE
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0003
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0004
PDSE
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0005
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0006
PDSE
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0007
PDSE
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0008
PDSE
TEST CASE CREATED DSN=MHLRES6.'MHLRES6.TESTCASE.LIBRARY, MEMBER=TEST0009
PDSE

MHLRES6.MHLRES6A.JOB07324.D0000105.? was preallocated (no free was done).


READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/06/29 Page: 1

12:04 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


12:05 TSO - Command - - %ACBQBAG1 'MHLRES6.DCOLLECT.DATA' 10 TEST 'MHLRES6.TESTCASE.LIBRARY' Y
12:05 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 67. Test case generation from DCOLLECT data using NaviQuest

102 Maintaining Your SMS Environment


Refer to Table 32 for a summary of the information.
Table 32. Contents of automatically generated fields in test cases

ACS routine variable Saved ISMF Table DCOLLECT VMA


in generated test case

&DSTYPE PERM or PERM or PERM or


TEMP or TEMP of TEMP or
GDS GDS GDS

&ACSENVIR ALLOC ALLOC ALLOC

&ACSENVIR, migrated RECALL not supported not applicable

&MAXSIZE Sum of primary not supported not applicable


space plus all
possible secondary
extents

&MAXSIZE, migrated not supported not supported not applicable

&DSORG generated generated generated

&SIZE generated generated generated

&EXPDT generated generated generated

&NVOL generated 1 (always) not supported

&VOL, not migrated all volumes first volume first volume

&VOL, migrated MIGRAT not supported not applicable

&UNIT generated not supported generated

&JOB, not migrated on request not supported generated

&JOB, migrated DFHSM not supported not applicable

&DATACLAS generated not supported not supported

&STORCLAS generated not supported not supported

&MGMTCLAS generated not supported not supported

&DD on request not supported generated

&PGM on request not supported generated

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.

Tools for managing SMS 103


2.11.5 ISMF online initiated DCOLLECT data set list creation
In order to use the DCOLLECT data to generate test cases, you must first create
a list. You specify what you want, and ISMF builds a job for you to run. This
process does not run online.

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.

104 Maintaining Your SMS Environment


Figure 69. DCOLLECT data collection specification panel (part 1 of 2) (alfim100)

The following information is specified on the Data Collection Entry Panel:


• Data set and volume information.
• Do not collect SMS data (refer to 4.5, “On-line DCOLLECT test case
generation process” on page 207, for information on a problem that may occur
if the SMS data is in the DCOLLECT data set).
• Store it in data set userid.DCOLDSL.DATA, but do not overwrite it.
• Allow for up to 999999 data sets. The field allows for more data sets, but the
generated job cannot run because of a JCL error if a number over 999999 is
used.
• The ACTIVE CDS is to be used.

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.

Tools for managing SMS 105


Figure 70. DCOLLECT data collection specification panel (part 2 of 2)

On this panel, the volume data is to be collected from VOLSERs beginning with
MHL.

There is a third Data Collection Entry Panel on which volumes to be excluded


may be specified. We have not used it, and by default no volumes are excluded.
You may use it when the volumes to be selected is specified as * (all) and some
volumes should be excluded.

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).

106 Maintaining Your SMS Environment


Figure 71. DCOLLECT job with JOB CARD set up (part 1 of 2)

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).

Tools for managing SMS 107


Figure 72. DCOLLECT job with EXEC statements set up (part 2 of 2)

Press Enter to submit the job and review the output. Figure 73 shows output from
the job.

Figure 73. DCOLLECT message output

108 Maintaining Your SMS Environment


The job output shows that 173 D records were found, together with their
associated A and V records.

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.

The DCOLLECT data is stored in MHLRES7.DCOLDSL.DATA, which we will use


to generate test cases, as documented in section 2.11.6, “ISMF online test case
generation from DCOLLECT data set list” on page 109.

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).

Figure 74. Selection of DCOLLECT Data, Option 2

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.

Refer to Figure 75.

Tools for managing SMS 109


Figure 75. 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.

110 Maintaining Your SMS Environment


Figure 76. Generated test cases from DCOLLECT online operation

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.

Tools for managing SMS 111


Figure 77. Test case generated online from DCOLLECT data

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.

2.11.8 Batch initiated DCOLLECT data set name list


The batch NaviQuest processes are grouped in the Batch Testing/Configuration
Management option of the Enhanced ACS Management — NaviQuest Primary
Option 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.

Refer to Figure 78.

112 Maintaining Your SMS Environment


Figure 78. Selection of DCOLLECT Data operations

Select Option 2 to access the DCOLLECT batch jobs. Refer to Figure 79.

Figure 79. Select the Create DCOLLECT Data option

Tools for managing SMS 113


On the DCOLLECT Data Operations Batch Samples Selection Menu, select the
Create DCOLLECT Data option.

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

The SAVE JCL ENTRY PANEL is set to:


• Save the JCL.
• Save the JCL in data set userid.SACBCNTL.TAILOR(DCOLDSLC).
• Do not overwrite a job of the same name if it already exists.

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

Member name Job function

DCOLACS Use DCOLLECT to extract ACTIVE SMS data

ACSREP Report on data collected by DCOLACS

ISMFDSLC to create a saved data set name list

ISMFDSLL to list data sets in saved list

ISMFDSLG to generate test cases from saved data set name list

DCOLDSLC create list of data sets

114 Maintaining Your SMS Environment


After pressing Enter, the DCOLLECT Data Operations Batch Samples Selection
Menu Panel will appear.

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:

//MHLRES7A JOB (ACCT),'MHLRES7',MSGCLASS=H,


// NOTIFY=MHLRES7,CLASS=A,MSGLEVEL=(1,1),TIME=(0,10)
//********************************************************************/
//*$MAC(ACBJBAO7) COMP(5695DF123): BATCH - GENERATES DCOLLECT DATA */
//* */
//* PROPRIETARY V3 STATEMENT */
//* LICENSED MATERIALS - PROPERTY OF IBM */
//* 5695-DF1 */
//* (C) COPYRIGHT 1996 IBM CORP. */
//* END PROPRIETARY V3 STATEMENT */
//* */
//* CHANGE ACTIVITY: */
//* */
//* $K0=NAVIQUEST,HACS110,95/08/04,SNJADR: INITIAL VERSION @K0A*/
//* $K1=KNQ0003,HACS110,95/08/14,SNJADR: COMMENT CORRECTION @K1C*/
//*02/29/96 TCS - HACS110: REMOVED SEQUENCE NUMBERS @WA18945*/
//*$L0=NAVIQUEST,HACS120,96/06/18,SNJTCS: RELEASE 2 CHANGES @L0A*/
//*$L1=KN20035,HACS120,96/07/13,SNJTCS: CHANGED PARAMETERS @L1A*/

Tools for managing SMS 115


//*10/14/96 CCY - HDZ11C0: Ship as SPE @WA22861*/
//********************************************************************
//* *
//* SAMPLE JCL TO COLLECT DCOLLECT DATA *
//* *
//********************************************************************
//********************************************************************
//* *
//* DELETE STEP - TO DELETE THE OUTPUT DATA SET IF IT EXISTS ALREADY *
//* *
//********************************************************************
//DELDAT EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE MHLRES7.DCOLDSLC.DATA
/*
//********************************************************************
//* *
//* DCOLLECT DATA COLLECTION STEP *
//*
//* MCDS - MIGRATION CONTROL DATA SET
//* BCDS - BACKUP CONTROL DATA SET
//* OUTDS - DCOLLECT DATA (OUTPUT)
//* SYSIN - PARAMETERS
//*
//*******************************************************************
//GENDAT EXEC PGM=IDCAMS,REGION=4M
//SYSPRINT DD SYSOUT=*
//*MCDS DD DSN=DFHSM.MCDS,DISP=SHR
//*BCDS DD DSN=DFHSM.BCDS,DISP=SHR
//OUTDS DD DSN=MHLRES7.DCOLDSLC.DATA,
// RECFM=VB,LRECL=2000,DSORG=PS,UNIT=3380,
// SPACE=(1,(100,100),RLSE),AVGREC=M,
// DISP=(,CATLG)
//SYSIN DD *
DCOLLECT +
OFILE(OUTDS) +
VOLUME(MHL*)
/*
//********************************************************************

The following changes were made to the JCL:


• The JOB CARD was edited to reflect user ID MHLRES7.
• The name of the data set that the data is being collected in has been set to
MHLRES7.DCOLDSLC.DATA.
• The BCDS and MCDS DD statements have been made comments.
• The LRECL on the OUTDS data set has been set to 2000 (refer to 4.8.1,
“DCOLLECT sample job JCL modification” on page 210 for information about
the reason for this).
• The space allocation has been set to use AVGREC=M (refer to 4.8.1,
“DCOLLECT sample job JCL modification” on page 210).
• In the SYSIN portion of the job, the VOLUME parameter was set to select
volumes starting with MHL, and the + continuation was removed.

116 Maintaining Your SMS Environment


• The following statements were deleted:
• STORAGEGROUP(*) +
• SMSDATA(ACTIVE) +
• MIGRATEDATA +
• CAPPLANDATA +
• BACKUPDATA
Submit the job to run and review the output.
Refer to Figure 82. This output confirms that only D records and the
associated A and V records were collected.

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.

Refer to Figure 83.

Tools for managing SMS 117


Figure 83. Selection of Generate Test Cases from DCOLLECT Data

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

118 Maintaining Your SMS Environment


The Save JCL Entry Panel options are set to:
• Save the JCL in data set userid.SACBCNTL.TAILOR(DCOLDSLG)
• Not overwrite a job of the same name if it already exists.

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

Member name Job function

DCOLACS Use DCOLLECT to extract ACTIVE SMS data

ACSREP Report on data collected by DCOLACS

ISMFDSLC To create a saved data set name list

ISMFDSLL To list data sets in saved list

ISMFDSLG To generate test cases from saved data set name list

DCOLDSLC Create list of data sets

DSCOLDSLG Generate test cases

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

Tools for managing SMS 119


Press Enter, and the DCOLDSLG member will be displayed in an ISPF edit
session. In the example we have edited the JCL to meet our 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(ACBJBAG1) COMP(5695DF123):BATCH - TEST CASE GEN - DCOLLECT */
//* */
//* 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*
//* *
//********************************************************************
//********************************************************************
//* *
//* SAMPLE JCL TO GENERATE TEST CASES FROM DCOLLECT DATA *
//* *
//* INSTRUCTIONS BEFORE SUBMITTING: *
//* *
//* CHANGE JOBCARD *
//* CHANGE PREFIX *
//* CHANGE PARAMETERS *
//* *
//* THE PARAMETERS TO ACBQBAG1 ARE AS FOLLOWS: *
//* *
//* PARAMETER 1 IS DATA SET CONTAINING DCOLLECT DATA (INPUT) *
//* PARAMETER 2 IS NUMBER OF TEST CASES TO BE GENERATED *
//* PARAMETER 3 IS MEMBER NAME PREFIX *
//* PARAMETER 4 IS TEST CASE PDS (OUTPUT) *
//* PARAMETER 5 IS REPLACE CONTENTS IF DSN EXISTS *
//* *
//********************************************************************
//GENTEST EXEC ACBJBAOB,PLIB1=SYS1.DGTPLIB TABL2=userid.TEST.ISPTABL
//SYSTSIN DD *
PROFILE PREFIX(MHLRES7)
ISPSTART CMD(%ACBQBAG1 'MHLRES7.DCOLDSLC.DATA' 9999 BASD +
'MHLRES7.SACBCNTL.TESTBED' Y) +
BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
/*
//********************************************************************

120 Maintaining Your SMS Environment


In the JCL for the batch test case generation from DCOLLECT job we made the
following changes:
• The JOB CARD has been set up to meet our installation standards, and the
user ID has been changed to MHLRES7.
• The //MYLIB JCLLIB has been changed to point to the data set that contains
our edited NaviQuest jobs and procedures.
• On the GENTEST step, the reference to TABL2 has been made a comment by
changing the comma to a blank.
• The profile has been changed to reflect user ID MHLRES7.
• On the ISPSTART command:
• The first parameter has been changed to the data set name that contains
the DCOLLECT data set list MHLRES7.DCOLDSLC.DATA.
• The second parameter which specifies the number of test cases to be
generated is set to 9999.
• The third parameter, which specifies the member name prefix, is set to
BASD.
• The fourth parameter is the test bed data set name.

Submit the job and review the output.

Refer to Figure 86, which shows part of this output.

Figure 86. Output, batch test case generate job, DCOLLECT data set list

Tools for managing SMS 121


This part of the output shows the last part of the list of members being generated,
and the ISPF transaction log.

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

Member name Job function

ACSREP Report on DCOLLECT data from SMS ACTIVE

ISMFDSLG Generated BASB test cases

DCOLDSLG Generated BASD test cases

2.12 Interpreting a test case


Testing is assisted by NaviQuest using online ISMF as well as batch procedures.
For a more detailed description, see:
• DFSMSdfp Storage Administration Reference, SC26-4920
• DFSMS FIT: Fast Implementation Techniques, SG24-2568
• DFSMS FIT: Fast Implementation Techniques Installation Examples,
SG24-2569
• DFSMS FIT: Fast Implementation Techniques Process Guide, SG24-4478
• NaviQuest Demonstration and Hands-On Usage Guide, SG24-4720

Test cases must be stored in libraries which may be a PDSE,


DSNTYPE=LIBRARY, or PDS. We prefer to use PDSE format because it is easier
to maintain, since you do not need to worry about the number of directory blocks
or when to compress the data set. We have found no practical limits during our
work with test case libraries when we were using PDSEs.

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.

122 Maintaining Your SMS Environment


Figure 87. Looking at a test case using ISMF ACS Test Case Alter

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).

Tools for managing SMS 123


The remaining fields on this and the following three screens represent ACS
routine variables which will be presented to the ACS routines during the test
execution with the same contents as shown here. If you are using the &DSN
variable (which is true in most cases) you always have to specify the whole data
set name without quotation marks. If you are not sure about the meaning of a
field, use the cursor-sensitive online help under ISMF, or read the comments for
the associated ACS routine variable in DFSMSdfp Storage Administration
Reference, SC26-4920.

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.

Output can be found in the ISPF list data set.

Using ISMF Test Case Alter, you cannot print the test cases unless you capture
each screen physically. See Figure 88.

Figure 88. Contents of a test case after an update by NaviQuest

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.

124 Maintaining Your SMS Environment


Chapter 3. SMS administration tasks
In this chapter we will discuss various storage administration tasks that are
accomplished using the ISMF and NaviQuest panels.

3.1 FILTLIST maintenance


As the storage administrator proceeds with the DFSMS implementation or
maintenance of the SMS environment, data subtypes are added, updated, or
deleted. Often, the difference between adding one data subtype and the next is
nothing more than adding data to a filter list (FILTLIST) or creating a new
FILTLIST. These FILTLISTs must often be updated in multiple routines, which can
be a time-consuming and error-prone process. The NaviQuest COPYFILT facility
is designed to simplify this problem.

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.

COPYFILT recognizes a set of FILTLISTs by delimiting characters at the start and


end of the block in the FILTLIST member, and during operation these delimiters
are used to extract the FILTLIST set.

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.

3.1.1 Preparation for use of COPYFILT


To initially setup the COPYFILT macro, you must perform the following steps:
1. Collect the FILTLIST statements together
• In each ACS routine, collect all the FILTLISTs into one area.
• FILTLISTs may have been scattered though the routine.

© Copyright IBM Corp. 2000 125


2. Prime each ACS member:
• Before the first FILTLIST statement starting in column 1, put the string:
/*_*_*_*_*_*_*_*_*_*_*_*_*_*_*/
The starting delimiter length does not matter as long as *_*_*_*_ is defined
starting in column 2. The surrounding /*....*/ defines it as a comment so
that the ACS routine translation is not affected.
• After the end of the last FILTLIST statement starting in column 1, put the
string:
/**_**_**_**_**_**_**_**_**_**_**_**_**_**_**/
The ending delimiter length does not matter as long as **_**_**_ is defined
starting in column 2. The surrounding /*....*/ defines a comment.
3. Create a consolidated FILTLIST member:
• Copy everything between the start and end delimiters in each member into
the one FILTLIST member.

3.1.2 ACS routine FILTLIST conversion


Figure 89 shows a list of member names in the three phases of conversion to
COPYFILT managed FILTLISTs.

Figure 89. Member names used in conversion of FILTLISTs

The member names OMVSDC2, OMVSMC9, OMVSSC9 and OMVSSG9 contain


the original routines. All but OMVSSG9 contain their own FILTLISTs.

The member names NOMVSDC2, NOMVSMC9, NOMVSSC9, and NOMVSSG9


are versions that have had the start and end delimiters inserted around the
FILTLISTs, except for NOMVSSG9, where a start and end delimiter with a blank
line in between were added.

126 Maintaining Your SMS Environment


Member name NOMVSFL9 contains copies of the FILTLIST statements from the
routines NOMVSDC2, NOMVSMC9, and NOMVSSC9.

The member names FOMVSDC2, FOMVSMC9, FOMVSSC9, and FOMVSSG9


were initially identical to the NOMVSxx versions.

3.1.3 FILTLIST propagation


Set up an ISPF edit session on the FILTLIST member NOMVSFL9. On the
command line, enter the command COPYFILT.

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.

Figure 90. COPYFILT member name entry panel

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.

SMS administration tasks 127


3.1.4 FILTLIST propagation results
We will show you the results of two of the cases, as they are representative of all
the ACS routines, and it is not necessary to show all the results.

The two cases are:


• Data class where two lines of FILTLIST in OMVSDC2 expand into the full set
in FOMVSDC2, and the original two are deleted (they are not duplicated)
• Storage Group OMVSSG9 where there was previously no FILTLIST entry, and
the full FILTLIST is expanded into FOMVSSG9.

3.1.4.1 Data class ACS routine FOMVSDC2


Refer to Figure 91 and Figure 92 to see the expanded FILTLIST and change log
comments.

Figure 91. Member FOMVSDC2 with expanded FILTLIST (part 1 of 2)

128 Maintaining Your SMS Environment


Figure 92. Member FOMVSDC2 with expanded FILTLIST (part 2 of 2)

Refer to Figure 93 and contrast the listing with the member with expanded
FILTLIST.

Figure 93. Member OMVSDC2 with original local FILTLIST

SMS administration tasks 129


3.1.4.2 Storage group ACS routine FOMVSSG9
Figure 94 shows the start of the inserted records and the change log information.

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.

130 Maintaining Your SMS Environment


Figure 95. First few lines of OMVSSG9 showing no FILTLIST

3.1.5 SMS defined FILTLIST ACS data


Table 36 is an example of the table we used to document the name of the
FILTLIST information in our system.
Table 36. FILTLIST ACS member documentation

Check FILTLIST name Source data set name and comment


active
entry

OMVSFL MHLRES7.FILTLIST.DATA/null entry

NOMVSFL9 MHLRES7.FILTLIST.DATA/all FILTLIST entries test build

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.

SMS administration tasks 131


A sample library of batch jobs is provided in data set SYS1.SACBCNTL, that
serves as a starting point for standard job generation, and a backup for the user
modified version. A set of ISPF panels is provided to access the samples and
build some of the parameters. Refer to Figure 96 and Figure 97 for examples of
what the panels contain.

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.

Figure 96. Configuration changes batch sample selection (part 1 of 2)

132 Maintaining Your SMS Environment


Figure 97. Configuration changes batch sample selection (part 2 of 2)

3.2 Manual creation of a test case


In most configurations there is a simple correlation between filter lists in ACS
routines and affordable testing: all members of the filter list will result in the same
construct usage (at least for one sort of constructs). So, one way to get an idea
what test cases are needed is to carefully inspect all filter lists and the places in
your ACS routines where they are used.

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.

To define a test case manually, you have two options:


• Define a test case by ISMF
• Copy a member containing an existing test case and edit the content

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).

SMS administration tasks 133


Figure 98. Manual test case creation using ISMF

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).

134 Maintaining Your SMS Environment


Figure 99. Using a test case which contains invalid syntax

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.

3.2.1 Automatic test case creation


If you have set up your SMS environment using a method like DFSMS FIT, or
have generated the test cases, you will have a certain number of test cases
(what we call the base test cases) to check the ACS routines for proper function
according to the data types in your environment. Keep the base test cases as a
part of the documentation for your initial setup of SMS and as a valuable source
for future testing.

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.

SMS administration tasks 135


If you already have some data sets in your system which are subject to change,
using the data set application of ISMF you can create a data set list containing
some or all of those data sets. The contents of such a data set list will make it
easy to form the test cases based on the convincing properties of real data sets
in your system. And it will become even more simple if you are using NaviQuest
to generate those test cases with a saved ISMF data set list as input.

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.

3.3 SMS environment testing with NaviQuest


Following we will show you the proposed test procedure using NaviQuest. This is
a test concept we suggest to use for all production work.

We assume that you have:


• A collection of test cases
• A new configuration in a SCDS

We also assume that SMS is active.

3.3.1 Running test cases with new and current configurations


First you create a list of test results for the current configuration (base ACS
listing) using all test cases in our test bed library. This will be used as a reference
for the list of test results with the new configuration. See Figure 100 for an
example of the SMS testing procedure using NaviQuest in batch (REXX exec
ACBQBAIA).

136 Maintaining Your SMS Environment


New ACS listing

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

3.3.1.1 Comparison of ACS test listings


In general, if you are using valid test cases, you will expect certain differences in
results when executing these test cases in the new environment and the existing
environment. For the moment these variations will be the only thing you are
interested in, no matter how many test cases you are executing. So, the next thing
to do will be to compare the two listings and report the differences (called
exceptions) in the compare listing data set.

If there is at least one different assignment of a construct during execution of the


same test case, this test case will be reported in the compare listing. The second
part of the output of this step is a partitioned data set containing a copy of all test
cases causing exceptions. This exception test case library, together with the
compare listing data set, will be reused as input by NaviQuest when you update
these test cases in your test bed library with the latest expected results. Figure
101 shows an example using NaviQuest in batch. You can receive a generated
sample job using ISMF option 11.7.3.

SMS administration tasks 137


New ACS listing Compare listing

Step 3
NaviQuest
//SYSTSIN DD *
ISPSTART
CMD(ACBQBAC1)
...
Base ACS listing

Exception test case library

Figure 101. Compare ACS test listings

Figure 102 shows the contents of the compare listing and the directory of the test
case exceptions library, enlarged.

138 Maintaining Your SMS Environment


Compare listing

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).

As an alternative, you can do the comparison in foreground using ISMF option


11.2 (refer to Figure 103). The results should not be different, since internally the
same REXX exec is used.

SMS administration tasks 139


Figure 103. Initiating compare of ACS test results lists on-line

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.

3.3.1.2 Regression testing


If there are some unexpected results in any of the listings, you may want to do
some regression testing using those test cases contained in the exception test
case library (this is an optional task). If you have previously done testing activities
using NaviQuest, you will be able to see the expected results up to this point by
looking into the test case member. You will find the expected construct names as
part of the description information.

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.

3.3.1.3 Test case update with test results


Finish this testing session by updating the original test case library with the
expected results of the test cases reported as exceptions. The names of the
members in need of update and the test results are extracted from the new ACS
listing data set. If you want to run this update interactively, choose ISMF option
11.4 (see Figure 104).

140 Maintaining Your SMS Environment


Figure 104. Initiating test case update with expected test result lists online

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.

SMS administration tasks 141


New ACS listing Member TABL1 (old contents)

Extract test results:


DC= , SC= , MC= , SG=

Exception test case library Step 4 Test case library

NaviQuest
At least one //SYSTSIN DD *
member ISPSTART
CMD(ACBQBAU1)
exists? ...

Compare listing
Extract
member
names

Member TABL1 (new contents)

Figure 105. Test case update with test results

Figure 105 shows some details of the process:


• The exception test case library is checked for existence of at least one
member to decide whether there is anything to be done. If there is no member,
the process stops without any update.
• If there is at least one member, the update continues. From now on, the
exception test case library will no longer be used. To find out the names of the
members in need of update, the compare listing data set is searched for
exceptions.
• Each member name is searched in the new ACS test listing to extract the new
test results, and the DESCRIPTION2-line is updated in the member of the test
bed library. Nothing else is changed in the member.
• Processing is repeated for each member name found in the compare listing
data set.
• All data sets will be kept by the job. The following data sets are to be
considered as obsolete:
– Compare listing data set
– Exception test case library
– New ACS test listing data set

142 Maintaining Your SMS Environment


If you do not update test case members with the expected results, all functions of
NaviQuest will continue to work properly. We recommend that you generate the
expected results in all permanently used test cases because, as time goes by,
you might forget the reason you defined some test case or what the expected test
result was. Storage administration is a critical job, and common procedures
should be documented to make sure that all members of the storage
administration group will use the same policies. It should be part of your
documentation to specify the expected test results for all permanently used test
cases. This will stress the strength and reliability of storage administration tasks.

It is difficult to keep your documentation in sync with your current environment if


you try to document test results manually. That is why we recommend that you
use NaviQuest to keep your test case environment in order.

3.4 ACS verification and translation methodology


All parts of the change management of ACS routines may now be done in batch.
Testing in batch is to be considered, without doubt, a very powerful and reliable
method, even for a large number of test cases. The predecessor steps of
translation and verification are also good candidates for batch processing. Think
of the possibility that your changes might not be successful on your first attempt.
Maybe you will have to change the source code three or four times until it is
accepted by translation and verification. If you do all translation and verification in
batch and keep the output for documentation purposes, you will be able to track
continuously all changes in your ACS routines.

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.

3.4.1 ACS translation


You can use the ISMF translate option 7.2 to translate the ACS routines and store
them in an SCDS. NaviQuest ships jobs ACBJBAC2 and ACBJBAOQ to translate
the ACS routines in batch. A two-part example of a translation request is shown in
Figure 106 and Figure 107.

SMS administration tasks 143


//TRANSLAT EXEC ACBJBAOB,PLIB1='SYS1.DGTPLIB',
// TABL2=MHLRES6.TEST.ISPTABL
//SYSUDUMP DD SYSOUT=*
//SYSTSIN DD *
PROFILE PREFIX(MHLRES6) WTPMSG
DEL 'MHLRES6.DATACLAS.LISTING'
DEL 'MHLRES6.MGMTCLAS.LISTING'
DEL 'MHLRES6.STORCLAS.LISTING'
DEL 'MHLRES6.STORGRP.LISTING'
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)

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)

Figure 106. Batch-translation of ACS routines (Part 1 of 2)

Translation of one ACS routine is provided by each ISPSTART CMD(ACBQBAO1...)


statement. You can use one job step to translate several ACS routines, or spread
the requests so that each translate for a single ACS routine is done in a separate
job step. There is no outstanding advantage with either method. We suggest that
you copy the output data sets of the ACS translator into the job’s output using an
additional job step (see Figure 107). This will make it easier to check for error
messages created by the translator.

144 Maintaining Your SMS Environment


//********************************************************************
//* *
//* COPY THE TRANSLATE LISTINGS *
//* *
//* SYSUT1 - INPUT (FROM PREVIOUS STEP) *
//* SYSUT2 - OUTPUT *
//* *
//********************************************************************
//REPGEN EXEC PGM=IEBGENER
//SYSUT1 DD DSN=MHLRES6.DATACLAS.LISTING,DISP=SHR
// DD DSN=MHLRES6.STORCLAS.LISTING,DISP=SHR
// DD DSN=MHLRES6.MGMTCLAS.LISTING,DISP=SHR
// DD DSN=MHLRES6.STORGRP.LISTING,DISP=SHR
//SYSUT2 DD SYSOUT=*
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*

Figure 107. Batch-translation of ACS routines (Part 2 of 2)

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.

Job output from NaviQuest typically contains two major parts:


• Messages from the TSO environment, including REXX execs and CLISTs.
– Confirmation of input parameters
– Used defaults
– Location of output data if being stored somewhere else
– Hints for error conditions
– Failed allocations
– Bad return codes from called services
• ISPF log
– Calls of ISPF services
– Error messages

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:

SMS administration tasks 145


16:59 ***** ISMF ERROR ***** - APPLICATION(DGT7 - ACS); FUNCTION(TRANSLAT)
16:59 - MHLRES7.NAVIQ.SCDS
16:59 - RETURN CODE(0008); REASON CODE(3103)
16:59 - MODULE(DGTFIOAL); PROCEDURE(INVOKSVC)
16:59 - MESSAGE ID( - ); LAST PANEL(DGTDFFL4)
16:59 - SERVICE(NONE); FEEDBACK(NONE)

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

16:59 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


16:59 TSO - Command - - ACBQBAO1 ACSSRC('EVEBYE.JCL.CNTL') MEMBER(OMVSDC2)
16:59 SCDSNAME('MHLRES7.NAVIQ.SCDS') LISTNAME('MHLRES6.DATACLAS.LISTING')
16:59 TSO - Command - - ACBQBAO1 ACSSRC('EVEBYE.JCL.CNTL') MEMBER(OMVSDC2)
16:59 SCDSNAME('MHLRES7.NAVIQ.SCDS') LISTNAME('MHLRES6.DATACLAS.LISTING')
16:59 TSO - Command - - ACBQBAO1 ACSSRC('EVEBYE.JCL.CNTL') MEMBER(OMVSDC2)
16:59 SCDSNAME('MHLRES7.NAVIQ.SCDS') LISTNAME('MHLRES6.DATACLAS.LISTING')
16:59 TSO - Command - - ACBQBAO1 ACSSRC('EVEBYE.JCL.CNTL') MEMBER(OMVSDC2)
16:59 SCDSNAME('MHLRES7.NAVIQ.SCDS') LISTNAME('MHLRES6.DATACLAS.LISTING')
16:59 ***** ISMF ERROR ***** - APPLICATION(DGT7 - ACS); FUNCTION(TRANSLAT)
16:59 - MHLRES7.NAVIQ.SCDS
16:59 - RETURN CODE(0008); REASON CODE(3103)
16:59 - MODULE(DGTFIOAL); PROCEDURE(INVOKSVC)
16:59 - MESSAGE ID( - ); LAST PANEL(DGTDFFL4)
16:59 - SERVICE(NONE); FEEDBACK(NONE)
16:59 ISMF - TRANSLAT - MHLRES7.NAVIQ.SCDS; APPLICATION(DGT7 - ACS)
16:59 ACS OBJECT SAVED - The specified ACS object has been saved
16:59 ***** ISMF ERROR ***** - APPLICATION(ISR - ); FUNCTION()
16:59 -
16:59 - RETURN CODE(); REASON CODE()
16:59 - MODULE(); PROCEDURE()
16:59 - MESSAGE ID( - ); LAST PANEL()
16:59 - SERVICE(); FEEDBACK()
16:59 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 108. Job output of batch-translation of ACS routines (Part 1 of 3)

146 Maintaining Your SMS Environment


The following messages from the job output show clearly the success of the
translation, including the information that the ACS object (data class ACS routine)
has been saved in the specified SCDS data set MHLRES7.NAVIQ.SCDS:
16:59 ISMF - TRANSLAT - MHLRES7.NAVIQ.SCDS; APPLICATION(DGT7 - ACS)
16:59 ACS OBJECT SAVED - The specified ACS object has been saved

The final part of the ISPF log indicates an error again:


16:59 ***** ISMF ERROR ***** - APPLICATION(ISR - ); FUNCTION()
16:59 -
16:59 - RETURN CODE(); REASON CODE()
16:59 - MODULE(); PROCEDURE()
16:59 - MESSAGE ID( - ); LAST PANEL()
16:59 - SERVICE(); FEEDBACK()

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)

We have found that ISMF reason code in DFSMSdfp Diagnosis Reference,


LY27-9606 to have the following meaning:
3131 Translate failed

The reported message id MESSAGE ID(DGTFL043 - DGTFL043) is exactly the same


message that would be displayed in online ISMF when the translation of an ACS
routine ends with errors (see Figure 110).

SMS administration tasks 147


1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/20 Page: 1

16:59 Start of ISPF Log - - - - Session # 2 -------------------------------------------------------


16:59 TSO - Command - - ACBQBAO1 ACSSRC('MHLRES6.NAVI.CNTL') MEMBER(OMVSMC9)
16:59 SCDSNAME('MHLRES7.NAVIQ.SCDS') LISTNAME('MHLRES6.MGMTCLAS.LISTING')
16:59 TSO - Command - - ACBQBAO1 ACSSRC('MHLRES6.NAVI.CNTL') MEMBER(OMVSMC9)
16:59 SCDSNAME('MHLRES7.NAVIQ.SCDS') LISTNAME('MHLRES6.MGMTCLAS.LISTING')
16:59 TSO - Command - - ACBQBAO1 ACSSRC('MHLRES6.NAVI.CNTL') MEMBER(OMVSMC9)
16:59 SCDSNAME('MHLRES7.NAVIQ.SCDS') LISTNAME('MHLRES6.MGMTCLAS.LISTING')
16:59 TSO - Command - - ACBQBAO1 ACSSRC('MHLRES6.NAVI.CNTL') MEMBER(OMVSMC9)
16:59 SCDSNAME('MHLRES7.NAVIQ.SCDS') LISTNAME('MHLRES6.MGMTCLAS.LISTING')
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)
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)
16:59 ***** ISMF ERROR ***** - APPLICATION(ISR - ); FUNCTION()
16:59 -
16:59 - RETURN CODE(); REASON CODE()
16:59 - MODULE(); PROCEDURE()
16:59 - MESSAGE ID( - ); LAST PANEL()
16:59 - SERVICE(); FEEDBACK()
16:59 ***** ISMF ERROR ***** - APPLICATION(DGT7 - ACS); FUNCTION(TRANSLAT)
16:59 - MHLRES7.
16:59 - RETURN CODE(0012); REASON CODE(3131)
16:59 - MODULE(DGTFFLSF); PROCEDURE(PROCTRL)
16:59 - MESSAGE ID( - ); LAST PANEL(DGTDFFL4)
16:59 - SERVICE(DGTFFLTR); FEEDBACK(CALLMOD:DGTFFLSP CALLPROC:ACSSELE)
16:59 End of ISPF Log - - - - - Session # 2 -------------------------------------------------------

Figure 109. Job output of batch-translation of ACS routines (Part 2 of 3)

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).

148 Maintaining Your SMS Environment


1ACS TRANSLATOR ***** TIME 16:59:30 DATE 07/20/1999 PAGE 0001 *****
0
0
SCDS NAME: MHLRES7.NAVIQ.SCDS
ACS SOURCE DATA SET: MHLRES6.NAVI.CNTL
ACS SOURCE MEMBER: OMVSMC9
0
0
0
0001 PROC MGMTCLAS
0002 /**********************************************************************/
0003 /* ACS ROUTINE TO SELECT MANAGEMENT CLASS (MC) */
0004 /**********************************************************************/
0005 /* - TO REVERT TO THE STARTER SET, USE MEMBER OMVSMC */
0006 /* HISTORY: */
0007 /* 02JUL99 MHLRES WITH OWN POOL AND OWN MGMTCLAS */
0008 /* 19FEB99 SJW TEST TABLESPACE NAMES (A.5) */
0009 /**********************************************************************/
0010 /* FILTLIST DEFINITIONS */
0011 /**********************************************************************/
0012
0013 FILTLIST MCDB20 INCLUDE(DB2P.DSNDB%.*.%0*.**,
0014 DB2T.DSNDB%.*.T0*.**,
0015 DB2D.DSNDB%.*.T0*.**)
0016
0017 FILTLIST MCDB21 INCLUDE(DB2P.DSNDB%.*.M1*.**,
0018 DB2D.DSNDB%.*.T1*.**,
0019 DB2T.DSNDB%.*.T1*.**)
0020
0021 FILTLIST MCDB22 INCLUDE(DB2D.DSNDB%.*.T2*.**,
0022 DB2T.DSNDB%.*.T2*.**)
0023
0024 /**********************************************************************/
0025 /* MAIN SELECTION ROUTINE */
0026 /**********************************************************************/
0027
0028 IF &DSN EQ &MCDB20
0029 THEN DO
0030 SET &MGMTCLAS = 'MCDB20'
0031 EXIT
0032 END
0033
0034 IF &DSN EQ &MCDB21
0035 THEN DO
0036 SET &MGMTCLAS = 'MCDB21'
0037 END
0038 ELSE DO
0039 SET &MGMTCLAS = 'MCDB22'
0040 END
0041
0042 SELECT
0043
0044 /**********************************************************************/
0045 /* MC ACS ROUTINE FOR HFS DATA SETS */
0046 /**********************************************************************/
1ACS TRANSLATOR ***** TIME 16:59:30 DATE 07/20/1999 PAGE 0002 *****
0
0047
0048 IF &STORCLAS EQ 'OPENMVS'
******* IGD03171I MISSING WHEN KEYWORD OR LEFT PARENTHESIS FOR A SELECT STATEMENT
0049 THEN DO
0050 SET &MGMTCLAS = 'HFS'
0051 EXIT
0052 END
0053
0054 IF &DSN EQ MHLRES%.**
0055 THEN DO
0056 SET &MGMTCLAS = 'MCMHLRES'
0057 EXIT
0058 END
0059
0060 END

SUMMARY OF ERROR MESSAGES:

0048 IGD03171I MISSING WHEN KEYWORD OR LEFT PARENTHESIS FOR A SELECT STATEMENT

TRANSLATION RETURN CODE: 0012

Figure 111. Job output of batch-translation of ACS routines (Part 3 of 3)

SMS administration tasks 149


Now you can choose what you want to do, either check the ISPF log and the
output list of the translator, or check the translation return code. Checking the
translation return code is the best method if you do not want to bother with ISPF
return codes and messages. Remember that the return code of the job step will
always be zero regardless of the success of the translation. So you have to check
the job using one of the proposed methods.

3.4.2 Validation of an SCDS


Validation of configurations in SCDSs may also be processed in batch using
NaviQuest. The advantages of a validation in batch, as compared to one in online
ISMF, may not be great. However, consider the possibility of providing a complete
batch process from translation to test, without the risk of specifying different
names for the SCDS in translation, validation, and testing, by using global change
in edit. This will make your work even more reliable and exact.

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.

//VALIDAT EXEC ACBJBAOB,TABL2=MHLRES6.TEST.ISPTABL


//SYSTSIN DD *
PROFILE PREFIX(MHLRES6)
DEL VALIDAT.LISTING
ISPSTART CMD(ACBQBAO2 +
SCDSNAME('SYS1.SMS.MHLRES.SCDS') TYPE(*) +
LISTNAME(VALIDAT.LISTING)) +
NEWAPPL(DGT) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)

Figure 112. Batch-validate of ACS routines (Part 1 of 2)

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.

//STEP2 EXEC PGM=IEBGENER


//SYSUT1 DD DSN=MHLRES6.VALIDAT.LISTING,DISP=SHR
//SYSUT2 DD SYSOUT=*
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*

Figure 113. Batch-validate of ACS routines (Part 2 of 2)

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.

150 Maintaining Your SMS Environment


1READY
PROFILE PREFIX(MHLRES6)
READY
DEL VALIDAT.LISTING
ERROR QUALIFYING MHLRES6.VALIDAT.LISTING
** DEFAULT SERVICE ROUTINE ERROR CODE 20, LOCATE ERROR CODE 8
LASTCC=8
READY
ISPSTART CMD(ACBQBAO2 SCDSNAME('sys1.sms.mhlres.scds') TYPE(*) LISTNAME(VALIDAT.LISTING)) NEWAPPL(DGT) BATSCRW(132) BATSCRD(27) BRED
IMAX(3) BDISPMAX(99999999)
SCDS VALIDATED WAS: 'SYS1.SMS.MHLRES.SCDS'
TYPE OF VALIDATION: *
LISTING DATA SET WAS: VALIDAT.LISTING
MHLRES6.MHLRES6A.JOB08072.D0000105.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/02 Page: 1

18:14 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


18:14 TSO - Command - - ACBQBAO2 SCDSNAME('sys1.sms.mhlres.scds') TYPE(*) LISTNAME(VALIDAT.LISTING)
18:14 TSO - Command - - ACBQBAO2 SCDSNAME('SYS1.SMS.MHLRES.SCDS') TYPE(*) LISTNAME(VALIDAT.LISTING)
18:14 TSO - Command - - ACBQBAO2 SCDSNAME('SYS1.SMS.MHLRES.SCDS') TYPE(*) LISTNAME(VALIDAT.LISTING)
18:14 ***** ISMF ERROR ***** - APPLICATION(ISR - ); FUNCTION()
18:14 -
18:14 - RETURN CODE(); REASON CODE()
18:14 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 114. Job output of batch-validation of ACS routines (Part 1of 2)

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

Figure 115. Job output of batch-validation of ACS routines (Part 2 of 2)

3.5 Storage administration tasks


Tasks like setting up or changing definitions of constructs in an SMS configuration
usually had to be done for many years strictly online because there was no
alternative. Some advantages of doing those tasks in batch will be
• To get some output which perfectly may be used for documentation
• To be able to store all jobs ready to run for exact repetition of changes which
will allow to restore even older backups of the SCDS and to provide forward
recovery up to date

Another standard in storage administration is reporting, which may be scheduled


for processing periodically if it is done in batch.

SMS administration tasks 151


At first, for constructs in an SCDS or ACDS, we will look at the tasks:
• Define
• Alter
• Display

These three tasks are normally available by using the same REXX exec for each
kind of construct, but using different keywords.

3.5.1 Define⁄alter⁄display of a management class


All management class processing is initiated by REXX exec ACBQBAJ1 for the
supported functions. Define and alter provide the option to use many arguments,
due to the numerous details of a management class definition.

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.

152 Maintaining Your SMS Environment


1READY
PROFILE PREFIX(MHLRES7)
READY
ISPSTART CMD(ACBQBAJ1 DEFINE SCDS(NAVIQ.SCDS) MGMTCLAS(MCTESTNQ) DESCR(TEST FOR DEFINE MC USING NAVIQUEST) EXPNOUSE(100) EXPDTDY() R
ETNLIM(0) PARTREL(CI) PRINOUSE(18) LVINOUSE(0) CMDORAUT(BOTH) PRIGDGEL(1) GDGROLL(EXPIRE) BACKUPFR(0) NUMBKDSE(12) NUMBKDSD(2) RETDY
DSD(365) RETDYEXT(NOLIMIT) CMDBKUP(NONE) AUTOBKUP(Y) BKUPTECH(P) TMSCYRS() TMSCMTH() TMSCDYS() TMSLUYRS() TMSLUMTH() TMSLUDYS() PMTH
ODAY() PQUAODAY() PQUAIMTH() PYRLODAY() PYRLIMTH() VERSIONS(975) RTNOVERS(9999) RTOVUNIT(Y) RTNEVERS(9999) RTEVUNIT(Y) CPYSERLN(F) A
CPYTECH(P) )
SCDS = NAVIQ.SCDS
MGMTCLAS = MCTESTNQ
DESCR = TEST FOR DEFINE MC USING NAVIQUEST
EXPNOUSE = 100
EXPDTDY =
RETNLIM = 0
PARTREL = CI
PRINOUSE = 18
LVINOUSE = 0
CMDORAUT = BOTH
PRIGDGEL = 1
GDGROLL = EXPIRE
BACKUPFR = 0
NUMBKDSE = 12
NUMBKDSD = 2
RETDYDSD = 365
RETDYEXT = NOLIMIT
CMDBKUP = NONE
AUTOBKUP = Y
BKUPTECH = P
TMSCYRS =
TMSCMTH =
TMSCDYS =
TMSLUYRS =
TMSLUMTH =
TMSLUDYS =
PMTHODAY =
PQUAODAY =
PQUAIMTH =
PYRLODAY =
PYRLIMTH =
VERSIONS = 975
RTNOVERS = 9999
RTOVUNIT = Y
RTNEVERS = 9999
RTEVUNIT = Y
CPYSERLN = F
ACPYTECH = P
MHLRES6.MHLRES6O.JOB07623.D0000106.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/06/30 Page: 1

20:10 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


20:10 TSO - Command - - ACBQBAJ1 DEFINE SCDS(NAVIQ.SCDS) MGMTCLAS(MCTESTNQ) DESCR(TEST FOR DEFINE MC
20:10 USING NAVIQUEST) EXPNOUSE(100) EXPDTDY() RETNLIM(0) PARTREL(CI) PRINOUSE(18)
20:10 LVINOUSE(0) CMDORAUT(BOTH) PRIGDGEL(1) GDGROLL(EXPIRE) BACKUPFR(0)
20:10 NUMBKDSE(12) NUMBKDSD(2) RETDYDSD(365) RETDYEXT(NOLIMIT) CMDBKUP(NONE)
20:10 AUTOBKUP(Y) BKUPTECH(P) TMSCYRS() TMSCMTH() TMSCDYS() TMSLUYRS() TMSLUMTH()
20:10 TMSLUDYS() PMTHODAY() PQUAODAY() PQUAIMTH() PYRLODAY() PYRLIMTH()
20:10 VERSIONS(975) RTNOVERS(9999) RTOVUNIT(Y) RTNEVERS(9999) RTEVUNIT(Y)
20:10 CPYSERLN(F
20:10 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 116. Define/alter management classes (Part 1 of 2)

If there is an error in the input, for example:


ISPSTART CMD(ACBQBAJ1 DEFINE/ALTER SCDS(NAVIQ.SCDS) ...

You would receive the following error messages in SYSTSPRT:


Invalid syntax
The first parameter should be DISPLAY, DEFINE or ALTER
The return code was 8.
The initially invoked CLIST ended with a return code = 8

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.

SMS administration tasks 153


1READY
PROFILE PREFIX(MHLRES7)
READY
ISPSTART CMD(ACBQBAJ4 3 SCDS(NAVIQ.SCDS) MGMTCLAS(MCTESTNQ) DESCR(TEST FOR DEFINE MC USING NAVIQUEST) EXPNOUSE(100) EXPDTDY() RETNLI
M(0) PARTREL(CI) PRINOUSE(18) LVINOUSE(0) CMDORAUT(BOTH) PRIGDGEL(1) GDGROLL(EXPIRE) BACKUPFR(0) NUMBKDSE(12) NUMBKDSD(2) RETDYDSD(3
65) RETDYEXT(NOLIMIT) CMDBKUP(NONE) AUTOBKUP(Y) BKUPTECH(P) TMSCYRS() TMSCMTH() TMSCDYS() TMSLUYRS() TMSLUMTH() TMSLUDYS() PMTHODAY(
) PQUAODAY() PQUAIMTH() PYRLODAY() PYRLIMTH() VERSIONS(975) RTNOVERS(9999) RTOVUNIT(Y) RTNEVERS(9999) RTEVUNIT(Y) CPYSERLN(F) ACPYTE
CH(P) ) NEWAPPL(DGT) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(35)
MGMTCLAS = MCTESTNQ
DESCR = TEST FOR DEFINE MC USING NAVIQUEST
EXPNOUSE = 100
EXPDTDY =
RETNLIM = 0
PARTREL = CI
PRINOUSE = 18
LVINOUSE = 0
CMDORAUT = BOTH
PRIGDGEL = 1
GDGROLL = EXPIRE
BACKUPFR = 0
NUMBKDSE = 12
NUMBKDSD = 2
RETDYDSD = 365
RETDYEXT = NOLIMIT
CMDBKUP = NONE
AUTOBKUP = Y
BKUPTECH = P
TMSCYRS =
TMSCMTH =
TMSCDYS =
TMSLUYRS =
TMSLUMTH =
TMSLUDYS =
PMTHODAY =
PQUAODAY =
PQUAIMTH =
PYRLODAY =
PYRLIMTH =
VERSIONS = 975
RTNOVERS = 9999
RTOVUNIT = Y
RTNEVERS = 9999
RTEVUNIT = Y
CPYSERLN = F
ACPYTECH = P
NQISMFLV = ISMF130
MHLRES6.MHLRES6O.JOB07623.D0000110.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/06/30 Page: 1

20:10 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


20:10 TSO - Command - - ACBQBAJ4 3 SCDS(NAVIQ.SCDS) MGMTCLAS(MCTESTNQ) DESCR(TEST FOR DEFINE MC USING
20:10 NAVIQUEST) EXPNOUSE(100) EXPDTDY() RETNLIM(0) PARTREL(CI) PRINOUSE(18)
20:10 LVINOUSE(0) CMDORAUT(BOTH) PRIGDGEL(1) GDGROLL(EXPIRE) BACKUPFR(0)
20:10 NUMBKDSE(12) NUMBKDSD(2) RETDYDSD(365) RETDYEXT(NOLIMIT) CMDBKUP(NONE)
20:10 AUTOBKUP(Y) BKUPTECH(P) TMSCYRS() TMSCMTH() TMSCDYS() TMSLUYRS() TMSLUMTH()
20:10 TMSLUDYS() PMTHODAY() PQUAODAY() PQUAIMTH() PYRLODAY() PYRLIMTH()
20:10 VERSIONS(975) RTNOVERS(9999) RTOVUNIT(Y) RTNEVERS(9999) RTEVUNIT(Y)
20:10 CPYSERLN(F) ACP
20:10 TSO - Command - - ACBQBAJ4 NAVIQ.SCDS
20:10 TSO - Command - - ACBQBAJ4 3 MGMTCLAS(MCTESTNQ) DESCR(TEST FOR DEFINE MC USING NAVIQUEST)
20:10 EXPNOUSE(100) EXPDTDY() RETNLIM(0) PARTREL(CI) PRINOUSE(18) LVINOUSE(0)
20:10 CMDORAUT(BOTH) PRIGDGEL(1) GDGROLL(EXPIRE) BACKUPFR(0) NUMBKDSE(12)
20:10 NUMBKDSD(2) RETDYDSD(365) RETDYEXT(NOLIMIT) CMDBKUP(NONE) AUTOBKUP(Y)
20:10 BKUPTECH(P) TMSCYRS() TMSCMTH() TMSCDYS() TMSLUYRS() TMSLUMTH() TMSLUDYS()
20:10 PMTHODAY() PQUAODAY() PQUAIMTH() PYRLODAY() PYRLIMTH() VERSIONS(975)
20:10 RTNOVERS(9999) RTOVUNIT(Y) RTNEVERS(9999) RTEVUNIT(Y) CPYSERLN(F) ACPYTECH(P)
20:10 TSO - Command - - ACBQBAJ4 FINDLEVEL
20:10 TSO - Command - - ACBQBAJ4 FINDLEVEL ISMF130
20:10 ISMF - DEFINE - MCTESTNQ; APPLICATION(DGT0 - MGMTCLAS)
20:10 MCTESTNQ SAVED - MCTESTNQ has been saved
20:10 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 117. Define/alter management classes (Part 2 of 2)

If you find this text in ISPLOG:


MCTESTNQ SAVED - MCTESTNQ has been saved

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

154 Maintaining Your SMS Environment


1READY
PROFILE PREFIX(MHLRES7)
READY
ISPSTART CMD(ACBQBAJ1 DISPLAY SCDS(NAVIQ.SCDS) MGMTCLAS(MCTESTNQ) )
SCDS = NAVIQ.SCDS
MGMTCLAS = MCTESTNQ
MGMTCLAS = MCTESTNQ
FCMCPDNU = 18
---------------------------------------------------------
MANAGEMENT CLASS DISPLAY

CDS Name . . . . . . . : MHLRES7.NAVIQ.SCDS


Management Class Name . : MCTESTNQ

Description : TEST FOR DEFINE MC USING NAVIQUEST

Expiration Attributes

Expire after Days Non-usage . : 100


Expire after Date/Days . . . . : NOLIMIT
Retention Limit . . . . . . . : 0

---------------------------------------------------------

Partial Release . . . . . . : COND_IMMED

Migration Attributes
Primary Days Non-usage . : 18
Level 1 Days Date/Days . : 0
Command or Auto Migrate . : BOTH

GDG Management Attributes


# GDG Elements on Primary : 1
Rolled-off GDS Action . . : EXPIRE

---------------------------------------------------------

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

Admin or User Command Backup . . . . . : NONE


Auto Backup . . . . . . . . . . . . . . : YES
Backup copy technique . . . . . . . . . : CONCURRENT PREFERRED

---------------------------------------------------------

Figure 118. Display management class in batch (Part 1 of 2)

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

SMS administration tasks 155


Object Class Transition Criteria
Time Since Creation Years :
Months :
Days . :

Time Since Last use Years :


Months :
Days . :
Periodic
Monthly on Day . . . . :
Quarterly on Day . . . . :
in Month . . . :
Yearly on Day . . . . :
in Month . . . :

---------------------------------------------------------

AGGREGATE Backup Attributes:

# 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

20:10 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


20:10 TSO - Command - - ACBQBAJ1 DISPLAY SCDS(NAVIQ.SCDS) MGMTCLAS(MCTESTNQ)
20:10 TSO - Command - - ACBQBAJ9 2 SCDS(NAVIQ.SCDS) MGMTCLAS(MCTESTNQ)
20:10 TSO - Command - - ACBQBAJ9 NAVIQ.SCDS
20:10 TSO - Command - - ACBQBAJ9 PUT 2 MGMTCLAS(MCTESTNQ)
20:10 TSO - Command - - ACBQBAJ9 GET
20:10 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 119. Display management class in batch (Part 2 of 2)

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.

3.5.2 Define⁄alter⁄display of a data class


All data class processing is initiated by REXX exec ACBQBAD1 for the supported
functions. Define and alter provide the option to use many arguments, due to the
numerous details of a data class definition.

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.

156 Maintaining Your SMS Environment


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAD1 define SCDS('MHLRES7.NAVIQ.SCDS') dcname(dcmhlrea) DESCR(DATA CLASS FOR TEST OF NAVIQUEST) RECORG() RECFM(FBA)
LRECL(133) KEYLEN() KEYOFF() SPCAVREC(m) SPCAVVAL(1) SPCPRM(1) SPCSEC(1) SPCDIR() REXPPDT() VOLCNT(2) ADDVOLAM() IMBED() REPLCAT()
CISZDATA() FRSPCCI() FRSPCCA() SHRXREG() SHRXSYS() COMPTN() MDTYPE() RECTECH() DSNMTYP(EXTENDED) IFEXT(p) EXTADDRS() RECACCB() REUSE
() INILOAD() SPANONSP() BWO() LOG() LOGSTID() SPCCONRL(Y) REDSPCUT(5) ) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(999999)
SCDS = 'MHLRES7.NAVIQ.SCDS'
DCNAME = DCMHLREA
DESCR = DATA CLASS FOR TEST OF NAVIQUEST
RECORG =
RECFM = FBA
LRECL = 133
KEYLEN =
KEYOFF =
SPCAVREC = M
SPCAVVAL = 1
SPCPRM = 1
SPCSEC = 1
SPCDIR =
REXPPDT =
VOLCNT = 2
ADDVOLAM =
IMBED =
REPLCAT =
CISZDATA =
FRSPCCI =
FRSPCCA =
SHRXREG =
SHRXSYS =
COMPTN =
MDTYPE =
RECTECH =
DSNMTYP = EXTENDED
IFEXT = P
EXTADDRS =
RECACCB =
REUSE =
INILOAD =
SPANONSP =
BWO =
LOG =
LOGSTID =
SPCCONRL = Y
REDSPCUT = 5
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/01 Page: 1

18:00 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


18:00 TSO - Command - - ACBQBAD1 define SCDS('MHLRES7.NAVIQ.SCDS') dcname(dcmhlrea) DESCR(DATA CLASS
18:00 FOR TEST OF NAVIQUEST) RECORG() RECFM(FBA) LRECL(133) KEYLEN() KEYOFF()
18:00 SPCAVREC(m) SPCAVVAL(1) SPCPRM(1) SPCSEC(1) SPCDIR() REXPPDT() VOLCNT(2)
18:00 ADDVOLAM() IMBED() REPLCAT() CISZDATA() FRSPCCI() FRSPCCA() SHRXREG()
18:00 SHRXSYS() COMPTN() MDTYPE() RECTECH() DSNMTYP(EXTENDED) IFEXT(p) EXTADDRS()
18:00 RECACCB() REUSE() INILOAD() SPANONSP() BWO() LOG() LOGSTID() SPCCONRL(Y)
18:00 REDSPCUT(5)
18:00 TSO - Command - - ACBQBAD2 3 SCDS('MHLRES7.NAVIQ.SCDS') DCNAME(DCMHLREA) DESCR(DATA CLASS FOR
18:00 TEST OF NAVIQUEST) RECORG() RECFM(FBA) LRECL(133) KEYLEN() KEYOFF()
18:00 SPCAVREC(M) SPCAVVAL(1) SPCPRM(1) SPCSEC(1) SPCDIR() REXPPDT() VOLCNT(2)
18:00 ADDVOLAM() IMBED() REPLCAT() CISZDATA() FRSPCCI() FRSPCCA() SHRXREG()
18:00 SHRXSYS() COMPTN() MDTYPE() RECTECH() DSNMTYP(EXTENDED) IFEXT(P) EXTADDRS()
18:00 RECACCB() REUSE() INILOAD() SPANONSP() BWO() LOG() LOGSTID() SPCCONRL(Y)
18:00 REDSPCUT(5)
18:00 TSO - Command - - ACBQBAD2 3 SCDS('MHLRES7.NAVIQ.SCDS') DCNAME(DCMHLREA) DESCR(DATA CLASS FOR
18:00 TEST OF NAVIQUEST) RECORG() RECFM(FBA) LRECL(133) KEYLEN() KEYOFF()
18:00 SPCAVREC(M) SPCAVVAL(1) SPCPRM(1) SPCSEC(1) SPCDIR() REXPPDT() VOLCNT(2)
18:00 ADDVOLAM() IMBED() REPLCAT() CISZDATA() FRSPCCI() FRSPCCA() SHRXREG()
18:00 SHRXSYS() COMPTN() MDTYPE() RECTECH() DSNMTYP(EXTENDED) IFEXT(P) EXTADDRS()
18:00 RECACCB() REUSE() INILOAD() SPANONSP() BWO() LOG() LOGSTID() SPCCONRL(Y)
18:00 REDSPCUT(5)
18:00 ISMF - DEFINE - DCMHLREA; APPLICATION(DGT4 - DATACLAS)
18:00 DCMHLREA SAVED - DCMHLREA has been saved
18:00 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 120. Define/alter of a data class

If you find this text in ISPLOG:


DCMHLRES SAVED - DCMHLRES has been saved

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

SMS administration tasks 157


If you request the display of an existing data class, you will output similar to that
shown in Figure 121. As you can see, it is a different format that 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

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
-------------------------------------------------------

CDS Name . . . : MHLRES7.NAVIQ.SCDS


Data Class Name : DCMHLRES

Description : DATA CLASS FOR TEST OF NAVIQUEST

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 :

Data Set Name Type . . . : EXTENDED


If Extended . . . . . . : PREFERRED
Extended Addressability : NO
Record Access Bias . . : USER
Reuse . . . . . . . . . . : NO
Initial Load . . . . . . : RECOVERY
Spanned / Nonspanned . . :
BWO . . . . . . . . . . . :
Log . . . . . . . . . . . :
Logstream Id . . . . . . :
Space Constraint Relief . : YES
Reduce Space Up To (%) : 5

-------------------------------------------------------
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

18:56 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


18:56 TSO - Command - - ACBQBAD1 DISPLAY SCDS('MHLRES7.NAVIQ.SCDS') DCNAME(DCMHLRES)
18:56 TSO - Command - - ACBQBAD3 2 SCDS('MHLRES7.NAVIQ.SCDS') DCNAME(DCMHLRES)
18:56 TSO - Command - - ACBQBAD3 PUT 2 SCDS('MHLRES7.NAVIQ.SCDS') DCNAME(DCMHLRES)
18:56 TSO - Command - - ACBQBAD3 GET
18:56 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 121. Display of a data class

158 Maintaining Your SMS Environment


3.5.3 Define⁄alter⁄display of a storage class
All storage class processing is initiated by REXX exec ACBQBAS1 for the
supported functions. 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 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

20:04 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


20:04 TSO - Command - - ACBQBAS1 alter SCDS('MHLRES7.NAVIQ.SCDS') STCNAME(scmhlres) DESCR(storage
20:04 class for test of naviquest) DMSRESP() DRTBIAS() SEQMSRES() SEQBIAS()
20:04 INIARESS() SUSDTRT() AVALBTY() ACCSBTY(c) GURNTSPC() GUASYNWR() CFCACSTN()
20:04 CFDTWGHT() CFSEQWHT()
20:04 TSO - Command - - ACBQBAS2 4 SCDS('MHLRES7.NAVIQ.SCDS') STCNAME(SCMHLRES) DESCR(STORAGE CLASS
20:04 FOR TEST OF NAVIQUEST) DMSRESP() DRTBIAS() SEQMSRES() SEQBIAS() INIARESS()
20:04 SUSDTRT() AVALBTY() ACCSBTY(C) GURNTSPC() GUASYNWR() CFCACSTN() CFDTWGHT()
20:04 CFSEQWHT()
20:04 TSO - Command - - ACBQBAS2 4 SCDS('MHLRES7.NAVIQ.SCDS') STCNAME(SCMHLRES) DESCR(STORAGE CLASS
20:04 FOR TEST OF NAVIQUEST) DMSRESP() DRTBIAS() SEQMSRES() SEQBIAS() INIARESS()
20:04 SUSDTRT() AVALBTY() ACCSBTY(C) GURNTSPC() GUASYNWR() CFCACSTN() CFDTWGHT()
20:04 CFSEQWHT()
20:04 ISMF - ALTER - MHLRES7.NAVIQ.SCDS; APPLICATION(DGT5 - STORCLAS)
20:04 SCMHLRES SAVED - SCMHLRES has been saved
20:04 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 122. Define/alter of a storage class in batch

If you find this text in ISPLOG:


SCMHLRES SAVED - SCMHLRES has been saved

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.

SMS administration tasks 159


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAS1 DISPLAY SCDS('MHLRES7.NAVIQ.SCDS') STCNAME(scmhlres) )
SCDS = 'MHLRES7.NAVIQ.SCDS'
STCNAME = SCMHLRES
-------------------------------------------------------

CDS Name . . . . . : MHLRES7.NAVIQ.SCDS


Storage Class Name : SCMHLRES
Description : STORAGE CLASS FOR TEST OF NAVIQUEST

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

Cache Set Name . . . :


CF Direct Weight . . :
CF Sequential Weight :

-------------------------------------------------------
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

20:04 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


20:04 TSO - Command - - ACBQBAS1 DISPLAY SCDS('MHLRES7.NAVIQ.SCDS') STCNAME(scmhlres)
20:04 TSO - Command - - ACBQBAS3 2 SCDS('MHLRES7.NAVIQ.SCDS') STCNAME(SCMHLRES)
20:04 TSO - Command - - ACBQBAS3 PUT 2 SCDS('MHLRES7.NAVIQ.SCDS') STCNAME(SCMHLRES)
20:04 TSO - Command - - ACBQBAS3 GET
20:04 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 123. Display of a storage class in batch

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.

3.5.4 Define⁄alter⁄display of a base configuration


All base configuration processing is initiated by REXX exec ACBQBAB1 for the
supported functions. 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 124 on page
161. If all specified parameters are correct, you will get messages like those
shown.

If you find this text in ISPLOG:


CDS BASE SAVED - The Base Configuration has been saved

This means that the base configuration was defined or altered as you requested.

160 Maintaining Your SMS Environment


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAB1 alter SCDS('MHLRES7.NAVIQ.SCDS') DESCR(CONFIGURATION FOR NAVIQUEST RESIDENCY) DEFMC(MCMHLRES) DEFUNIT(3390) BY
TPTRK() TRKPCYL() ADDSYS(SC65,sc68) ADDGRP() ) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(999999)
adding system : SC65
adding system : SC68
MHLRES6.MHLRES6T.JOB10383.D0000106.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/22 Page: 1

17:20 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


17:20 TSO - Command - - ACBQBAB1 alter SCDS('MHLRES7.NAVIQ.SCDS') DESCR(CONFIGURATION FOR NAVIQUEST
17:20 RESIDENCY) DEFMC(MCMHLRES) DEFUNIT(3390) BYTPTRK() TRKPCYL()
17:20 ADDSYS(SC65,sc68) ADDGRP()
17:20 TSO - Command - - ACBQBAB2 3 SCDS('MHLRES7.NAVIQ.SCDS') DESCR(CONFIGURATION FOR NAVIQUEST
17:20 RESIDENCY) DEFMC(MCMHLRES) DEFUNIT(3390) BYTPTRK() TRKPCYL() SYSTEM(1,SC65)
17:20 TSO - Command - - ACBQBAB2 3 SCDS('MHLRES7.NAVIQ.SCDS') DESCR(CONFIGURATION FOR NAVIQUEST
17:20 RESIDENCY) DEFMC(MCMHLRES) DEFUNIT(3390) BYTPTRK() TRKPCYL() SYSTEM(1,SC65)
17:20 ISMF - ALTER - MHLRES7.NAVIQ.SCDS; APPLICATION(DGT8 - CDS)
17:20 CDS BASE SAVED - The Base Configuration has been saved
17:20 TSO - Command - - ACBQBAB2 3 SCDS('MHLRES7.NAVIQ.SCDS') DESCR() DEFMC() DEFUNIT() BYTPTRK()
17:20 TRKPCYL() SYSTEM(1,SC68)
17:20 TSO - Command - - ACBQBAB2 3 SCDS('MHLRES7.NAVIQ.SCDS') DESCR() DEFMC() DEFUNIT() BYTPTRK()
17:20 TRKPCYL() SYSTEM(1,SC68)
17:20 Panel ACBSBAI1 message - In batch, the following message was displayed on the panel.
17:20 CDS BASE SAVED - The Base Configuration has been saved
17:20 ISMF - ALTER - MHLRES7.NAVIQ.SCDS; APPLICATION(DGT8 - CDS)
17:20 CDS BASE SAVED - The Base Configuration has been saved
17:20 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 124. Define/alter of a base configuration in batch

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.

SMS administration tasks 161


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAB1 DISPLAY SCDS('MHLRES7.NAVIQ.SCDS') ) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(999999)
-------------------------------------------------------

CDS Name :MHLRES7.NAVIQ.SCDS


CDS Status :INVALID

Description :CONFIGURATION FOR NAVIQUEST RESIDENCY


:
Default Management Class :MCMHLRES
Default Unit :3390
Default Device Geometry
Bytes/track . . . . . : 47476
Tracks/cylinder . . . : 15

System :SC63 SC64 SC65 SC68

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

17:20 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


17:20 TSO - Command - - ACBQBAB1 DISPLAY SCDS('MHLRES7.NAVIQ.SCDS')
17:20 TSO - Command - - ACBQBAB3 SCDS('MHLRES7.NAVIQ.SCDS')
17:20 TSO - Command - - ACBQBAB3 PUT SCDS('MHLRES7.NAVIQ.SCDS')
17:20 TSO - Command - - ACBQBAB3 GET
17:20 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 125. Display of a base configuration in batch

If you specify an SCDS which does not exist, you will receive the following
message in SYSTSPRT:
Library 'MHLRES6.NAVIQ.SCDS' does not exist

3.5.4.1 Define⁄alter⁄display of an aggregate group


All aggregate group processing is initiated by REXX exec ACBQBAA1 for the
supported functions. The sample job provided by ISMF 11.7.3 (see also
NaviQuest User’s Guide, SC26-7194) contains two steps:
Step1 Execution of define/alter
Step2 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 126. If all
specified parameters are correct, you will get messages like those shown.

162 Maintaining Your SMS Environment


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAA1 DEFINE SCDS('MHLRES7.NAVIQ.SCDS') AGNAME(AGMHLRES) DESCR(TO DEFINE AGGREGATE GROUP) NOOFCPS(2) MCNAME(MCMHLRES
) ODSPREF(AGMHLRES.APPLBKUP) ACCOUNT(STAR-WARS) SELDS(AGMHLRES.SELECT1.DATASET) INSTRDS(AGMHLRES.INSTRUCT.DATASET) ) BATSCRW(132) BA
TSCRD(27) BREDIMAX(3) BDISPMAX(999999)
SCDS = 'MHLRES7.NAVIQ.SCDS'
AGNAME = AGMHLRES
DESCR = TO DEFINE AGGREGATE GROUP
NOOFCPS = 2
MCNAME = MCMHLRES
ODSPREF = AGMHLRES.APPLBKUP
ACCOUNT = STAR-WARS
SAYSELDS = AGMHLRES.SELECT1.DATASET
INSTRDS = AGMHLRES.INSTRUCT.DATASET
MHLRES6.MHLRES6A.JOB10385.D0000106.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/22 Page: 1

17:36 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


17:36 TSO - Command - - ACBQBAA1 DEFINE SCDS('MHLRES7.NAVIQ.SCDS') AGNAME(AGMHLRES) DESCR(TO DEFINE
17:36 AGGREGATE GROUP) NOOFCPS(2) MCNAME(MCMHLRES) ODSPREF(AGMHLRES.APPLBKUP)
17:36 ACCOUNT(STAR-WARS) SELDS(AGMHLRES.SELECT1.DATASET)
17:36 INSTRDS(AGMHLRES.INSTRUCT.DATASET)
17:36 TSO - Command - - ACBQBAA2 3 SCDS('MHLRES7.NAVIQ.SCDS') AGNAME(AGMHLRES) DESCR(TO DEFINE
17:36 AGGREGATE GROUP) NOOFCPS(2) MCNAME(MCMHLRES) ODSPREF(AGMHLRES.APPLBKUP)
17:36 ACCOUNT(STAR-WARS) EDSNO() SELDS(AGMHLRES.SELECT1.DATASET)
17:36 INSTRDS(AGMHLRES.INSTRUCT.DATASET)
17:36 TSO - Command - - ACBQBAA2 3 SCDS('MHLRES7.NAVIQ.SCDS') AGNAME(AGMHLRES) DESCR(TO DEFINE
17:36 AGGREGATE GROUP) NOOFCPS(2) MCNAME(MCMHLRES) ODSPREF(AGMHLRES.APPLBKUP)
17:36 ACCOUNT(STAR-WARS) EDSNO() SELDS(AGMHLRES.SELECT1.DATASET)
17:36 INSTRDS(AGMHLRES.INSTRUCT.DATASET)
17:36 ISMF - DEFINE - MHLRES7.NAVIQ.SCDS; APPLICATION(DGT9 - AGRGROUP)
17:36 AGMHLRES SAVED - AGMHLRES has been saved
17:36 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 126. Define/alter of an aggregate group in batch

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 find this text in ISPLOG:


AGMHLRES SAVED - AGMHLRES has been saved

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.

SMS administration tasks 163


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAA1 DISPLAY SCDS('MHLRES7.NAVIQ.SCDS') AGNAME(AGMHLRES) ) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(999999)
SCDS = 'MHLRES7.NAVIQ.SCDS'
AGNAME = AGMHLRES
-------------------------------------------------------

CDS Name . . . . . . : MHLRES7.NAVIQ.SCDS


Aggregate Group Name : AGMHLRES

Description : TO DEFINE AGGREGATE GROUP

Backup Attributes

Number of Copies . . . . : 2
Management Class Name . . : MCMHLRES

Output Data Set Name Prefix : AGMHLRES.APPLBKUP

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 :

Instruction Data Set


6 : MHLRES6.AGMHLRES.INSTRUCT.DATASET

-------------------------------------------------------
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

17:36 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


17:36 TSO - Command - - ACBQBAA1 DISPLAY SCDS('MHLRES7.NAVIQ.SCDS') AGNAME(AGMHLRES)
17:36 TSO - Command - - ACBQBAA3 2 SCDS('MHLRES7.NAVIQ.SCDS') AGNAME(AGMHLRES) BDSNO()
17:36 TSO - Command - - ACBQBAA3 PUT 2 SCDS('MHLRES7.NAVIQ.SCDS') AGNAME(AGMHLRES) BDSNO()
17:36 TSO - Command - - ACBQBAA3 GET
17:36 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 127. Display of an aggregate group in batch

If you specify an SCDS which does not exist, you will receive the following
message in SYSTSPRT:
Library 'MHLRES6.NAVIQ.SCDS' does not exist

3.5.5 Define⁄alter of a storage group type POOL


All processing for storage groups of type POOL is initiated by REXX exec
ACBQBAJ2 for the supported functions. As in ISMF, there is no DISPLAY function
for storage groups.

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.

164 Maintaining Your SMS Environment


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAJ2 DEFINE SCDS('SYS1.SMS.MHLRES.SCDS') STORGRP(SGMHLRES) DESCR(STORAGE GROUP FOR RESIDENCY 99-ST-0322) AUTOMIG()
MIGSYSNM() AUTOBKUP() BKUPSYS() AUTODUMP() DMPSYSNM() DUMPCLAS() HIGHTHRS(70) LOWTHRS(50) GUARBKFR(NOLIMIT) SGSTATUS() )
SCDS = 'SYS1.SMS.MHLRES.SCDS'
STORGRP = SGMHLRES
DESCR = STORAGE GROUP FOR RESIDENCY 99-ST-0322
AUTOMIG =
MIGSYSNM =
AUTOBKUP =
BKUPSYS =
AUTODUMP =
DMPSYSNM =
DUMPCLAS =
HIGHTHRS = 70
LOWTHRS = 50
GUARBKFR = NOLIMIT
SGSTATUS =
MHLRES6.MHLRES6A.JOB07943.D0000105.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/02 Page: 1

12:01 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


12:01 TSO - Command - - ACBQBAJ2 DEFINE SCDS('SYS1.SMS.MHLRES.SCDS') STORGRP(SGMHLRES) DESCR(STORAGE
12:01 GROUP FOR RESIDENCY 99-ST-0322) AUTOMIG() MIGSYSNM() AUTOBKUP() BKUPSYS()
12:01 AUTODUMP() DMPSYSNM() DUMPCLAS() HIGHTHRS(70) LOWTHRS(50) GUARBKFR(NOLIMIT)
12:01 SGSTATUS()
12:01 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------
1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAJ5 2 SCDS('SYS1.SMS.MHLRES.SCDS') STORGRP(SGMHLRES) DESCR(STORAGE GROUP FOR RESIDENCY 99-ST-0322) AUTOMIG() MIGSY
SNM() AUTOBKUP() BKUPSYS() AUTODUMP() DMPSYSNM() DUMPCLAS() HIGHTHRS(70) LOWTHRS(50) GUARBKFR(NOLIMIT) SGSTATUS()) NEWAPPL(DGT) BATS
CRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(35)
STORGRP = SGMHLRES
DESCR = STORAGE GROUP FOR RESIDENCY 99-ST-0322
AUTOMIG =
MIGSYSNM =
AUTOBKUP =
BKUPSYS =
AUTODUMP =
DMPSYSNM =
DUMPCLAS =
HIGHTHRS = 70
LOWTHRS = 50
GUARBKFR = NOLIMIT
SGSTATUS =
NQISMFLV = ISMF130
MHLRES6.MHLRES6A.JOB07943.D0000109.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/02 Page: 1

12:01 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


12:01 TSO - Command - - ACBQBAJ5 2 SCDS('SYS1.SMS.MHLRES.SCDS') STORGRP(SGMHLRES) DESCR(STORAGE GROUP
12:01 FOR RESIDENCY 99-ST-0322) AUTOMIG() MIGSYSNM() AUTOBKUP() BKUPSYS()
12:01 AUTODUMP() DMPSYSNM() DUMPCLAS() HIGHTHRS(70) LOWTHRS(50) GUARBKFR(NOLIMIT)
12:01 SGSTATUS()
12:01 TSO - Command - - ACBQBAJ5 'SYS1.SMS.MHLRES.SCDS'
12:01 TSO - Command - - ACBQBAJ5 2 STORGRP(SGMHLRES) DESCR(STORAGE GROUP FOR RESIDENCY 99-ST-0322)
12:01 AUTOMIG() MIGSYSNM() AUTOBKUP() BKUPSYS() AUTODUMP() DMPSYSNM() DUMPCLAS()
12:01 HIGHTHRS(70) LOWTHRS(50) GUARBKFR(NOLIMIT) SGSTATUS()
12:01 TSO - Command - - ACBQBAJ5 FINDLEVEL
12:01 TSO - Command - - ACBQBAJ5 FINDLEVEL ISMF130
12:01 ISMF - DEFINE - SYS1.SMS.MHLRES.SCDS; APPLICATION(DGT6 - SG)
12:01 SGMHLRES SAVED - SGMHLRES has been saved
12:01 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 128. Define/alter of a storage group of type POOL

If you find this text in ISPLOG:


SGMHLRES SAVED - SGMHLRES has been saved

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)

SMS administration tasks 165


3.5.6 Add/delete volumes from a storage group of type POOL
This is a storage administration task which seems to be done very often, due to
the fact that probably in all configurations, the definitions of volumes in storage
groups of type POOL are the most numerous ones.

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.

//ADDVOL1 EXEC ACBJBAOB,PLIB1='SYS1.DGTPLIB',TABL2=MHLRES6.TEST.ISPTABL


//SYSUDUMP DD SYSOUT=*
//TEMPFILE DD DSN=&&VOLADDS,DISP=(NEW,KEEP),UNIT=3390,
// SPACE=(TRK,(1,1)),LRECL=80,RECFM=F,BLKSIZE=80
//SYSTSIN DD *
PROFILE PREFIX(MHLRES6)
ISPSTART CMD(ACBQBAI9) +
BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
/*
//VOLDEL DD *
SCDSNAME('MHLRES7.NAVIQ.SCDS') VOL(MHVL11) SG(SGMHLRES)
/*
//VOLADD DD *
SCDSNAME('MHLRES7.NAVIQ.SCDS') VOL(MHVL11) SG(SGMHLRES) STATUS(DISALL)
SCDSNAME('MHLRES7.NAVIQ.SCDS') VOL(MHVL01) SG(SGMHLRES) STATUS(ENABLE)
/*
//ADDVOL2 EXEC ACBJBAOB,PLIB1='SYS1.DGTPLIB',TABL2=MHLRES6.TEST.ISPTABL
//SYSUDUMP DD SYSOUT=*
//SYSTSIN DD DSN=&&VOLADDS,DISP=(OLD,DELETE)
Figure 129. Job to add/delete volumes to/from storage group of type POOL

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

It makes no difference if you specify VOLADD before VOLDEL, or VOLDEL before


VOLADD.

166 Maintaining Your SMS Environment


Because of this, you need two steps if you want to move a volume from one
storage group to another in the same SCDS. The first step is to delete the
volume, and the second step to add the volume.

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.

SMS administration tasks 167


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAI9) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
End of file reached on DDNAME VOLADD
End of file reached on DDNAME VOLDEL
MHLRES6.MHLRES6A.JOB10387.D0000107.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/22 Page: 1

18:18 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


18:18 TSO - Command - - ACBQBAI9
18:18 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------
1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQVAI1 SCDSNAME('MHLRES7.NAVIQ.SCDS') SG(SGMHLRES) VOL(MHVL11) STATUS(DISALL) ADDVOL) NEWAPPL(DGT) BATSCRW(132) BATSC
RD(27) BREDIMAX(3) BDISPMAX(25)

Volume name to add/delete: MHVL11


Volume status to add: DISALL
Storage Group to alter: SGMHLRES
SCDS altered was: 'MHLRES7.NAVIQ.SCDS'
MHLRES6.MHLRES6A.JOB10387.D0000111.? was preallocated (no free was done).
READY
READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQVAI1 SCDSNAME('MHLRES7.NAVIQ.SCDS') SG(SGMHLRES) VOL(MHVL01) STATUS(ENABLE) ADDVOL) NEWAPPL(DGT) BATSCRW(132) BATSC
RD(27) BREDIMAX(3) BDISPMAX(25)

Volume name to add/delete: MHVL01


Volume status to add: ENABLE
Storage Group to alter: SGMHLRES
SCDS altered was: 'MHLRES7.NAVIQ.SCDS'
MHLRES6.MHLRES6A.JOB10387.D0000111.? was preallocated (no free was done).
READY
READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQVAI1 SCDSNAME('MHLRES7.NAVIQ.SCDS') SG(SGMHLRES) VOL(MHVL11) DELVOL) NEWAPPL(DGT) BATSCRW(132) BATSCRD(27) BREDIMAX
(3) BDISPMAX(25)

Volume name to add/delete: MHVL11


Volume status to add: STATUS
Storage Group to alter: SGMHLRES
SCDS altered was: 'MHLRES7.NAVIQ.SCDS'
MHLRES6.MHLRES6A.JOB10387.D0000111.? was preallocated (no free was done).
READY
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/22 Page: 1

18:18 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


18:18 TSO - Command - - ACBQVAI1 SCDSNAME('MHLRES7.NAVIQ.SCDS') SG(SGMHLRES) VOL(MHVL11)
18:18 STATUS(DISALL) ADDVOL
18:18 TSO - Command - - ACBQVAI1 SCDSNAME('MHLRES7.NAVIQ.SCDS') SG(SGMHLRES) VOL(MHVL11)
18:18 STATUS(DISALL) ADDVOL
18:18 TSO - Command - - ACBQVAI1 SCDSNAME('MHLRES7.NAVIQ.SCDS') SG(SGMHLRES) VOL(MHVL11)
18:18 STATUS(DISALL) ADDVOL
18:18 ISMF - VOLUME - MHLRES7.NAVIQ.SCDS; APPLICATION(DGT6 - SG)
18:18 MHVL11 SAVED - MHVL11 has been saved
18:18 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/22 Page: 1

18:18 Start of ISPF Log - - - - Session # 2 -------------------------------------------------------


18:18 TSO - Command - - ACBQVAI1 SCDSNAME('MHLRES7.NAVIQ.SCDS') SG(SGMHLRES) VOL(MHVL01)
18:18 STATUS(ENABLE) ADDVOL
18:18 TSO - Command - - ACBQVAI1 SCDSNAME('MHLRES7.NAVIQ.SCDS') SG(SGMHLRES) VOL(MHVL01)
18:18 STATUS(ENABLE) ADDVOL
18:18 TSO - Command - - ACBQVAI1 SCDSNAME('MHLRES7.NAVIQ.SCDS') SG(SGMHLRES) VOL(MHVL01)
18:18 STATUS(ENABLE) ADDVOL
18:18 ISMF - VOLUME - MHLRES7.NAVIQ.SCDS; APPLICATION(DGT6 - SG)
18:18 MHVL01 SAVED - MHVL01 has been saved
18:18 End of ISPF Log - - - - - Session # 2 -------------------------------------------------------
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/22 Page: 1

18:18 Start of ISPF Log - - - - Session # 3 -------------------------------------------------------


18:18 TSO - Command - - ACBQVAI1 SCDSNAME('MHLRES7.NAVIQ.SCDS') SG(SGMHLRES) VOL(MHVL11) DELVOL
18:18 TSO - Command - - ACBQVAI1 SCDSNAME('MHLRES7.NAVIQ.SCDS') SG(SGMHLRES) VOL(MHVL11) DELVOL
18:18 TSO - Command - - ACBQVAI1 SCDSNAME('MHLRES7.NAVIQ.SCDS') SG(SGMHLRES) VOL(MHVL11) DELVOL
18:18 ISMF - VOLUME - MHLRES7.NAVIQ.SCDS; APPLICATION(DGT6 - SG)
18:18 MHVL11 DELETED - DELETE was successful for MHVL11
18:18 End of ISPF Log - - - - - Session # 3 -------------------------------------------------------

Figure 130. Add/delete/change status of volumes to/from/in storage group of type POOL

168 Maintaining Your SMS Environment


Step ADDVOL1 does nothing more than reading what you specified as part of
VOLADD and VOLDEL and generating the ISPSTART commands you can see as
part of SYSTSPRT of step ADDVOL2.

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

This is the only way to get confirmation of the requested actions.

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.

SMS administration tasks 169


Other possible messages are as follows:
• As part of SYSTSPRT of step ADDVOL1 you might receive the following
information:
The input or output file VOLDEL is not allocated.
It cannot be opened for I/O.
EXECIO error while trying to GET or PUT a record.
End of file reached on DDNAME VOLDEL
These messages result from an absent VOLDEL DD-card and may be ignored.
• A common reason for errors results from the volume you want to add being
part of another storage group. You will see the following message as part of
ISPLOG:
MHLV11 ALREADY EXISTS - MHLV11 already exists in the specified CDS
This is exactly the same message you would receive in an online ISMF
session.
• Specifying a non-existent SCDS results in the following message as part of
SYSTSPRT:
Library 'MHLRES6.NAVIQ.SCDS' does not exist
The initially invoked CLIST ended with a return code = 8
• An invalid value for status leads to the following message as part of
SYSTSPRT:
INVALID SMS VOL ( 1 ) STATUS - EMABLE
SMS VOL STATUS must be NOTCON/ENABLE/DISALL/DISNEW/QUIALL/QUINEW
The Return code was 8
The initially invoked CLIST ended with a return code = 8
• If you specify a non-existent storage group, you will find messages like the
following in ISPLOG:
***** ISMF ERROR ***** - APPLICATION(DGT6 - SG); FUNCTION(VOLUME)
- MHLRES7.NAVIQ.SCDS
- RETURN CODE(0008); REASON CODE(3237)

3.5.7 Define⁄alter of a storage group of type VIO


All processing for storage groups of type VIO is initiated by REXX exec
ACBQBAJ8 for the supported functions. As in ISMF, there is no DISPLAY function
for storage groups.

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.

170 Maintaining Your SMS Environment


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAJ8 DEFINE SCDS('MHLRES7.NAVIQ.SCDS') STORGRP(SGVIO) DESCR(vio for naviquest) VIOMAX(3000) VIOUNIT(3390) SGSTATUS(
enable) )
SCDS = 'MHLRES7.NAVIQ.SCDS'
STORGRP = SGVIO
DESCR = VIO FOR NAVIQUEST
VIOMAX = 3000
VIOUNIT = 3390
SGSTATUS = ENABLE
MHLRES6.MHLRES6A.JOB10822.D0000105.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/28 Page: 1

11:53 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


11:53 TSO - Command - - ACBQBAJ8 DEFINE SCDS('MHLRES7.NAVIQ.SCDS') STORGRP(SGVIO) DESCR(vio for
11:53 naviquest) VIOMAX(3000) VIOUNIT(3390) SGSTATUS(enable)
11:53 TSO - Command - - ACBQBAJC 2 SCDS('MHLRES7.NAVIQ.SCDS') STORGRP(SGVIO) DESCR(VIO FOR NAVIQUEST)
11:53 VIOMAX(3000) VIOUNIT(3390) SGSTATUS(ENABLE)
11:53 TSO - Command - - ACBQBAJC 2 SCDS('MHLRES7.NAVIQ.SCDS') STORGRP(SGVIO) DESCR(VIO FOR NAVIQUEST)
11:53 VIOMAX(3000) VIOUNIT(3390) SGSTATUS(ENABLE)
11:53 ISMF - DEFINE - MHLRES7.NAVIQ.SCDS; APPLICATION(DGT6 - SG)
11:53 SGVIO SAVED - SGVIO has been saved
11:53 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 131. Define/alter of a storage group of type VIO

If you find this text in ISPLOG:


SGVIO SAVED - SGVIO has been saved

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

INVALID VIO MAXSIZE - VIO MAXSIZE must be in the range 8 to 2000000

If you specify an SCDS which does not exist, you will receive the following
message in SYSTSPRT:
Library 'MHLRES6.NAVIQ.SCDS' does not exist

3.5.8 Define⁄alter of a storage group of type DUMMY


All processing for storage groups of type DUMMY is initiated by REXX exec
ACBQBAJA for the supported functions. As in ISMF, there is no DISPLAY function
for storage groups.

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.

SMS administration tasks 171


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAJA DEFINE SCDS('MHLRES7.NAVIQ.SCDS') STORGRP(sgdummy1) DESCR(dummy storgrp) )
SCDS = 'MHLRES7.NAVIQ.SCDS'
STORGRP = SGDUMMY1
DESCR = DUMMY STORGRP
MHLRES6.MHLRES6A.JOB10826.D0000105.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/28 Page: 1

12:02 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


12:02 TSO - Command - - ACBQBAJA DEFINE SCDS('MHLRES7.NAVIQ.SCDS') STORGRP(sgdummy1) DESCR(dummy
12:02 storgrp)
12:02 TSO - Command - - ACBQBAJD 2 SCDS('MHLRES7.NAVIQ.SCDS') STORGRP(SGDUMMY1) DESCR(DUMMY STORGRP)
12:02 TSO - Command - - ACBQBAJD 2 SCDS('MHLRES7.NAVIQ.SCDS') STORGRP(SGDUMMY1) DESCR(DUMMY STORGRP)
12:02 ISMF - DEFINE - MHLRES7.NAVIQ.SCDS; APPLICATION(DGT6 - SG)
12:02 SGDUMMY1 SAVED - SGDUMMY1 has been saved
12:02 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 132. Define/alter of a storage group of type DUMMY

If you find this text in ISPLOG:


SGVIO SAVED - SGVIO has been saved

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

3.5.9 Add/delete of volumes to/from DUMMY storage groups


Volume processing for storage groups of type DUMMY works exactly the same as
for storage groups of type POOL (refer to 3.5.6, “Add/delete volumes from a
storage group of type POOL” on page 166).

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

172 Maintaining Your SMS Environment


3.5.10 Define⁄alter of a storage group of type TAPE
All processing for storage groups of type TAPE is initiated by REXX exec
ACBQBAJ3 for the supported functions. As in ISMF, there is no DISPLAY function
for storage groups.

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

10:38 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


10:38 TSO - Command - - ACBQBAJ3 DEFINE SCDS('MHLRES7.NAVIQ.SCDS') STORGRP(TAPESTGP) DESCR(THIS IS TO
10:38 DEFINE TAPE STORAGE GROUP TAPESTGP) LIBNAME(vts007) SGSTATUS()
10:38 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------
1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAJ6 2 SCDS('MHLRES7.NAVIQ.SCDS') STORGRP(TAPESTGP) DESCR(THIS IS TO DEFINE TAPE STORAGE GROUP TAPESTGP) LIBNAME(VT
S007) SGSTATUS()) NEWAPPL(DGT) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(35)
STORGRP = TAPESTGP
DESCR = THIS IS TO DEFINE TAPE STORAGE GROUP TAPESTGP
LIBNAME = VTS007
SGSTATUS =
NQISMFLV = ISMF130
MHLRES6.MHLRES6A.JOB10887.D0000109.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/29 Page: 1

10:38 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


10:38 TSO - Command - - ACBQBAJ6 2 SCDS('MHLRES7.NAVIQ.SCDS') STORGRP(TAPESTGP) DESCR(THIS IS TO
10:38 DEFINE TAPE STORAGE GROUP TAPESTGP) LIBNAME(VTS007) SGSTATUS()
10:38 TSO - Command - - ACBQBAJ6 'MHLRES7.NAVIQ.SCDS'
10:38 TSO - Command - - ACBQBAJ6 2 STORGRP(TAPESTGP) DESCR(THIS IS TO DEFINE TAPE STORAGE GROUP
10:38 TAPESTGP) LIBNAME(VTS007) SGSTATUS()
10:38 TSO - Command - - ACBQBAJ6 FINDLEVEL
10:38 TSO - Command - - ACBQBAJ6 FINDLEVEL ISMF130
10:38 ISMF - DEFINE - MHLRES7.NAVIQ.SCDS; APPLICATION(DGT6 - SG)
10:38 TAPESTGP SAVED - TAPESTGP has been saved
10:38 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 133. Define/alter of a storage group of type TAPE

If you find this text in ISPLOG:


TAPESTGP SAVED - TAPESTGP has been saved

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

SMS administration tasks 173


If you specify an SCDS which does not exist, you will receive the following
message in SYSTSPRT:
Library 'MHLRES6.NAVIQ.SCDS' does not exist

3.5.11 Define/alter of a storage group of type OBJECT


All processing for storage groups of type OBJECT is initiated by REXX exec
ACBQBAJB for the supported functions. As in ISMF, there is no DISPLAY function
for storage groups.

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

14:22 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


14:22 TSO - Command - - ACBQBAJB DEFINE SCDS('MHLRES7.NAVIQ.SCDS') STORGRP(SGOBJ1) DESCR(DEFINED
14:22 using NAVIQUEST) QUALFR(MHLRES) CYCLEST(NONE) CYCLEET() LIBNAME() VOLFTHRS()
14:22 DRVSTHRS() VOLFWERR() SGSTATUS(ENABLE)
14:22 TSO - Command - - ACBQBAJE 2 SCDS('MHLRES7.NAVIQ.SCDS') STORGRP(SGOBJ1) DESCR(DEFINED USING
14:22 NAVIQUEST) QUALFR(MHLRES) CYCLEST(NONE) CYCLEET() LIBNAME() VOLFTHRS()
14:22 DRVSTHRS() VOLFWERR() SGSTATUS(ENABLE)
14:22 TSO - Command - - ACBQBAJE 2 SCDS('MHLRES7.NAVIQ.SCDS') STORGRP(SGOBJ1) DESCR(DEFINED USING
14:22 NAVIQUEST) QUALFR(MHLRES) CYCLEST(NONE) CYCLEET() LIBNAME() VOLFTHRS()
14:22 DRVSTHRS() VOLFWERR() SGSTATUS(ENABLE)
14:22 ISMF - DEFINE - MHLRES7.NAVIQ.SCDS; APPLICATION(DGT6 - SG)
14:22 SGOBJ1 SAVED - SGOBJ1 has been saved
14:22 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 134. Define/alter of a storage group of type OBJECT

If you find this text in ISPLOG:


SGOBJ1 SAVED - SGOBJ1 has been saved

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

174 Maintaining Your SMS Environment


If you specify an SCDS which does not exist, you will receive the following
message in SYSTSPRT:
Library 'MHLRES6.NAVIQ.SCDS' does not exist

3.5.11.1 Generate data set list


Generation of a data set list in batch is the same as using the ISMF data set
application. After having created a data set list interactively, it may be saved as a
permanent ISPF table in the library allocated under DD-name ISPTABL. That is
exactly what NaviQuest does for you when you are using REXX exec ACBQBAI2.
For an example, refer to Figure 135.

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)

Table name to be created is MHLRES6A


LOOKING FOR DSNS WITH ALLOC SPACE GT 500
LOOKING FOR DSNS WITH DSORG NE PS
DATA SETS EXAMINED WERE: 'MHLRES6.**'
Source of the new list is from the CATALOG
ACQUIRE DATA FROM VOLUME OPTION(VTOCDATA) set to: Y
ACQUIRE DATA FROM DFHSM OPTION(HSMDATA) set to: Y

BEGINNING BATCH EXECUTION OF ISMF 06/29/99 14:57:49


ENDING BATCH EXECUTION OF ISMF 06/29/99 14:57:53
MHLRES6.MHLRES6F.JOB07389.D0000105.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/06/29 Page: 1

14:57 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


14:57 TSO - Command - - ACBQBAI2 SAVE MHLRES6A VTOCDATA(Y) HSMDATA(Y) ALLOCSP(GT 500) DSORG(NE PS)
14:57 DSN('MHLRES6.**')
14:57 TSO - Command - - ACBQBAI2 SAVE MHLRES6A VTOCDATA(Y) HSMDATA(Y) ALLOCSP(GT 500) DSORG(NE PS)
14:57 DSN('MHLRES6.**')
14:57 TSO - Command - - ACBQBAI2 SAVE MHLRES6A VTOCDATA(Y) HSMDATA(Y) ALLOCSP(GT 500) DSORG(NE PS)
14:57 DSN('MHLRES6.**')
14:57 ***** ISMF ERROR ***** - APPLICATION(DGT1 - DATA SET); FUNCTION(SELECT)
14:57 - RETURN CODE(0012); REASON CODE(0642)
14:57 Panel DGTDDDS1 message - In batch, the following message was displayed on the panel.
14:57 OTHER VALUES PRESENT - There are values on other pages which will be used to generate the list
14:57 Panel DGTDDDS1 message - In batch, the following message was displayed on the panel.
14:57 OTHER VALUES PRESENT - There are values on other pages which will be used to generate the list
14:57 TSO - Command - - ACBQBAI2 SAVE MHLRES6A VTOCDATA(Y) HSMDATA(Y) ALLOCSP(GT 500) DSORG(NE PS)
14:57 DSN('MHLRES6.**')
14:57 Panel DGTDDDS1 message - In batch, the following message was displayed on the panel.
14:57 OTHER VALUES PRESENT - There are values on other pages which will be used to generate the list
14:57 ISMF - SAVE - ; APPLICATION(DGT1 - DATA SET)
14:57 LIST SAVED - LIST SAVED IN MHLRES6A
14:57 Panel DGTDDDS1 message - In batch, the following message was displayed on the panel.
14:57 LIST SAVED - LIST SAVED IN MHLRES6A
14:57 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 135. Create a data set list in batch

We have only shown the SYSTSPRT and the ISPLOG parts of the output in
Figure 135. In SYSTSPRT, the input we specified is repeated.

The ISPLOG output states:


LIST SAVED - LIST SAVED IN MHLRES6A

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.

SMS administration tasks 175


For ease of use, if you often need the same selection criteria when creating a
data set list, you can save those criteria for future use in a query specifying the
parameter QSAVE( membername). You can reuse a saved query at data set list
creation time by specifying QUERY( membername). Since this is the same
concept available with DASD and optical device volume lists, it might be a good
idea to choose a fitting naming convention for the queries to recognize data set
queries easily.

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).

3.5.11.2 Generate DASD or optical device volume list


Generation of a volume list in batch is the same as using the ISMF volume
application. After having created a volume list on your terminal, it may be saved
as a permanent ISPF table in the library allocated under DD-name ISPTABL. That
is exactly what NaviQuest does for you when you are using REXX exec
ACBQBAI4. For an example, refer to Figure 136.

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 )

The defaults are STORGRP(*) and CDS(’ACTIVE’) as with online ISMF.

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.

176 Maintaining Your SMS Environment


1READY
PROFILE PREFIX(MHLRES6) MSGID
READY
ISPSTART CMD(ACBQBAI4 SAVE CHKFRAG QSAVE(CHKFRAG) SPCDATA(Y) PHYDATA(Y) VOL(SBO*) FRAG(GT 450)) NEWAPPL(DGT) BATSCRW(132) BATSCRD(27
) BREDIMAX(3) BDISPMAX(99999999)

Table name to be created is CHKFRAG


QUERY NAME SAVED WILL BE: CHKFRAG
ACQUIRE SPACE INFO SET TO: Y
ACQUIRE PHYSICAL DATA SET TO: Y
VOLUMES EXAMINED WERE: SBO*
LOOKING FOR VOLS WITH FRAGMENTATION GT 450

Source to Generate Volume List(SOURCEGL) defaulted to : 2


Source of the New List(SOURCENL) is defaulted to : 1
Type of Volume List(VOLSTYPE) defaulted to : 1
QUERY NAME TABLE ISMFQVOL CREATED.
THIS TABLE RESIDES IN THE DATA SET
POINTED TO BY DDNAME ISPTABL.

QUERY NAME ADDED TO TABLE ISMFQVOL

BEGINNING BATCH EXECUTION OF ISMF 06/30/99 16:49:42


ENDING BATCH EXECUTION OF ISMF 06/30/99 16:49:47
MHLRES6.MHLRES6A.JOB07600.D0000105.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/06/30 Page: 1

16:49 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


16:49 TSO - Command - - ACBQBAI4 SAVE CHKFRAG QSAVE(CHKFRAG) SPCDATA(Y) PHYDATA(Y) VOL(SBO*) FRAG(GT
16:49 450)
16:49 TSO - Command - - ACBQBAI4 SAVE CHKFRAG QSAVE(CHKFRAG) SPCDATA(Y) PHYDATA(Y) VOL(SBO*) FRAG(GT
16:49 450)
16:49 ***** ISMF ERROR ***** - APPLICATION(DGT2 - VOLUME); FUNCTION(SELECT)
16:49 - RETURN CODE(0012); REASON CODE(0642)
16:49 Panel DGTDVVA1 message - In batch, the following message was displayed on the panel.
16:49 OTHER VALUES PRESENT - THERE ARE VALUES ON PAGE 2; THEY WILL ALSO BE USED TO GENERATE THE LIST
16:49 Panel DGTDVVA1 message - In batch, the following message was displayed on the panel.
16:49 OTHER VALUES PRESENT - THERE ARE VALUES ON PAGE 2; THEY WILL ALSO BE USED TO GENERATE THE LIST
16:49 Panel DGTDVVA1 message - In batch, the following message was displayed on the panel.
16:49 OTHER VALUES PRESENT - THERE ARE VALUES ON PAGE 2; THEY WILL ALSO BE USED TO GENERATE THE LIST
16:49 ISMF - SAVE - ; APPLICATION(DGT2 - VOLUME)
16:49 LIST SAVED - LIST SAVED IN CHKFRAG
16:49 Panel DGTDVVA1 message - In batch, the following message was displayed on the panel.
16:49 LIST SAVED - LIST SAVED IN CHKFRAG
16:49 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 136. Create a DASD or optical device volume list in batch

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).

3.6 Batch reports and command generation


NaviQuest offers some reporting facilities which are usually needed by most
users. You can generate:
• A complete SMS configuration report based on DCOLLECT records
• Data set reports based on ISMF-saved lists or DCOLLECT data

SMS administration tasks 177


• DASD and optical device volume reports based on ISMF-saved lists or
DCOLLECT data
• Tape volume reports based on ISMF-saved lists

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

Similar processing is available extracting volume names from volume lists or


DCOLLECT V records.

3.6.1 SMS configuration report from DCOLLECT data


SMS configuration reports are based on records extracted in a DCOLLECT run
specifying SMSDATA. You must request the record types being used for the
report:
RECORD=AG Formats aggregate group record information records
RECORD=AI Prints accounting information from the ACS
RECORD=BC Formats base configuration record information records
RECORD=CN Prints cache names from the base configuration
RECORD=DC Formats data class configuration records
RECORD=DR Formats OAM drive record information records
RECORD=LB Formats OAM library record information records
RECORD=MC Formats management class configuration records
RECORD=SC Formats storage class configuration records
RECORD=SG Formats storage group configuration records
RECORD=VL Formats storage group volume record information records

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.

3.6.1.1 SYSTSPRT and ISPLOG output


In our sample job, we requested all DCOLLECT record types as shown in
Figure 137. SYSTSPRT confirms our input parameters specified on DD-cards
SYSTSIN (ISPSTART CMD(ACBQBAR8) ...) and SYSIN (RECORD=...).

178 Maintaining Your SMS Environment


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAR8) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
Number 1 parameter was: RECORD=DC
Number 2 parameter was: RECORD=MC
Number 3 parameter was: RECORD=SC
Number 4 parameter was: RECORD=SG
Number 5 parameter was: RECORD=BC
Number 6 parameter was: RECORD=VL
Number 7 parameter was: RECORD=AG
Number 8 parameter was: RECORD=LB
Number 9 parameter was: RECORD=DR
Number 10 parameter was: RECORD=AI
MHLRES6.MHLRES6E.JOB10143.D0000110.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/20 Page: 1

17:28 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


17:28 TSO - Command - - ACBQBAR8
17:28 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 137. SMS configuration report from DCOLLECT data

3.6.1.2 Accounting information


For each ACS routine, the accounting information record shows:
• Where the source code came from
• The user ID of the person who did the latest translation in this configuration
• Date and time of the last translation

Refer to Figure 138 for the results in our sample job.

------------------------------------
-- Accounting Information Record --
------------------------------------

-- Data Class ACS Routine Information --

Data Set Name Where Stored : EVEBYE.JCL.CNTL


Meber Name In Data Set : OMVSDC3
Last Updated by : STYRES1
Last Updated Date : 1999/07/13
Last Updated Time : 13:12:16

-- Management Class ACS Routine Information --

Data Set Name Where Stored : EVEBYE.JCL.CNTL


Meber Name In Data Set : OMVSMC9
Last Updated by : MHLRES6
Last Updated Date : 1999/07/02
Last Updated Time : 18:36:25

-- Storage Class ACS Routine Information --

Data Set Name Where Stored : EVEBYE.JCL.CNTL


Meber Name In Data Set : OMVSSC9
Last Updated by : MHLRES6
Last Updated Date : 1999/07/07
Last Updated Time : 14:16:19

-- Storage Group ACS Routine Information --

Data Set Name Where Stored : EVEBYE.JCL.CNTL


Meber Name In Data Set : OMVSSG9
Last Updated by : MHLRES6
Last Updated Date : 1999/07/06
Last Updated Time : 16:24:12

Figure 138. SMS accounting information report from DCOLLECT data

SMS administration tasks 179


3.6.1.3 Base configuration information
The base configuration report shows all information, which is visible in online
ISMF, as well as:
• The user ID of the person who changed the base configuration last time
• The date and time of the last change
• The SMS resource token (which is X’00’ for an SCDS)
• The name of the SCDS from which the last activation was done (which is
reported only if the control data set is an ACDS)

Refer to Figure 139 for the resulting report in our sample job.

-----------------------------------
-- Base Configuration Record --
-----------------------------------

Last Updated: STYRES1 Date: 1999/07/06


Time Updated: 22:03
Description: BASE SMS CONFIG FOR OE

Default Management Class: Not Specified


Track size in bytes: 56664
Tracks per cylinder: 15
Default unit:

SYSTEM NAMES:
SYSTEM1: SC63 SYSTEM2: SC64
SYSTEM3: SC65 SYSTEM4:
SYSTEM5: SYSTEM6:
SYSTEM7: SYSTEM8:

Misc information:

Data set status: Data set is valid


SMS Resource token (in hex): 0200000500000305
Name of SCDS from which ACDS activated: SYS1.SMS.MHLRES.SCDS

Figure 139. SMS base configuration report from DCOLLECT data

180 Maintaining Your SMS Environment


3.6.1.4 Data class information
The data class report shows all information which can be seen using ISMF. Refer
to Figure 140 for the results in our sample job.

-----------------------------------
-- Dataclas Record : DCMHLRES --
-----------------------------------

Last Updated: MHLRES6 Date: 1999/07/02


Time Updated: 17:37
Description: DATA CLASS FOR TEST OF NAVIQUEST

Record Organization : null


Record Length :
Record Format :
Key Length :
Key Offset :
Expiration Date :
Retention :
Primary Space : 1
Secondary Space : 1
Directory Blocks :
Allocation Unit : 1
Average Record Value : M
Data Set Type : Not Specified
Max Volume Extend Count : 9
Control Interval Size :
Freespace CI% :
Freespace CA% :
Freespace :
SHROPTIONS : (,)
IMBED: Not Specified REPLICATE: Not Specified
Compaction :
Media Type :
Recording Technology :

Figure 140. SMS data class information report from DCOLLECT data

SMS administration tasks 181


3.6.1.5 Management class information
The management class report shows all information which can be seen using
ISMF. Refer to Figure 141 for the results in our sample job.

-----------------------------------
-- Mgmtclas Record : MCMHLRES --
-----------------------------------

Last Updated: MHLRES6 Date: 1999/07/02


Time Updated: 18:23
Description: TEST FOR DEFINE MC USING NAVIQUEST

--BACKUP INFORMATION FOR MCMHLRES


Backup frequency :0
Auto backup : YES
COMMAND³AUTO backup : BOTH
Backup versions : 12
# Versions DSN Deleted : 2
Days to keep backup ver.: NOLIMIT
Days to keep only ver. : 365
Retain days archive copy: 0
Backup destination class: Not Specified

--MIGRATE INFORMATION FOR MCMHLRES


Expire days since create: NOLIMIT
Expire days non-use : 366
Maximum retention period: 0
Minimum days on ML0 : 18
Minimum days on ML1 : 0
COMMAND³AUTO migrate : BOTH

--GDG INFORMATION FOR MCMHLRES


Rolled off GDS action : Expire
Number of GDG's on prim.: 1

--MISC INFORMATION FOR MCMHLRES


Copy technique : CONCURRENT PREFFERED
Partial release : NO
Conditional/immediate? : Conditional

Figure 141. SMS Management class information report from DCOLLECT data

3.6.1.6 Storage class information


The storage class report shows all information which can be seen using ISMF.
Refer to Figure 142 for the results in our sample job.

182 Maintaining Your SMS Environment


-----------------------------------
-- Storclas Record : SCMHLRES --
-----------------------------------

Last Updated: MHLRES6 Date: 1999/07/02


Time Updated: 18:32
Description: STORAGE CLASS FOR TEST OF NAVIQUEST

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

3.6.1.7 Storage Group information


The storage group report shows all information which can be seen using ISMF.
Refer to Figure 143 for the results in our sample job.

-----------------------------------
-- Storgrp Record : SGMHLRES --
-----------------------------------

Last Updated: MHLRES6 Date: 1999/07/02


Time Updated: 12:01
Description: STORAGE GROUP FOR RESIDENCY 99-ST-0322

Storage Group Type : POOL


Auto Backup : YES
Auto Migration : YES
Auto Dump : NO
Thresholds (High,Low) : (70,50)
Guaranteed Backup Freq. : 0
Interval Migration : No
VIO Max Size (KBYTES) : N/A
VIO Unit Type : N/A
Dump Classes (1,2) : N/A,N/A
Dump Classes (3,4) : N/A,N/A
Dump Classes (5) : N/A
Auto Backup System Name : N/A
Auto Dump System Name : N/A
Auto Migrate System Name: N/A
S.G. Status (System1) : ENABLE
S.G. Status (System2) : ENABLE
S.G. Status (System3) : ENABLE
S.G. Status (System4) : No access given
S.G. Status (System5) : No access given
S.G. Status (System6) : No access given
S.G. Status (System7) : No access given
S.G. Status (System8) : No access given

Figure 143. SMS storage group report from DCOLLECT data

SMS administration tasks 183


3.6.1.8 Storage group volume record information
The storage group volume record report shows some information which can be
seen using line command LISTVOL in the storage group list in on-line ISMF.
Refer to Figure 144 for the results in our sample job.

----------------------------------
-- SMS Volume : MHLV01 --
----------------------------------

VOLSER: MHLV01 STORGRP: SGMHLRE


Last Updated: MHLRES6 Date: 1999/07/02
Time Updated: 12:15

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:

Volume capacity (MB): 2707 FREE (MB): 2580


Largest Extent (MB): 2580
R1 track capacity: 56664

Misc Information

UCB address: 00F33070


Vol reset count: 0 Update level: 43
Volume in conversion? NO

Figure 144. SMS storage group volume record configuration report, DCOLLECT data

3.6.1.9 Data set report from ISMF-saved list


Data set reports may be customized according to your needs. You must specify
each column of the report you want to see. The columns are presented in the
same order as specified. There is no default for the shape of the report. If you
specify the parameter TOTALS, you will receive a summary of information
containing:
• Total allocated space of all data sets in the report
• Total number of entries
• Number of migrated data sets

Refer to Figure 145 for an example.

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.

184 Maintaining Your SMS Environment


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAR1 MHLRES6B) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
Table being printed is: MHLRES6B
Number 1 parameter was: TITLE
Number 2 parameter was: DSN
Number 3 parameter was: VOLSER
Number 4 parameter was: LASTREF
Number 5 parameter was: EXTNUM
Number 6 parameter was: ALLOCSP
Number 7 parameter was: ALLOCUSED
Number 8 parameter was: TOTALS
MHLRES6.MHLRES6J.JOB10438.D0000110.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/23 Page: 1

12:46 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


12:46 TSO - Command - - ACBQBAR1 MHLRES6B
12:46 ISMF - TOTAL - MHLRES6B, 5 DATA SETS: 3983 KILOBYTES; APPLICATION(ISP - DATA SET)
12:46 - COMPLETED
12:46 TSO - Command - - %ACBQUTR1
12:46 Edit - Save - MHLRES6.DATASET.REPORT - data set saved.
12:46 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------
1
DATASETNAME VOLSER LASTREF #EXT ALLOCSP ALLOCUS

-----------------------------------------------------------------------------------------------------------------------------------
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 *
************************************************************

#EXT - Number of extents the data set has.


ALLOCNU - Percent of used space for the dsn.
ALLOCSP - Amount of space allocated to dsn.
ALLOCUS - Amount of space used by to dsn.
ALLOCUT - Alloc. unit (CYL,TRK, BLK) of dsn.
BLOCKSIZE - Blocksize³cisize for the data set.
BLOCKNU - Number of unused blocks for the dsn.
CCSIDSC - CCSID Description.
CFMONST - CF monitor status.
CFSTATUS - CF status indicator.
CHNGIND - If yes, dsn changed since backup.
CMPFMT - Compression format?
CREATEDT - Creation date of data set.
CSETNAME - CF cache set name.
CSTRUCTNAME - CF cache structure name.
DATACLAS - Dataclas of data set, if any.
DATASETNAME - Data set name.
DDMATTR - DDM attributes.
DEVTYPE - Device type dsn resides on.
DSENVIR - Environment of dsn.
DSNTYPE - Data set name type.
DSORG - Data set organization
ENTRYTYPE - Data set entry type
EXPIREDT - Data set expiration date, if any.
LASTBKUP - Data of last backup (DFHSM only).
LASTREF - Last reference date of dsn.
LRECL - Logical record length of dsn.
MGMTCLAS - Management class of dsn, if any.
NUMSTRPS - Number of stripes the dsn has
MULTV? - Is the dsn multi-volume?
OPTBLKSE - Optimal blocksize for dataset.
OWNERID - Data set owner.
REBLOCK? - Is reblock ind. set for dsn?
RECFMT - Record format of data set.
SECALLOC - Secondary allocation for data set.
STORCLAS - Storage class of dsn, if any.
USRREDU - % user data reduction.
VOLSER - Volume serial of dsn.
************************************************************
*******************************************************
*** T O T A L S ***
*******************************************************

*** TOTAL ALLOCATED SPACE........3983 KILOBYTES


*** LIST ENTRIES TOTALED ........5
*** ENTRIES IN LIST..............5
*** LIST ENTRIES SKIPPED.........0
*** LIST ENTRIES MIGRATED........0

Figure 145. Data set report from ISMF-saved list

SMS administration tasks 185


3.6.1.10 Data set report from DCOLLECT data
Data set reports may be customized according to your needs. You must specify
each column of the report you want to see. The columns are presented in the
same order as specified. There is no default for the shape of the report. If you
specify the parameter TOTALS, you will receive a summary of information
containing:
• Total allocated space of all data sets in the report
• Total used space of all data sets in the report
• Percent of used space based on allocated space

Requesting too much information in the report will exceed the record length and
the generate will fail. See Figure 146 for an example.

186 Maintaining Your SMS Environment


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAR7) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
Number 1 parameter was: DSN
Number 2 parameter was: VOLSER
Number 3 parameter was: ALLOCSP
Number 4 parameter was: RECFM
Number 5 parameter was: BLKUNUSED
Number 6 parameter was: TITLE
Number 7 parameter was: TOTALS
Number 8 parameter was: BLKSIZE
Number 9 parameter was: EXTNUM
Number 10 parameter was: DSORG
Number 11 parameter was: STORCLAS
A command entered or contained in a CLIST has invalid syntax.
MHLRES6.MHLRES6C.JOB10439.D0000110.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/23 Page: 1

13:10 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


13:10 TSO - Command - - ACBQBAR7
13:10 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------
1
DATA SET REPORT FROM DCOLLECT DATA - 29/06/99

DATASETNAME VOLSER SIZEALLOC RECFMT BLOCKNU BLKSIZE #EXT DSORG STORCLAS

-----------------------------------------------------------------------------------------------------------------------------------
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 *
************************************************************

%USED - Percent of used space for the dsn.


#EXT - Number of extents the data set has.
BLKSIZE - Blocksize³cisize for the data set.
BLOCKNU - Number of unused blocks for the dsn.
CHGIND - If yes, dsn changed since backup.
CREATEDT - Creation date of data set.
DATACLAS - Dataclas of data set, if any.
DATASETNAME - Data set name.
DSORG - Data set organization
ENTRYTYPE - Data set entry type
EXPDATE - Data set expiration date, if any.
LASTBKUP - Data of last backup (DFHSM only).
LASTREF - Last reference date of dsn.
LRECL - Logical record length of dsn.
MGMTCLAS - Management class of dsn, if any.
MULTV? - Is the dsn multi-volume?
PDS/E? - Is the data set a PDS/E?
REBLOCK? - Is reblock ind. set for dsn?
RECFMT - Record format of data set.
SECALLOC - Secondary allocation for data set.
SIZEALLOC - Allocate size, (in KB) for data set.
SMS? - Is the data set SMS Managed?
STORCLAS - Storage class of dsn, if any.
STORGRP - Storage group of dsn, if any.
STRPCNT - Stripe Count.
VOLSEQ - Volume sequence number of dsn.
VOLSER - Volume serial of dsn.

Figure 146. Data set report from DCOLLECT data

SMS administration tasks 187


3.6.1.11 DASD volume report from ISMF-saved list
Volume reports may be customized according to your needs. You must specify
each column of the report you want to see. The columns are presented in the
same order as specified. There is no default for the shape of the report.

Refer to Figure 147 for an example.

In SYSTSPRT you will get the confirmation of the requested content of the report.
ISPLOG should contain no errors.

The following information is unique to the volume report based on an ISMF-saved


list:
• CACHEFW
• DASDFW
• DUPLEX
• OTHERDEV
• RDCACHE
• SUBSYSID
• TOTALS

Requesting too much information in the report will exceed the record length and
the generate will fail.

188 Maintaining Your SMS Environment


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQVAR1 CHKFRAG) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
Table being printed is: CHKFRAG
Number 1 parameter was: VOLSER
Number 2 parameter was: INDXSTAT
Number 3 parameter was: FRAG
Number 4 parameter was: USEATTR
Number 5 parameter was: SG
Number 6 parameter was: TITLE
MHLRES6.MHLRES6N.JOB07602.D0000110.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/06/30 Page: 1

17:07 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


17:07 TSO - Command - - ACBQVAR1 CHKFRAG
17:07 TSO - Command - - %ACBQUTR1
17:07 Edit - Save - HFS.MHLRES6.DASDVOL.REPORT - data set saved.
17:07 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------
1
STATUS OF VOLUMES WITH VERY HIGH FRAGMENTATION INDEX

VOLSER INDXST FRAGIND USEATTR STORGRP

-----------------------------------------------------------------------------------------------------------------------------------

SBOX02 ENABLED 884 STOR --------


1

************************************************************
* L E G E N D *
************************************************************

%FREE - Percent of free used space on volume.


#FREEEXTS - Number of free extents.
ALLOCSP - Amount of space allocated on vol.
CFWSTAT - Status of cache fast write for vol.
CFVOLST - CF volume status.
DEVNUM - Device number of volume.
DEVTYPE - Device type of volume.
DUPLEX - Duplex status of volume.
FRAGINDX - Fragmentation index of volume.
FREEDSCB - Number of free DSCBs on volume.
FREESPC - Amount of free space on volume.
FREEVIRS - Number of free VIRs in vtoc index.
FWCACHE - Status of dasd fast write for vol.
INDXST - Status of indexed vtoc on volume.
LRGEXT - Largest extent available on vol.
OTHRDEV - Address of duplex copy other device.
PHYSICAL - Physical status of volume.
RDCACHE - Status of read cache for vol.
SBSYSID - Subsys id. to which volume belongs.
SHRDASD - Is this volume genned as shared?
STORGRP - Storage group volume belongs to.
USEATTR - Storage use attribute of volume.
VOLSER - Volume serial of volume.
************************************************************

Figure 147. DASD volume report from ISMF-saved list

3.6.1.12 DASD volume report from DCOLLECT data


Volume reports may be customized according to your needs. You must specify
each column of the report you want to see. The columns are presented in the
same order as specified. There is no default for the shape of the report.

Refer to Figure 148 for an example.

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.

SMS administration tasks 189


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAR6) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
Number 1 parameter was: VOLSER
Number 2 parameter was: FRAG
Number 3 parameter was: DEVTYPE
Number 4 parameter was: TITLE
Number 5 parameter was: ADDRESS
Number 6 parameter was: INDEX
Number 7 parameter was: FREE%
Number 8 parameter was: FREEDSCB
Number 9 parameter was: STORGRP
MHLRES6.MHLRES6A.JOB07378.D0000110.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/06/29 Page: 1

13:55 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


13:55 TSO - Command - - ACBQBAR6
13:55 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------
1
DASD VOLUME REPORT FROM DCOLLECT FOR MVS2 SYSTEM 06/01/96

VOLSER FRAGINDX DEVTYPE DEVNUM INDXSTAT %FREE DSCBFREE STORGRP

-----------------------------------------------------------------------------------------------------------------------------------
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 *
************************************************************

%FREE - Percent of free used space on volume.


DEVCAP - Device capacity of volume.
DEVNUM - Device number of volume.
DEVSTAT - Device status of volume.
DEVTYPE - Device type of volume.
DSCBFREE - Number of free DSCBs on volume.
FRAGINDX - Fragmentation index of volume.
FREEKB - Amount of free space, in KB.
FREEXTS - Number of free extents.
INDXSTAT - Status of indexed vtoc on volume.
LRGEXT - Largest extent available on vol.
SHRDASD - Is this volume genned as shared?
SPACALL - Amount of space allocated on vol.
STORGRP - Storage group volume belongs to.
USEATTR - Storage use attribute of volume.
VIRFREE - Number of free VIRs in vtoc index.
VOLSER - Volume serial of volume.
************************************************************

Figure 148. DASD volume report from DCOLLECT data

3.6.1.13 Tape volume reports from ISMF-saved list


Tape volume reports may be customized according to your needs. You must
specify each column of the report you want to see. The columns are presented in
the same order as specified. There is no default for the shape of the report.

Refer to Figure 149 for an example.

In SYSTSPRT you will get the confirmation of the requested content of the report.
The ISPLOG should contain no errors.

190 Maintaining Your SMS Environment


1READY
PROFILE PREFIX(MHLRES6)
READY
ISPSTART CMD(ACBQBAR4 THS2TAPE) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
Table being printed is: THS2TAPE
Number 1 parameter was: VOLSER
Number 2 parameter was: LASTMOUNT
Number 3 parameter was: LASTEJECT
Number 4 parameter was: USEATTR
Number 5 parameter was: STORGRP
Number 6 parameter was: LIBNAME
Number 7 parameter was: TITLE
MHLRES6.MHLRES6A.JOB10443.D0000110.? was preallocated (no free was done).
READY
END
1 Time *** ISPF transaction log *** Userid: MHLRES6 Date: 99/07/23 Page: 1

13:54 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


13:54 TSO - Command - - ACBQBAR4 THS2TAPE
13:54 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------
1
STATUS OF TAPES AS ON 07/23/99

VOLSER LASTMOUNT LASTEJECT USEATTR STORGRP LIBNAME

-----------------------------------------------------------------------------------------------------------------------------------
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 *
************************************************************

CKPT - Check Point Volume


COMPTYPE - Compaction Type.
CRDTDTVOL - Volume Create Date.
EXPDTVOL - Volume Expire Date.
LASTEJECT - Last Entry/Eject Date.
LASTMOUNT - Last Mount Date.
LASTWRITE - Last Written Date.
LIBNAME - Library Name.
MEDIA - Media Type.
OWNERINFO - Owner Information.
RECTECH - Recording Technology.
SHELF - Shelf Location.
SPCLATTR - Special Attributes.
STORGRP - Storage Group Name.
USEATTR - Use Attribute.
VOLERROR - Volume Error Status.
VOLLOC - Volume Location.
VOLSER - Volume Serial.
WRTPROT - Write Protect
************************************************************

Figure 149. Tape volume report from ISMF-saved list

SMS administration tasks 191


3.6.2 On-line command generation
Using ISMF 11.6, you can request to generate commands online or in batch.
Support based on ISMF-saved lists and DCOLLECT data is available. Input
information for the process is the same as described in 3.6.2.1, “Generating
model commands from DCOLLECT data” on page 192 and 3.6.2.2, “Generating
model commands from ISMF-saved list” on page 193.

3.6.2.1 Generating model commands from DCOLLECT data


The ability to generate the same command for many data sets is an excellent
option of NaviQuest’s REXX exec ACBQBAM2. For an example, refer to
Figure 150.

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

13:23 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


13:23 TSO - Command - - %ACBQBAM2 HRECOVER /
13:23 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 150. Generating model commands from DCOLLECT data in batch

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.

192 Maintaining Your SMS Environment


When using DCOLLECT records, note that the generated command always
contains the truename of the data set. It may be that VSAM data sets and GDS
are contained in the list of commands in a form you do not expect. In some cases
you might prefer to choose the other generation process using ISMF-saved data
set lists (refer to 3.6.2.2, “Generating model commands from ISMF-saved list” on
page 193).

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

Figure 151. Generating model commands from DCOLLECT data in batch

3.6.2.2 Generating model commands from ISMF-saved list


The ability to generate the same command for many data sets is an excellent
option of NaviQuest’s REXX exec ACBQBAM1. For an example, refer to
Figure 152.

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

17:08 Start of ISPF Log - - - - Session # 1 -------------------------------------------------------


17:08 TSO - Command - - %ACBQBAM1 MHLRES6F HRECOVER /
17:08 End of ISPF Log - - - - - Session # 1 -------------------------------------------------------

Figure 152. Generating model commands, ISMF-saved list (SYSTSPRT and ISPLOG)

SMS administration tasks 193


SYSTSPRT, which is shown in Figure 152, contains a line for each generated
command indicating which row of the input table was used and where the
command was written to.

ISPLOG should be without error messages, as in our example.

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

Remember the different situation for command generation based on DCOLLECT


data discussed in 3.6.2.1, “Generating model commands from DCOLLECT data”
on page 192. If you will tailor the data set list in advance, you will be able to
generate commands at the cluster level, which is impossible using DCOLLECT
data.

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.

Currently there is no support for saved tape volume lists.

********************************* Top of Data **********************************


HRECOVER MHLRES6
HRECOVER MHLRES6.ACBTEMP
HRECOVER MHLRES6.BASE.TESTLIST
HRECOVER MHLRES6.MVOL.VSAM
HRECOVER MHLRES6.MVOL.VSAM.DATA
HRECOVER MHLRES6.MVOL.VSAM.INDEX
HRECOVER MHLRES6.TEST.EXCP2
HRECOVER MHLRES6.TEST.EXCP3
HRECOVER MHLRES6.TEST.GDG
HRECOVER MHLRES6.TEST.GDG.G0001V00
HRECOVER MHLRES6.TEST.ISPTABL
HRECOVER MHLRES6.TEST.PDS.ISPTABL
HRECOVER MHLRES6.TEST.TESTCASE
HRECOVER MHLRES6.TESTCASE.BULK
HRECOVER MHLRES6.TESTCASE.LIBRARY
HRECOVER MHLRES6.VALIDAT.LISTING
HRECOVER MHLRES6.VOLUME.REP
******************************** Bottom of Data ********************************

Figure 153. Generating model commands, ISMF-saved list (command output data set)

3.6.3 On-line reports


With ISMF option 11.5 you have the opportunity to generate reports in foreground
processing. Refer to Figure 154 for the available options.

194 Maintaining Your SMS Environment


Figure 154. SMS report generation selection menu in ISMF

3.6.3.1 Data set report from ISMF-saved list


All reports from ISMF-saved lists must have access to the saved list. Using report
generation in the foreground, the table must be somewhere in the concatenation
of DD-card ISPTLIB.

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.

SMS administration tasks 195


Figure 155. On-line initiated data set report from ISMF-saved list (1 of 3)

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)

196 Maintaining Your SMS Environment


Figure 157. On-line initiated data set report from ISMF-saved list (3 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).

3.6.3.2 DASD volume report from ISMF-saved list


All reports from ISMF-saved lists must have access to the saved list. The table
must be in the concatenation of DD-card ISPTLIB.

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.

SMS administration tasks 197


Figure 158. On-line initiated DASD volume report from ISMF-saved list (1 of 2)

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)

198 Maintaining Your SMS Environment


3.6.3.3 Tape volume report from ISMF-saved list
All reports from ISMF-saved lists must have access to the saved list. In
foreground, the table must be somewhere in the concatenation of DD-card
ISPTLIB.

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).

3.6.3.4 Data set report from DCOLLECT data


After having selected option 4 from ISMF option 11.5 (refer to Figure 154 on page
195), you will see the panel shown in Figure 161. After having specified the name
of the data set containing the DCOLLECT data 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 for the requested information.

SMS administration tasks 199


Figure 161. On-line initiated data set report from DCOLLECT data (1 of 2)

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).

200 Maintaining Your SMS Environment


3.6.3.5 DASD volume report from DCOLLECT data
After having selected option 5 from ISMF option 11.5 (refer to Figure 154 on page
195), you will see the panel shown in Figure 163. After having specified the name
of the data set containing the DCOLLECT data and the name of the dynamically
allocated data set to hold the generated report, you must tailor the format of the
report by selecting the desired information.

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).

SMS administration tasks 201


Figure 164. On-line initiated DASD volume report from DCOLLECT data (2 of 2)

3.6.3.6 DFSMS configuration report from DCOLLECT data


After having selected option 6 from ISMF option 11.5 (refer to Figure 154 on page
195), you will see the panel shown in Figure 165. After having specified the name
of the data set containing the DCOLLECT data and the name of the dynamically
allocated data set to hold the generated report, you must tailor the format of the
report by selecting the desired information.

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).

202 Maintaining Your SMS Environment


Chapter 4. NaviQuest usage hints and tips
This chapter will contain real life hints and tips to apply to your storage
environment. We assume that standard parameter settings have been taken care
of, but there are some details that may be unique to the NaviQuest environment,
especially if you are a new user. These items are described in the following
sections.

4.1 SMS base record


The SMS base configuration must have a valid unit defined for temporary data
sets, or else you will at least have to change the TEMPFILE DD statement in
certain generated jobs. As supplied, this statement has no UNIT specified, and so
it depends on SMS supplying a functional specification. If the SMS base
configuration does not have a valid UNIT specification, a batch job will fail, thus
confusing the user. The message will be similar to that shown in Figure 166.

IEF210I MHLRES7A STEP1 STEP1 TEMPFILE - UNIT FIELD SPECIFIES INCORRECT


DEVICE NAME

Figure 166. Example, error message if SMS base configuration has no UNIT specified

4.2 CLIST and REXX EXEC management


There are CLISTS, REXX EXECs and JCL procedures in the NaviQuest
materials. Some installations may elect to take copies of the CLISTs and REXX
EXECs between Fixed Block (FB) and Variable Block (VB) data sets, or copies of
FB to FB or VB to VB.

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.

Various symptoms can arise if information is dropped, or sequence numbers are


introduced, examples of which are:
• Unexpected execution messages quoting numbers that are apparently not in
the CLIST. Display screens typically display only columns 1 to 71. A scroll to
the right should reveal whether real sequence numbers are present if you are
using ISPF edit. If you are using ISPF View or Browse, the information in
columns 72-80 should be visible.
• Unexpected execution messages implying missing operands.

© Copyright IBM Corp. 2000 203


4.3 Batch job completion information
Many of the generated jobs will end with a return code of 0, whatever the actual
result. These generated jobs do not contain any conditional execution logic, so
while the return code is always zero, this does not affect the jobs.

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.

4.3.1 Batch job program requirement


In order to reflect the return code into the job, the Terminal Monitor Program
(TMP) must be IKJEFT1B rather than the general IKJEFT01. IKJEFT01 is
intended to be used in a TSO and TSO/ISPF environment where the errors are
return codes handled by CLIST functions, or by the user seeing the situation. In
the batch environment communication back to the user has to be shown
externally in the job step completion code. The change in program name to
IKJEFT1B is recommended in the sample jobs.

4.3.2 User modifications


There are generally two types of situation that can give rise to errors:
1. Parsing errors
2. Execution errors
• You can modify the CLISTS to cause a return code to be passed back to
the executing job.

4.3.2.1 Parsing error detection


The parsing CLISTs are in SYS1.DGTCLIB. Do not modify this data set directly.
You can make a copy, giving it a new name, and specify that new name in the
generated jobs by using the CLIST1 parameter.

When a condition is detected in the CLIST code, an error return code is


generated, and this is normally passed to the ISPF routines. You can add code to
these error blocks that will externalize a completion code.

The code that can be added is shown in Figure 167.

ZISPFRC = 20
address ispexec "VPUT (ZISPFRC) SHARED"
exit zispfrc

Figure 167. Code to externalize return code

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.

204 Maintaining Your SMS Environment


.

Figure 168. Modified code fragment from CLIST ACBQBAJ1

4.3.2.2 Execution error detection


Most of the NaviQuest functions are implemented in a process of two or more
stages. We have covered an example of setting the return code for parsing errors
in 4.3.2.1, “Parsing error detection” on page 204. When there is a two-stage
process, it is necessary to ensure that the second stage also sets return codes.

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.

NaviQuest usage hints and tips 205


* "ISPEXEC SELECT CMD("EXECNME" "PARM") NEWAPPL(DGT) PASSLIB"
XRC = RC
IF XRC ¬= 0 THEN
DO
EXIT XRC
END

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.

"ISPEXEC SELECT CMD("EXECNME" "PARM") NEWAPPL(DGT) PASSLIB"


XRC = RC
IF XRC ¬= 0 THEN
DO
ZISPFRC = XRC
address ispexec "VPUT (ZISPFRC) SHARED"
EXIT XRC
END

Figure 170. Typical appearance of part of a CLIST adjusted to set ISPF return code

4.4 Batch execution situations


The batch implementation of ISPF functions requires anticipation of the panel
entries that a successful operation may require. The ISPF panel validation
routines will generally be set up with prompts for required information, as well as
checking for valid content where that is possible.

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.

4.4.1 ISPF screen input error — code = 22


This message is issued in an online environment when the panel interpretation
routines cannot understand what has been entered. ISPF assumes that
something must have happened to the terminal, and asks the user to enter the
data again.

In the batch environment, the same assumption is made, but the prompt cannot
be satisfied.

206 Maintaining Your SMS Environment


Error messages are placed in the ISPF log, which indicate what the problem is,
but a large number of repetitions may occur, thus leading to a job abend.

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.

4.4.2 ISMF or NaviQuest batch job abend S322


If an ISMF or NaviQuest batch job abends with code S322, it means that the job
has run out of CPU time as specified on the JOB or EXEC statement. This may
be because the time specified was too short for the work requested, but a
common cause of this code is a LOOP in the ISPF interpretation phase. Refer to
4.4.1, “ISPF screen input error — code = 22” on page 206 for more information.

4.4.3 ISMF or NaviQuest batch job abend S722


If an ISMF or NaviQuest batch job abends with code S722, it means that the job
has exceeded the SYSOUT line count specified for the job. This may be because
the limit was too small for the work requested, but a common cause of this code is
a LOOP in the ISPF interpretation phase. Refer to 4.4.1, “ISPF screen input error
— code = 22” on page 206 for more information.

4.5 On-line DCOLLECT test case generation process


When running the on-line DCOLLECT test case generation process, there may
be problems if the DCOLLECT data contains more than just D records.

If these messages appear:


323 +++ size = c2d(substr(record,89,4))
Error running ACBQADG4, line 323: Incorrect call to routine.

This may be because the process is picking up DC records, for example.

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).

4.6 Recommended maintenance


The following maintenance makes a difference in successful use of the NaviQuest
functions, and we recommend that you have it installed.

4.6.1 OW36241 — ISPF


ISPF ISPSTART COMMAND with null keyword parameters causes abends in
TSO via a REXX EXEC.

NaviQuest usage hints and tips 207


4.6.2 OW36498 — ISMF
The external documentation of OW36498 indicates that it is a fix to a problem of
generating a date in a non-Y2K format.

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.

4.6.3 OW38094 — NaviQuest ACS validate batch job no volumes match


When a job is set up to generate a volume list in batch, and no data meets the
selection criteria, the job will loop, issuing the message ISPF SCREEN INPUT
ERROR - CODE = 22. The job will most likely abend S322, or S722.

PTF for DFSMS 1.4 UW58128

PTF for DFSMS 1.5 UW58129

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.

4.6.4 OW39260 — ISMF ISPSTART CMD syntax


Corrects a parsing problem that can arise if modifications are made to the
standard NaviQuest sample jobs. Specifically, several of the scripts have a
command of the form ISPSTART CMD(command). If there is more than one blank
between ISPSTART and CMD, nothing happens, and a return code of 0 is set.

PTF for DFSMS 1.4 UW60410

PTF for DFSMS 1.5 UW60412

4.6.5 OW39762 — NaviQuest generate volume list — empty list


If NaviQuest is used to generate a volume list, and for some reason the list is
empty, the following message may be issued:
***** ISMF ERROR ***** - APPLICATION(DGT1 - DATA SET); FUNCTION(
- RETURN CODE(0012); REASON CODE(0642)

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.

PTF for DFSMS 1.4 UW61403

PTF for DFSMS 1.5 UW61404

4.6.6 OW39926 — ISMF CLIST return codes


Corrects various situations where a problem occurs, but no return code is set.

208 Maintaining Your SMS Environment


4.6.7 OW37705 — OS/390 contents management possible S806 abends
Indicates OS/390 contents management problem. Can affect the implementation
of security controls.

4.6.8 OW36343 — VTS Library Import/Export Support


This enhancement affects some of the panel formats which have been extended
to allow for the additional testing requirements.

4.6.9 OW40515 — Clist ACBQADG4


If the DCOLLECT online process is run against a DCOLLECT data set that
contains more than just type D records, the following message may occur:
323 +++ size = c2d(substr(record,89,4))
Error running ACBQADG4, line 323: Incorrect call to routine.

4.6.10 OW40515 — Clist ACBQBAG1


If the DCOLLECT batch process is run against a DCOLLECT data set that
contains more than just type D records, the following message may occur:
299 +++ size = c2d(substr(record,89,4))
Error running ACBQBAG1, line 299: Incorrect call to routine.

4.7 Checking job success in special cases


There are situations where the request that was made results in a valid empty
table, which is therefore not stored. Even with modifications made to the batch job
step completion codes (see 4.3, “Batch job completion information” on page 204),
the return code may be set to 0. For example, a request to create a saved table of
all data sets that meet certain criteria, may result in no matches. The table that
was to be created with the matches is therefore not created.

Access to that table later may then result in error conditions.

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.

4.8 Sample JCL modifications


In general, the IBM supplied data sets should not be modified other than by using
the formal processes identified. Sometimes it is necessary to make changes to
save additional work, or while a formal fix is registered and obtained.

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.

NaviQuest usage hints and tips 209


4.8.1 DCOLLECT sample job JCL modification
The DCOLLECT sample job in SYS1.SACBCNTL(ACBJBA07) may have LRECL
set to a value that is insufficient for all DCOLLECT options. If the LRECL shows
up as 264, it will need to be increased. Any value up to the maximum for a
variable length blocked data set is valid, but we suggest a value of 2000.

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.

Modify the LRECL=264 statement to show LRECL=2000, and on the following


line, change the AVGREC=K statement to show AVGREC=M to ensure that the
data set is allocated with appropriate structure and size.

210 Maintaining Your SMS Environment


Appendix A. Code and output samples
This appendix documents additional resources and information that may be
helpful when using the book.

A.1 Data sets referenced in this book


The following data sets are referenced in the book (see Table 37).They can be
downloaded from the ITSO Web site at www.redbooks.ibm.com by clicking on
Additional Materials on the home page, and then clicking on this redbook number,
SG24-5484.
Table 37. Data sets available for reference

Data set reference Available as 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

MHLRES7.NAVIQ.SCDS MHLRES7.NAVIQ.SCDS.DATA (VSAM)

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

© Copyright IBM Corp. 2000 211


A.2 ISMF return and reason code information
As an aid to understanding unexpected situations, information has been extracted
from the ISMF diagnosis manual. Refer to the manual for full information. This
section is not a replacement for the manual DFSMSdfp Diagnosis Reference,
LY27-9606, from which these tables are extracts.

A.2.1 ISMF return codes


The return codes documented in Table 38 are the standard ones. Some functions
may use different conventions at times.
Table 38. ISMF standard return codes

Return Code Description

0 (X'00') Successful.

4 (X'04') Function performed with minor error

8 (X'08') Function not performed; no termination.

12 (X'0C') Function not performed; terminating error.

16 (X'10') Function not performed; terminating error.

20 (X'14') Function not performed; terminating error.

A.2.2 ISMF reason codes subset list


The reason codes documented in Table 39 are taken from the full list available in
DFSMSdfp Diagnosis Reference, LY27-9606.

If a user of the batch interface to ISPF/ISMF makes an error in operand content or


formatting, that has to be reported in the batch job. When the same condition
occurs with the online panels, the ISMF panels do the validation immediately, so
the user never sees the return codes or reason codes.

The selection is representative, based on the occurrence of some of the


conditions while using, or of an assessment that some of the conditions might
arise. You may find it useful to add to this list any codes that occur in your
environment.
Table 39. ISMF reason codes subset list

Reason Code Description

0 (X'00') Successful.

0006 Error(s) occurred during previous processing. Check the previous log entries for detailed error
information.

0007 List source is invalid. It should be either VTOC or CATALOG.

0010 Selection criteria is invalid and will produce an empty list.

0011 Filter criteria is invalid and will produce an empty list.

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.

212 Maintaining Your SMS Environment


Reason Code Description

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.

0139 Incorrect number of parameters was specified.

0140 Member name specified is too long.

0204 Record format is not F or FB.

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.

0363 The user is not a storage administrator.

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.

Code and output samples 213


Reason Code Description

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.

1026 Volume serial number verification: An invalid character was found.

1027 Volume serial number verification: Too many asterisks were found. Only one asterisk may be
specified in a partial specification.

1034 Percentage of user data reduction cannot be calculated.

1050 Data set is not partitioned.

1051 Data set does not have SAM/PAM DSORG.

1056 Data set's allocated used space is 0.

1057 Data set is migrated.

1062 Output data set for background job is neither physical sequential nor a member of a PDS.

1072 Data set is a user catalog.

1088 Duplicate data set name found in data set list.

1097 Volser is null or in error.

1211 Volume capacity cannot be calculated because needed data was not acquired

1258 Storage group name longer than the 8-byte maximum.

1269 Variable data set record format specified, must be fixed format.

3028 Invalid data set name.

3094 Member name specified, but no data set name specified.

3095 Allocation unit specified, but no primary or secondary amount specified.

3096 Primary space specified, but no allocation unit specified.

3097 Secondary space specified, but no allocation unit specified.

3098 Invalid value for DSORG.

3099 LRECL greater than 32760.

3100 Invalid value for RECFM.

3101 BLKSIZE greater than 32760.

3102 SVC99--unavailable resource.

3103 SVC99--data set not found.

214 Maintaining Your SMS Environment


Reason Code Description

3184 Volume defined to another storage group.

3234 Data set not found.

3235 Caller is not authorized to access the data set.

3236 Read access requested and data set is empty.

3239 ACS routine not translated because of user errors; listing contains error messages.

3240 The CDS failed SMS full validation.

3268 CDS not formatted.

3274 The data set is not an SCDS.

3278 The data set is not a CDS.

3313 Data set is in use.

3316 SMS is not operational.

3318 SMS is not active; there is no active configuration.

3320 Maximum number of valid commands allowed on panel (20) exceeded.

3330 Data set is not a partitioned data set--listing writer.

3331 No member was specified for a partitioned data set--listing writer.

3336 Type of data set is invalid--listing writer.

3343 Invalid title specified--listing writer.

3354 LRECL for listing data set is invalid.

3355 Invalid use of member name with a sequential data set.

3356 No member specified for a partitioned data set.

3357 Nonexistent member specified for a partitioned data set.

3361 Cannot change active configuration.

3362 Caller is not authorized to invoke this function.

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.

3368 Out of space for the data set.

6000 Unsupported DFSMS/dfp version number found.

6001 Unable to locate associations or volume serial numbers for VSAM cluster.

Code and output samples 215


A.3 Modification to generate an additional line in test cases
Batch generation is managed by REXX exec ACBQBAG1.

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

The results are shown in Figure 172.

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.

A corresponding modification could be made to ACBQADG4, which does the


equivalent function online.

216 Maintaining Your SMS Environment


IF bitand(infoflg1,bit4) ¬= hex0
THEN DO
lineb = 'DSNTYPE: LIBRARY'
PUSH lineb
"execio 1 diskw outdd"
END

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

Code and output samples 217


Of course, you should not modify the original member. Provide a copy in your own
data set and concatenate that library using a customized procedure ACBJBAOB
(see Figure 173).

//ACBJBAOB PROC CLIST1='SYS1.DGTCLIB',


// PLIB1='SYS1.DGTPLIB',
// LOAD1='SYS1.DGTLLIB',
// MLIB1='SYS1.DGTMLIB',
// TABL2='userid.TEST.ISPTABL'
//STEP1 EXEC PGM=IKJEFT1B,DYNAMNBR=50,REGION=(6144K),TIME=(300)
//STEPLIB DD DSN=&LOAD1,DISP=SHR
//ISPPLIB DD DSN=&PLIB1,DISP=SHR,BLKSIZE=0
// DD DSN=ISP.SISPPENU,DISP=SHR /* ISPF PANELS */
//ISPMLIB DD DSN=&MLIB1,DISP=SHR,BLKSIZE=0
// DD DSN=ISP.SISPMENU,DISP=SHR /* ISPF MESSAGES */
//ISPSLIB DD DSN=ISP.SISPSENU,DISP=SHR, /* ISPF SKELETONS */
// BLKSIZE=0
// DD DSN=SYS1.DGTSLIB,DISP=SHR /* ISMF SKELETONS */
//ISPTLIB DD DSN=&&TEMP,DISP=NEW,UNIT=SYSDA,BLKSIZE=0,
// SPACE=(TRK,(1,1,1)),DCB=(ISP.SISPTENU)
// DD DSN=&TABL2,DISP=SHR
// DD DSN=ISP.SISPTENU,DISP=SHR /* ISPF TABLES */
// DD DSN=SYS1.DGTTLIB,DISP=SHR /* ISMF TABLES */
//SYSPROC DD DSN=&CLIST1,DISP=SHR,BLKSIZE=0
// DD DSN=ISP.SISPCLIB,DISP=SHR /* ISPF CLISTS */
// DD DSN=SYS1.DGTCLIB,DISP=SHR /* ISMF CLISTS */
//ISPTABL DD DSN=&TABL2,DISP=SHR,BLKSIZE=0
//SYSPRINT DD SYSOUT=(,)
//SYSUDUMP DD SYSOUT=*
//SYSTSPRT DD SYSOUT=(,),OUTLIM=20000
//ISPLOG DD SYSOUT=(,),DCB=(LRECL=125,BLKSIZE=129,RECFM=VA)
//ISPPROF DD DSN=&&PROF,DISP=(NEW,DELETE,DELETE),
// DCB=(ISP.SISPTENU),SPACE=(TRK,(1,1,1)),UNIT=SYSDA
// PEND

Figure 173. Example of a customized ACBJBAOB procedure

Figure 174 shows an example of a job using the customized procedure


ACBJBAOB through JCLLIB.

Using variable CLIST1, your library MHLRES6.CMD.CLIST, containing the


modified ACBQBAG1, will be concatenated first order with the other libraries in
file SYSPROC.

000001 //MHLRES6B JOB (ACCT),'MHLRES6',MSGCLASS=X,


000002 // NOTIFY=MHLRES6,CLASS=A,MSGLEVEL=(1,1)
000003 //MYLIB JCLLIB ORDER=MHLRES6.NAVI.CNTL
000004 //GENTEST EXEC ACBJBAOB,PLIB1=SYS1.DGTPLIB,TABL2=MHLRES6.TEST.ISPTABL,
000005 // CLIST1=MHLRES6.CMD.CLIST
000006 //SYSTSIN DD *
000007 PROFILE PREFIX(MHLRES6)
000008 ISPSTART CMD(%ACBQBAG1 'MHLRES6.DCOLLECT.SGMHLRES.DATA' 99999 MOD +
000009 'MHLRES6.TESTCASE.LIBRARY' Y) +
000010 BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)
000011 /*

Figure 174. Example of a job to use your own modifications of ACB-execs

218 Maintaining Your SMS Environment


Appendix B. Special notices
This publication is intended to help storage administrators modify, test, and
maintain their SMS environment using tools provided by DFSMS/MVS. The
information in this publication is not intended as the specification of any
programming interfaces that are provided by DFSMS/MVS and OS/390. See
the PUBLICATIONS section of the IBM Programming Announcement for
DFSMS/MVS Version 1 Release 5 for more information about what publications
are considered to be product documentation.

References in this publication to IBM products, programs or services do not imply


that IBM intends to make these available in all countries in which IBM operates.
Any reference to an IBM product, program, or service is not intended to state or
imply that only IBM's product, program, or service may be used. Any functionally
equivalent program that does not infringe any of IBM's intellectual property rights
may be used instead of the IBM product, program or service.

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.

Such information may be available, subject to appropriate terms and conditions,


including in some cases, payment of a fee.

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

© Copyright IBM Corp. 2000 219


to the implementation of the PTF when it becomes available to each customer
according to the normal IBM PTF distribution process.

The following terms are trademarks of the International Business Machines


Corporation in the United States and/or other countries:
ACF/VTAM AIX
AS/400 AT
DB2 DFSMS/MVS
DFSMSdfp DFSMSdss
DFSMShsm DFSMSrmm
DFSORT IBM
Magstar MVS/DFP
Netfinity OS/390
RACF RS/6000
S/390 SP
System/390 XT
VTAM 400

The following terms are trademarks of other companies:

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.

PC Direct is a trademark of Ziff Communications Company in the United States


and/or other countries and is used by IBM Corporation under license.

ActionMedia, LANDesk, MMX, Pentium and ProShare are trademarks of Intel


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.

220 Maintaining Your SMS Environment


Appendix C. Related publications
The publications listed in this section are considered particularly suitable for a
more detailed discussion of the topics covered in this redbook.

C.1 IBM Redbooks publications


For information on ordering these ITSO publications see “How to get IBM
Redbooks” on page 223.
• DFSMS FIT: Fast Implementation Techniques Installation Examples,
SG24-2569
• DFSMS FIT: Fast Implementation Techniques , SG24-2568
• DFSMS FIT: Fast Implementation Techniques Process Guide, SG24-4478
• NaviQuest Demonstration and Hands-On Usage Guide, SG24-4720

C.2 IBM Redbooks collections


Redbooks are also available on the following CD-ROMs. Click the CD-ROMs
button at http://www.redbooks.ibm.com/ for information about all the CD-ROMs
offered, updates and formats.
CD-ROM Title Collection Kit
Number
System/390 Redbooks Collection SK2T-2177
Networking and Systems Management Redbooks Collection SK2T-6022
Transaction Processing and Data Management Redbooks Collection SK2T-8038
Lotus Redbooks Collection SK2T-8039
Tivoli Redbooks Collection SK2T-8044
AS/400 Redbooks Collection SK2T-2849
Netfinity Hardware and Software Redbooks Collection SK2T-8046
RS/6000 Redbooks Collection (BkMgr Format) SK2T-8040
RS/6000 Redbooks Collection (PDF Format) SK2T-8043
Application Development Redbooks Collection SK2T-8037
IBM Enterprise Storage and Systems Management Solutions SK3T-3694

C.3 Other resources


These publications are also relevant as further information sources:
• Implementing System-Managed Storage,SC26-3123
• Access Method Services for the Integrated Catalog Facility, SC26-4906
• OS/390 MVS System Commands, GC28-1781
• NaviQuest User’s Guide, SC26-7194
• Using the Interactive Storage Management Facility, SC26-4911
• Using the Volume Mount Analyzer, SC26-4925
• Object Access Method Planning, Installation, and Storage Administration
Guide for Tape Libraries, SC26-3051
• OS/390 TSO/E User’s Guide, SC28-1968

© Copyright IBM Corp. 2000 221


222 Maintaining Your SMS Environment
How to get IBM Redbooks
This section explains how both customers and IBM employees can find out about IBM Redbooks, redpieces, and
CD-ROMs. A form for ordering books and CD-ROMs by fax or e-mail is also provided.
• Redbooks Web Site http://www.redbooks.ibm.com/
Search for, view, download, or order hardcopy/CD-ROM Redbooks from the Redbooks Web site. Also read
redpieces and download additional materials (code samples or diskette/CD-ROM images) from this Redbooks
site.
Redpieces are Redbooks in progress; not all Redbooks become redpieces and sometimes just a few chapters will
be published this way. The intent is to get the information out much quicker than the formal publishing process
allows.
• E-mail Orders
Send orders by e-mail including information from the Redbooks fax order form to:
e-mail address
In United States usib6fpl@ibmmail.com
Outside North America Contact information is in the “How to Order” section at this site:
http://www.elink.ibmlink.ibm.com/pbl/pbl/
• Telephone Orders
United States (toll free) 1-800-879-2755
Canada (toll free) 1-800-IBM-4YOU
Outside North America Country coordinator phone number is in the “How to Order” section at
this site:
http://www.elink.ibmlink.ibm.com/pbl/pbl/
• Fax Orders
United States (toll free) 1-800-445-9269
Canada 1-403-267-4455
Outside North America Fax phone number is in the “How to Order” section at this site:
http://www.elink.ibmlink.ibm.com/pbl/pbl/

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.

IBM Intranet for Employees


IBM employees may register for information on workshops, residencies, and Redbooks by accessing the IBM
Intranet Web site at http://w3.itso.ibm.com/ and clicking the ITSO Mailing List button. Look in the Materials
repository for workshops, presentations, papers, and Web pages developed and written by the ITSO technical
professionals; click the Additional Materials button. Employees may access MyNews at http://w3.ibm.com/ for
redbook, residency, and workshop announcements.

© Copyright IBM Corp. 2000 223


IBM Redbook fax order form
Please send me the following:
Title Order Number Quantity

First name Last name

Company

Address

City Postal code Country

Telephone number Telefax number VAT number

Invoice to customer number

Credit card number

Credit card expiration date Card issued to Signature

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.

224 Maintaining Your SMS Environment


Index
DASD volume report 197, 201
A Data 29
abend S322 207 data class 3, 80
abend S722 207 policy definition 85
ACBJBAOB procedure 24 record contents 80
ACBQBAA1 REXX exec 162 roster report format 83
ACBQBAG1 REXX exec 216 standard report format 83
ACBQBAI2 REXX exec 175 data class report 181
ACBQBAI9 REXX exec 166 data classification 14
ACBQBAJ1 CLIST 204, 205 data collection 29
ACBQBAJ2 REXX exec 164 data set list 42
ACBQBAJ3 REXX exec 173 generate in batch 175
ACBQBAJ4 CLIST 205 data set report 177
ACBQBAJ8 REXX exec 170 data set truename 193
ACBQBAJA REXX exec 171 data subtype 14
ACBQBAJB REXX exec 174 data type 14
ACBQBAM1 REXX exec 193 DCOLLECT 12, 62
ACBQBAS1 REXX exec 159 ACBJBA07 67
ACDS 6 batch JCL 115
ACS routines 5 batch process 102
accounting information 179 command operands 72
data class 80 configuration report 202
FILTLIST construct 125 D records 216
FILTLIST conversion 126 DASD volume report 189
FILTLIST data 131 data collection 106
management class 86 data set list 109
storage class 89 data set list creation 104
test case generation 98 data set name list 112
testing 97 data set report 98, 186, 199
translation 143 extract data 65
variables 31, 99 generating model commands 192
ACS test listing 142 record errors 207
aggregate group 4, 70 record types 178
management 162 report 71, 77
alter base configuration 160 test case generation 117
alter data class 156 test cases 101, 103
conflicting parameter settings 157 define base configuration 160
alter management class 154 conflicting parameters 161
alter storage class 159 define data class 156
automatic test case creation 135 conflicting parameter settings 157
define management class 154
define storage class 159
B DFSMS environment 2
base configuration report 180 administration tasks 125
base line test set 14 aggregate group 4
batch test cases 40 data class 3
management class 4
storage class 4
C storage group 4
COMMDS 7
DFSMS FIT 135
compare listing 139
DFSMS Optimizer 2
COPYFILT facility 125
HSM Monitor/Tuner 2
ACS routine conversion 126
DFSMSdfp 2
FILTLIST propagation 127
OAM 3
preparation 125
DFSMSdss 2
DFSMShsm 2
D ABARS 2
DASD volume list 194 DFSMSrmm 2

© Copyright IBM Corp. 2000 225


display base configuration 160 record contents 87
display data class 156 management class administration 152
display management class 155 management class report 182
display storage class 159 manual create of test cases 133
DUMMY type storage group 171 manually 134
management 172

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

Which of the following best describes you?


_ Customer _ Business Partner _ Solution Developer _ IBM employee
_ None of the above

Please rate your overall satisfaction with this book using the scale:
(1 = very good, 2 = good, 3 = average, 4 = poor, 5 = very poor)

Overall Satisfaction __________

Please answer the following questions:

Was this Redbook published in time for your needs? Yes___ No___

If no, please explain:

What other redbooks would you like to see published?

Comments/Suggestions: (THANK YOU FOR YOUR FEEDBACK!)

© Copyright IBM Corp. 2000 229


Maintaining Your SMS Environment SG24-5484-00
Printed in the U.S.A.

®
SG24-5484-00

You might also like