z/os v1r6.0 dfsms: using data setsoberhtom/mainframe/... · note before using this information and...
TRANSCRIPT
-
z/OS
DFSMS:
Using
Data
Sets
SC26-7410-04
���
-
z/OS
DFSMS:
Using
Data
Sets
SC26-7410-04
���
-
Note
Before
using
this
information
and
the
product
it
supports,
be
sure
to
read
the
general
information
under
“Notices”
on
page
637.
Fifth
Edition,
September
2004
This
edition
applies
to
Version
1
Release
6
of
z/OS®
(5694-A01),
Version
1
Release
6
of
z/OS.e
(5655-G52),
and
to
all
subsequent
releases
and
modifications
until
otherwise
indicated
in
new
editions.
This
edition
replaces
SC26-7410-03.
IBM®
welcomes
your
comments.
A
form
for
readers’
comments
may
be
provided
at
the
back
of
this
publication,
or
you
may
address
your
comments
to
the
following
address:
International
Business
Machines
Corporation
Department
55JA,
Mail
Station
P384
2455
South
Road
Poughkeepsie,
NY
12601-5400
United
States
of
America
FAX
(United
States
&
Canada):
1+845+432-9405
FAX
(Other
Countries):
Your
International
Access
Code
+1+845+432-9405
IBMLink™
(United
States
customers
only):
IBMUSM10(MHVRCFS)
Internet
e-mail:
World
Wide
Web:
http://www.ibm.com/servers/eserver/zseries/zos/webqs.html
If
you
would
like
a
reply,
be
sure
to
include
your
name,
address,
telephone
number,
or
FAX
number.
Make
sure
to
include
the
following
in
your
comment
or
note:
v
Title
and
order
number
of
this
document
v
Page
number
or
topic
related
to
your
comment
When
you
send
information
to
IBM,
you
grant
IBM
a
nonexclusive
right
to
use
or
distribute
the
information
in
any
way
it
believes
appropriate
without
incurring
any
obligation
to
you.
©
Copyright
International
Business
Machines
Corporation
1987,
2004.
All
rights
reserved.
US
Government
Users
Restricted
Rights
–
Use,
duplication
or
disclosure
restricted
by
GSA
ADP
Schedule
Contract
with
IBM
Corp.
http://www.ibm.com/servers/eserver/zseries/zos/webqs.html
-
Contents
Figures
.
.
.
.
.
.
.
.
.
.
.
.
.
. xiii
Tables
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. xv
About
This
Document
.
.
.
.
.
.
.
. xvii
Major
Divisions
of
This
Document
.
.
.
.
.
. xvii
Required
product
knowledge
.
.
.
.
.
.
.
. xvii
Referenced
documents
.
.
.
.
.
.
.
.
.
. xviii
Accessing
z/OS
DFSMS
documents
on
the
Internet
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. xviii
Using
LookAt
to
look
up
message
explanations
xviii
Accessing
z/OS
licensed
documents
on
the
Internet
xix
Summary
of
Changes
.
.
.
.
.
.
.
. xxi
Summary
of
Changes
for
SC26-7410-04
z/OS
Version
1
Release
6
.
.
.
.
.
.
.
.
.
.
. xxi
New
Information
.
.
.
.
.
.
.
.
.
.
. xxi
Changed
Information
.
.
.
.
.
.
.
.
.
. xxi
Summary
of
Changes
for
SC26-7410-03
z/OS
Version
1
Release
5
.
.
.
.
.
.
.
.
.
.
. xxi
New
Information
.
.
.
.
.
.
.
.
.
.
. xxi
Changed
Information
.
.
.
.
.
.
.
.
. xxii
Moved
Information
.
.
.
.
.
.
.
.
.
. xxii
Summary
of
Changes
for
SC26-7410-02
z/OS
Version
1
Release
3
.
.
.
.
.
.
.
.
.
.
. xxii
New
Information
.
.
.
.
.
.
.
.
.
.
. xxii
Changed
Information
.
.
.
.
.
.
.
.
. xxiii
Part
1.
All
Data
Sets
.
.
.
.
.
.
.
.
. 1
Chapter
1.
Working
with
Data
Sets
.
.
. 3
Data
Storage
and
Management
.
.
.
.
.
.
.
. 3
System-Managed
Data
Sets
.
.
.
.
.
.
.
. 4
Distributed
File
Manager
.
.
.
.
.
.
.
.
. 4
Access
Methods
.
.
.
.
.
.
.
.
.
.
.
.
. 4
Basic
Direct
Access
Method
.
.
.
.
.
.
.
. 4
Basic
Partitioned
Access
Method
.
.
.
.
.
.
. 5
Basic
Sequential
Access
Method
.
.
.
.
.
.
. 5
Data-in-Virtual
(DIV)
.
.
.
.
.
.
.
.
.
. 5
Indexed
Sequential
Access
Method
.
.
.
.
.
. 5
Object
Access
Method
.
.
.
.
.
.
.
.
.
. 6
Queued
Sequential
Access
Method
.
.
.
.
.
. 6
Virtual
Storage
Access
Method
.
.
.
.
.
.
. 6
Access
to
z/OS
UNIX
Files
.
.
.
.
.
.
.
. 7
Selection
of
an
Access
Method
.
.
.
.
.
.
. 7
Direct
Access
Storage
Device
(DASD)
Volumes
.
.
. 8
DASD
Labels
.
.
.
.
.
.
.
.
.
.
.
.
. 8
Track
Format
.
.
.
.
.
.
.
.
.
.
.
.
. 8
Track
Overflow
.
.
.
.
.
.
.
.
.
.
.
. 9
VSAM
Record
Addressing
.
.
.
.
.
.
.
.
. 9
Actual
and
Relative
Addressing
with
Non-VSAM
Access
Methods
.
.
.
.
.
.
.
.
.
.
.
. 10
Magnetic
Tape
Volumes
.
.
.
.
.
.
.
.
.
. 11
Using
Magnetic
Tape
Labels
.
.
.
.
.
.
.
. 11
Specifying
the
File
Sequence
Number
.
.
.
.
. 12
Identifying
Unlabeled
Tapes
.
.
.
.
.
.
.
. 14
Using
Tape
Marks
.
.
.
.
.
.
.
.
.
.
. 14
Data
Management
Macros
.
.
.
.
.
.
.
.
. 15
Data
Set
Processing
.
.
.
.
.
.
.
.
.
.
.
. 16
Allocating
Data
Sets
.
.
.
.
.
.
.
.
.
. 16
Processing
Data
Sets
through
Programs
.
.
.
. 17
Using
Access
Methods
.
.
.
.
.
.
.
.
.
. 17
Using
Addressing
Modes
.
.
.
.
.
.
.
.
. 18
Using
Hiperspace
and
Hiperbatch
.
.
.
.
.
. 18
Processing
VSAM
Data
Sets
.
.
.
.
.
.
.
. 18
Processing
PDSs,
PDSEs,
and
UNIX
Directories
19
Processing
Sequential
Data
Sets
and
Members
of
PDSEs
and
PDSs
.
.
.
.
.
.
.
.
.
.
. 19
Processing
UNIX
Files
with
an
Access
Method
. 20
Processing
EXCP,
EXCPVR,
and
XDAP
Macros
21
Distributed
Data
Management
(DDM)
Attributes
.
. 21
Virtual
I/O
for
Temporary
Data
Sets
.
.
.
.
.
. 22
Data
Set
Names
.
.
.
.
.
.
.
.
.
.
.
.
. 22
Catalogs
and
Volume
Table
of
Contents
.
.
.
.
. 23
VTOC
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 24
Catalogs
.
.
.
.
.
.
.
.
.
.
.
.
.
. 24
Data
Set
Names
and
Metadata
.
.
.
.
.
.
. 24
Security
of
Data
Set
Names
.
.
.
.
.
.
.
. 25
Chapter
2.
Using
the
Storage
Management
Subsystem
.
.
.
.
.
.
. 27
Using
Automatic
Class
Selection
Routines
.
.
.
. 29
Allocating
Data
Sets
.
.
.
.
.
.
.
.
.
.
. 30
Allocating
Data
Sets
with
JCL
.
.
.
.
.
.
. 30
Allocating
System-Managed
Data
Sets
with
the
Access
Method
Services
ALLOCATE
Command
. 32
Allocating
Data
Sets
with
the
TSO
ALLOCATE
Command
.
.
.
.
.
.
.
.
.
.
.
.
.
. 33
Allocating
Data
Sets
with
Dynamic
Allocation
.
. 34
Chapter
3.
Allocating
Space
on
Direct
Access
Volumes
.
.
.
.
.
.
.
.
.
. 35
Specification
of
Space
Requirements
.
.
.
.
.
. 35
Blocks
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 35
Average
Record
Length
.
.
.
.
.
.
.
.
. 36
Tracks
or
Cylinders
.
.
.
.
.
.
.
.
.
.
. 36
Absolute
Track
.
.
.
.
.
.
.
.
.
.
.
. 37
Additional
Space-Allocation
Options
.
.
.
.
. 37
Maximum
Data
Set
Size
.
.
.
.
.
.
.
.
.
. 37
Maximum
Size
on
One
Volume
.
.
.
.
.
.
. 37
Maximum
Number
of
Volumes
.
.
.
.
.
.
. 37
Maximum
VSAM
Data
Set
Size
.
.
.
.
.
.
. 37
Primary
and
Secondary
Space
Allocation
without
the
Guaranteed
Space
Attribute
.
.
.
.
.
.
.
. 38
Multivolume
VSAM
Data
Sets
.
.
.
.
.
.
. 38
Multivolume
Non-VSAM
Data
Sets
.
.
.
.
. 38
Extended-Format
Data
Sets
.
.
.
.
.
.
.
. 38
Allocation
of
Data
Sets
with
the
Guaranteed
Space
Attribute
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 39
©
Copyright
IBM
Corp.
1987,
2004
iii
-
Guaranteed
Space
with
DISP=NEW
or
MOD
.
. 39
Guaranteed
Space
for
VSAM
.
.
.
.
.
.
. 39
Guaranteed
Space
with
DISP=OLD
or
SHR
.
.
. 40
Guaranteed
Space
with
Extended-Format
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 40
Guaranteed
Space
Example
.
.
.
.
.
.
.
. 40
Allocation
of
Data
Sets
with
the
Space
Constraint
Relief
Attributes
.
.
.
.
.
.
.
.
.
.
.
.
. 41
Extension
to
Another
DASD
Volume
.
.
.
.
.
. 41
Examples
of
Dynamic
Volume
Count
When
Defining
a
Data
Set
.
.
.
.
.
.
.
.
.
.
. 42
Examples
of
Dynamic
Volume
Count
When
Allocating
an
Existing
Data
Set
.
.
.
.
.
.
. 43
Multiple
Volume
Considerations
for
Sequential
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 43
Additional
Information
on
Space
Allocation
.
.
. 44
Chapter
4.
Backing
Up
and
Recovering
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
.
. 45
Using
REPRO
for
Backup
and
Recovery
.
.
.
.
. 46
Using
EXPORT
and
IMPORT
for
Backup
and
Recovery
of
VSAM
Data
Sets
.
.
.
.
.
.
.
. 47
Structure
of
an
Exported
Data
Set
.
.
.
.
.
. 48
EXPORT
and
IMPORT
Commands
.
.
.
.
. 48
Writing
a
Program
for
Backup
and
Recovery
.
.
. 48
Using
Concurrent
Copy
for
Backup
and
Recovery
49
Updating
a
Data
Set
After
Recovery
.
.
.
.
.
. 49
Synchronizing
Catalog
and
VSAM
Data
Set
Information
During
Recovery
.
.
.
.
.
.
.
. 49
Handling
an
Abnormal
Termination
.
.
.
.
. 50
Using
VERIFY
to
Process
Improperly
Closed
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
.
.
. 50
CICS
VSAM
Recovery
.
.
.
.
.
.
.
.
.
.
. 52
Chapter
5.
Protecting
Data
Sets
.
.
.
. 53
z/OS
Security
Server
(RACF)
.
.
.
.
.
.
.
. 53
RACF
Protection
for
VSAM
Data
Sets
.
.
.
. 53
Generic
and
Discrete
Profiles
for
VSAM
Data
Sets
54
RACF
Protection
for
Non-VSAM
Data
Sets
.
.
. 54
Hiding
Data
Set
Names
.
.
.
.
.
.
.
.
. 55
Data
Set
Password
Protection
.
.
.
.
.
.
.
. 55
Passwords
for
VSAM
Data
Sets
.
.
.
.
.
.
. 56
Passwords
for
Non-VSAM
Data
Sets
.
.
.
.
. 59
User-Security-Verification
Routine
.
.
.
.
.
.
. 60
Erasure
of
Residual
Data
.
.
.
.
.
.
.
.
.
. 60
Erasing
DASD
Data
.
.
.
.
.
.
.
.
.
. 60
Erasing
Tape
Data
.
.
.
.
.
.
.
.
.
.
. 61
Authorized
Program
Facility
and
Access
Method
Services
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 62
Access
Method
Services
Cryptographic
Option
.
. 63
Data
Enciphering
and
Deciphering
.
.
.
.
. 63
REPRO
ENCIPHER
and
DECIPHER
on
ICSF
.
. 66
Part
2.
VSAM
Data
Sets
.
.
.
.
.
. 69
Chapter
6.
Organizing
VSAM
Data
Sets
73
VSAM
Data
Formats
.
.
.
.
.
.
.
.
.
.
. 73
Data
Set
Size
.
.
.
.
.
.
.
.
.
.
.
.
. 73
Control
Intervals
.
.
.
.
.
.
.
.
.
.
. 74
Control
Information
Fields
.
.
.
.
.
.
.
. 74
Compressed
Control
Information
Field
.
.
.
. 75
Control
Areas
.
.
.
.
.
.
.
.
.
.
.
.
. 76
Spanned
Records
.
.
.
.
.
.
.
.
.
.
. 76
Selection
of
VSAM
Data
Set
Types
.
.
.
.
.
.
. 77
Entry-Sequenced
Data
Sets
.
.
.
.
.
.
.
. 78
Simulated
VSAM
Access
to
UNIX
files
.
.
.
. 80
Key-Sequenced
Data
Sets
.
.
.
.
.
.
.
.
. 81
Linear
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
. 84
Fixed-Length
Relative-Record
Data
Sets
.
.
.
. 85
Variable-Length
Relative-Record
Data
Sets
.
.
. 86
Summary
of
VSAM
Data
Set
Types
.
.
.
.
. 86
Extended-Format
VSAM
Data
Sets
.
.
.
.
.
.
. 87
Restrictions
on
Defining
Extended-Format
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 88
VSAM
Data
Striping
.
.
.
.
.
.
.
.
.
. 88
Compressed
Data
.
.
.
.
.
.
.
.
.
.
. 92
Access
to
Records
in
a
VSAM
Data
Set
.
.
.
.
. 93
Access
to
Entry-Sequenced
Data
Sets
.
.
.
.
. 94
Access
to
Key-Sequenced
Data
Sets
.
.
.
.
. 94
Access
to
Linear
Data
Sets
.
.
.
.
.
.
.
. 95
Access
to
Fixed-Length
Relative-Record
Data
Sets
95
Access
to
Variable-Length
Relative-Record
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 95
Access
to
Records
through
Alternate
Indexes
.
.
. 96
Alternate
Index
Structure
for
a
Key-Sequenced
Data
Set
.
.
.
.
.
.
.
.
.
.
.
.
.
. 96
Alternate
Index
Structure
for
an
Entry-Sequenced
Data
Set
.
.
.
.
.
.
.
.
.
.
.
.
.
. 98
Building
of
an
Alternate
Index
.
.
.
.
.
.
. 98
Automatic
Upgrade
of
Alternate
Indexes
.
.
. 99
Data
Compression
.
.
.
.
.
.
.
.
.
.
.
. 99
Chapter
7.
Defining
VSAM
Data
Sets
101
Using
Cluster
Names
for
Data
and
Index
Components
.
.
.
.
.
.
.
.
.
.
.
.
.
. 102
Defining
a
Data
Set
with
Access
Method
Services
102
Naming
a
Cluster
.
.
.
.
.
.
.
.
.
.
. 102
Specifying
Cluster
Information
.
.
.
.
.
. 104
Using
Access
Method
Services
Parameters
.
.
. 104
Allocating
Space
for
VSAM
Data
Sets
.
.
.
. 106
Calculating
Space
for
the
Data
Component
of
a
KSDS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 109
Calculating
Space
for
the
Index
Component
.
. 110
Using
ALTER
to
Modify
Attributes
of
a
Component
.
.
.
.
.
.
.
.
.
.
.
.
. 110
Using
ALTER
to
Rename
Data
Sets
.
.
.
.
. 110
Defining
a
Data
Set
with
JCL
.
.
.
.
.
.
.
. 111
Loading
a
VSAM
Data
Set
.
.
.
.
.
.
.
.
. 111
Using
REPRO
to
Copy
a
VSAM
Data
Set
.
.
. 112
Using
a
Program
to
Load
a
Data
Set
.
.
.
.
. 113
Reusing
a
VSAM
Data
Set
as
a
Work
File
.
.
. 114
Copying
and
Merging
Data
Sets
.
.
.
.
.
.
. 115
Defining
Alternate
Indexes
.
.
.
.
.
.
.
.
. 117
Naming
an
Alternate
Index
.
.
.
.
.
.
.
. 117
Specifying
Alternate
Index
Information
.
.
.
. 117
Building
an
Alternate
Index
.
.
.
.
.
.
. 119
Maintaining
Alternate
Indexes
.
.
.
.
.
.
. 119
Defining
a
Path
.
.
.
.
.
.
.
.
.
.
.
. 120
Defining
a
Page
Space
.
.
.
.
.
.
.
.
.
. 121
Checking
for
Problems
in
Catalogs
and
Data
Sets
122
iv
z/OS
V1R6.0
DFSMS:
Using
Data
Sets
-
Listing
Catalog
Entries
.
.
.
.
.
.
.
.
. 122
Printing
the
Contents
of
Data
Sets
.
.
.
.
. 123
Deleting
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
. 123
Chapter
8.
Defining
and
Manipulating
VSAM
Data
Sets:
Examples
.
.
.
.
. 125
Example
of
Defining
a
VSAM
Data
Set
.
.
.
.
. 126
Examples
of
Defining
Temporary
VSAM
Data
Sets
128
Example
1:
Defining
a
Temporary
VSAM
Data
Set
Using
ALLOCATE
.
.
.
.
.
.
.
.
. 128
Example
2:
Creating
a
Temporary
Data
Set
with
Default
Parameter
Values
.
.
.
.
.
.
.
. 129
Examples
of
Defining
Alternate
Indexes
and
Paths
129
JCL
Statements
.
.
.
.
.
.
.
.
.
.
.
. 129
Commands
.
.
.
.
.
.
.
.
.
.
.
.
. 130
Chapter
9.
Processing
VSAM
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 133
Creating
an
Access
Method
Control
Block
.
.
.
. 134
Creating
an
Exit
List
.
.
.
.
.
.
.
.
.
.
. 134
Opening
a
Data
Set
.
.
.
.
.
.
.
.
.
.
. 135
Creating
a
Request
Parameter
List
.
.
.
.
.
. 136
Manipulating
the
Contents
of
Control
Blocks
.
.
. 138
Generating
a
Control
Block
.
.
.
.
.
.
.
. 138
Testing
the
Contents
of
ACB,
EXLST,
and
RPL
Fields
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 138
Modifying
the
Contents
of
an
ACB,
EXLST,
or
RPL
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 139
Displaying
the
Contents
of
ACB,
EXLST,
and
RPL
Fields
.
.
.
.
.
.
.
.
.
.
.
.
. 139
Requesting
Access
to
a
Data
Set
.
.
.
.
.
.
. 139
Inserting
and
Adding
Records
.
.
.
.
.
.
. 140
Retrieving
Records
.
.
.
.
.
.
.
.
.
. 142
Updating
Records
.
.
.
.
.
.
.
.
.
.
. 144
Deleting
Records
.
.
.
.
.
.
.
.
.
.
. 145
Deferring
and
Forcing
Buffer
Writing
.
.
.
. 145
Retaining
and
Positioning
Data
Buffers
.
.
.
. 145
Processing
Multiple
Strings
.
.
.
.
.
.
.
. 146
Making
Concurrent
Requests
.
.
.
.
.
.
. 147
Using
a
Path
to
Access
Records
.
.
.
.
.
. 147
Making
Asynchronous
Requests
.
.
.
.
.
. 148
Ending
a
Request
.
.
.
.
.
.
.
.
.
.
. 149
Closing
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
. 149
Operating
in
SRB
or
Cross-Memory
Mode
.
.
.
. 150
Using
VSAM
Macros
in
Programs
.
.
.
.
.
. 151
Chapter
10.
Optimizing
VSAM
Performance
.
.
.
.
.
.
.
.
.
.
.
. 155
Optimizing
Control
Interval
Size
.
.
.
.
.
.
. 155
Control
Interval
Size
Limitations
.
.
.
.
.
. 155
Data
Control
Interval
Size
.
.
.
.
.
.
.
. 157
Index
Control
Interval
Size
.
.
.
.
.
.
.
. 158
How
VSAM
Adjusts
Control
Interval
Size
.
.
. 158
Optimizing
Control
Area
Size
.
.
.
.
.
.
.
. 159
Advantages
of
a
Large
Control
Area
Size
.
.
. 160
Disadvantages
of
a
Large
Control
Area
Size
.
. 160
Optimizing
Free
Space
Distribution
.
.
.
.
.
. 160
Selecting
the
Optimal
Percentage
of
Free
Space
162
Altering
the
Free
Space
Specification
When
Loading
a
Data
Set
.
.
.
.
.
.
.
.
.
. 163
Determining
I/O
Buffer
Space
for
Nonshared
Resource
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 164
Obtaining
Buffers
Above
16
MB
.
.
.
.
.
. 164
Tuning
for
System-Managed
Buffering
.
.
.
. 165
Allocating
Buffers
for
Concurrent
Data
Set
Positioning
.
.
.
.
.
.
.
.
.
.
.
.
. 170
Allocating
Buffers
for
Direct
Access
.
.
.
.
. 170
Allocating
Buffers
for
Sequential
Access
.
.
. 173
Allocating
Buffers
for
a
Path
.
.
.
.
.
.
. 174
Acquiring
Buffers
.
.
.
.
.
.
.
.
.
.
. 174
Using
Index
Options
.
.
.
.
.
.
.
.
.
.
. 175
Increasing
Virtual
Storage
for
Index
Set
Records
175
Avoiding
Control
Area
Splits
.
.
.
.
.
.
. 175
Putting
the
Index
and
Data
on
Separate
Volumes
.
.
.
.
.
.
.
.
.
.
.
.
.
. 175
Obtaining
Diagnostic
Information
.
.
.
.
.
. 176
Migrating
from
the
Mass
Storage
System
.
.
.
. 176
Using
Hiperbatch
.
.
.
.
.
.
.
.
.
.
.
. 176
Chapter
11.
Processing
Control
Intervals
.
.
.
.
.
.
.
.
.
.
.
.
. 177
Access
to
a
Control
Interval
.
.
.
.
.
.
.
. 178
Structure
of
Control
Information
.
.
.
.
.
.
. 179
CIDF—Control
Interval
Definition
Field
.
.
. 180
RDF—Record
Definition
Field
.
.
.
.
.
.
. 180
User
Buffering
.
.
.
.
.
.
.
.
.
.
.
.
. 184
Improved
Control
Interval
Access
.
.
.
.
.
. 185
Opening
an
Object
for
Improved
Control
Interval
Access
.
.
.
.
.
.
.
.
.
.
.
. 185
Processing
a
Data
Set
with
Improved
Control
Interval
Access
.
.
.
.
.
.
.
.
.
.
.
. 185
Fixing
Control
Blocks
and
Buffers
in
Real
Storage
.
.
.
.
.
.
.
.
.
.
.
.
.
. 186
Control
Blocks
in
Common
(CBIC)
Option
.
.
. 186
Chapter
12.
Sharing
VSAM
Data
Sets
189
Subtask
Sharing
.
.
.
.
.
.
.
.
.
.
.
. 190
Building
a
Single
Control
Block
Structure
.
.
. 190
Resolving
Exclusive
Control
Conflicts
.
.
.
. 191
Preventing
Deadlock
in
Exclusive
Control
of
Shared
Resources
.
.
.
.
.
.
.
.
.
.
. 193
Cross-Region
Sharing
.
.
.
.
.
.
.
.
.
.
. 195
Cross-Region
Share
Options
.
.
.
.
.
.
. 195
Read
Integrity
During
Cross-Region
Sharing
.
. 196
Write
Integrity
During
Cross-Region
Sharing
197
Cross-System
Sharing
.
.
.
.
.
.
.
.
.
. 198
Control
Block
Update
Facility
(CBUF)
.
.
.
.
. 199
Considerations
for
CBUF
Processing
.
.
.
.
. 200
Checkpoints
for
Shared
Data
Sets
.
.
.
.
.
. 201
Techniques
of
Data
Sharing
.
.
.
.
.
.
.
.
. 201
Cross-Region
Sharing
.
.
.
.
.
.
.
.
.
. 201
Cross-System
Sharing
.
.
.
.
.
.
.
.
. 203
User
Access
to
VSAM
Shared
Information
.
.
. 204
Chapter
13.
Sharing
Resources
Among
VSAM
Data
Sets
.
.
.
.
.
.
. 205
Provision
of
a
Resource
Pool
.
.
.
.
.
.
.
. 205
Building
a
Resource
Pool:
BLDVRP
.
.
.
.
. 205
Connecting
a
Data
Set
to
a
Resource
Pool:
OPEN
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 209
Contents
v
-
Deleting
a
Resource
Pool
Using
the
DLVRP
Macro
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 209
Management
of
I/O
Buffers
for
Shared
Resources
210
Deferring
Write
Requests
.
.
.
.
.
.
.
. 210
Relating
Deferred
Requests
by
Transaction
ID
211
Writing
Buffers
Whose
Writing
is
Deferred:
WRTBFR
.
.
.
.
.
.
.
.
.
.
.
.
.
. 211
Accessing
a
Control
Interval
with
Shared
Resources
.
.
.
.
.
.
.
.
.
.
.
.
. 213
Restrictions
and
Guidelines
for
Shared
Resources
214
Chapter
14.
Using
VSAM
Record-Level
Sharing
.
.
.
.
.
.
.
.
.
.
.
.
.
. 217
Controlling
Access
to
VSAM
Data
Sets
.
.
.
.
. 217
Accessing
Data
Sets
Using
DFSMStvs
and
VSAM
Record-Level
Sharing
.
.
.
.
.
.
.
.
.
.
. 217
Record-Level
Sharing
CF
Caching
.
.
.
.
. 218
Using
VSAM
RLS
with
CICS
.
.
.
.
.
.
. 219
Using
VSAM
RLS
Outside
of
CICS
.
.
.
.
. 222
Read
Sharing
of
Recoverable
Data
Sets
.
.
.
. 222
Read-Sharing
Integrity
across
KSDS
CI
and
CA
Splits
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 222
Read
and
Write
Sharing
of
Nonrecoverable
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 222
Using
Non-RLS
Access
to
VSAM
Data
Sets
.
. 223
Comparing
RLS
Access
and
Non-RLS
Access
223
Requesting
VSAM
RLS
Run-Mode
.
.
.
.
. 226
Using
VSAM
RLS
Read
Integrity
Options
.
.
. 226
Using
VSAM
RLS
with
ESDS
.
.
.
.
.
.
.
. 227
Specifying
Read
Integrity
.
.
.
.
.
.
.
.
. 228
Specifying
a
Timeout
Value
for
Lock
Requests
.
. 228
Chapter
15.
Checking
VSAM
Key-Sequenced
Data
Set
Clusters
for
Structural
Errors
.
.
.
.
.
.
.
.
.
. 229
EXAMINE
Command
.
.
.
.
.
.
.
.
.
. 229
Types
of
Data
Sets
.
.
.
.
.
.
.
.
.
.
. 229
EXAMINE
Users
.
.
.
.
.
.
.
.
.
.
. 229
How
to
Run
EXAMINE
.
.
.
.
.
.
.
.
.
. 230
Deciding
to
Run
INDEXTEST,
DATATEST,
or
Both
Tests
.
.
.
.
.
.
.
.
.
.
.
.
. 230
Skipping
DATATEST
on
Major
INDEXTEST
Errors
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 230
Examining
a
User
Catalog
.
.
.
.
.
.
.
. 230
Understanding
Message
Hierarchy
.
.
.
.
. 231
Controlling
Message
Printout
.
.
.
.
.
.
. 231
Samples
of
Output
from
EXAMINE
Runs
.
.
.
. 232
INDEXTEST
and
DATATEST
Tests
of
an
Error-Free
Data
Set
.
.
.
.
.
.
.
.
.
. 232
INDEXTEST
and
DATATEST
Tests
of
a
Data
Set
with
a
Structural
Error
.
.
.
.
.
.
.
.
. 232
INDEXTEST
and
DATATEST
Tests
of
a
Data
Set
with
a
Duplicate
Key
Error
.
.
.
.
.
.
.
. 233
Chapter
16.
Coding
VSAM
User-Written
Exit
Routines
.
.
.
.
.
. 235
Guidelines
for
Coding
Exit
Routines
.
.
.
.
.
. 235
Programming
Guidelines
.
.
.
.
.
.
.
.
. 236
Multiple
Request
Parameter
Lists
or
Data
Sets
237
Return
to
a
Main
Program
.
.
.
.
.
.
.
. 237
IGW8PNRU
Routine
for
Batch
Override
.
.
.
. 238
Register
Contents
.
.
.
.
.
.
.
.
.
.
. 238
Programming
Considerations
.
.
.
.
.
.
. 238
EODAD
Exit
Routine
to
Process
End
of
Data
.
.
. 239
Register
Contents
.
.
.
.
.
.
.
.
.
.
. 239
Programming
Considerations
.
.
.
.
.
.
. 240
EXCEPTIONEXIT
Exit
Routine
.
.
.
.
.
.
. 240
Register
Contents
.
.
.
.
.
.
.
.
.
.
. 240
Programming
Considerations
.
.
.
.
.
.
. 240
JRNAD
Exit
Routine
to
Journalize
Transactions
.
. 241
Register
Contents
.
.
.
.
.
.
.
.
.
.
. 241
Programming
Considerations
.
.
.
.
.
.
. 241
LERAD
Exit
Routine
to
Analyze
Logical
Errors
.
. 247
Register
Contents
.
.
.
.
.
.
.
.
.
.
. 248
Programming
Considerations
.
.
.
.
.
.
. 248
RLSWAIT
Exit
Routine
.
.
.
.
.
.
.
.
.
. 248
Register
Contents
.
.
.
.
.
.
.
.
.
.
. 249
Request
Environment
.
.
.
.
.
.
.
.
.
. 249
SYNAD
Exit
Routine
to
Analyze
Physical
Errors
250
Register
Contents
.
.
.
.
.
.
.
.
.
.
. 250
Programming
Considerations
.
.
.
.
.
.
. 250
Example
of
a
SYNAD
User-Written
Exit
Routine
251
UPAD
Exit
Routine
for
User
Processing
.
.
.
. 252
Register
Contents
.
.
.
.
.
.
.
.
.
.
. 253
Programming
Considerations
.
.
.
.
.
.
. 254
User-Security-Verification
Routine
.
.
.
.
.
. 255
Chapter
17.
Using
31-Bit
Addressing
Mode
with
VSAM
.
.
.
.
.
.
.
.
.
. 257
VSAM
Options
.
.
.
.
.
.
.
.
.
.
.
.
. 257
Chapter
18.
Using
Job
Control
Language
for
VSAM
.
.
.
.
.
.
.
. 259
Using
JCL
Statements
and
Keywords
.
.
.
.
. 259
Data
Set
Name
.
.
.
.
.
.
.
.
.
.
.
. 259
Disposition
.
.
.
.
.
.
.
.
.
.
.
.
. 259
Creating
VSAM
Data
Sets
with
JCL
.
.
.
.
.
. 260
Temporary
VSAM
Data
Sets
.
.
.
.
.
.
. 262
Examples
Using
JCL
to
Allocate
VSAM
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 263
Retrieving
an
Existing
VSAM
Data
Set
.
.
.
.
. 266
Migration
Consideration
.
.
.
.
.
.
.
.
. 266
Keywords
Used
to
Process
VSAM
Data
Sets
.
. 266
Chapter
19.
Processing
Indexes
of
Key-Sequenced
Data
Sets
.
.
.
.
.
. 269
Access
to
a
Key-Sequenced
Data
Set
Index
.
.
. 269
Access
to
an
Index
with
GETIX
and
PUTIX
.
. 269
Access
to
the
Index
Component
Alone
.
.
.
. 269
Prime
Index
.
.
.
.
.
.
.
.
.
.
.
.
. 270
Index
Levels
.
.
.
.
.
.
.
.
.
.
.
.
. 271
Format
of
an
Index
Record
.
.
.
.
.
.
.
.
. 273
Header
Portion
.
.
.
.
.
.
.
.
.
.
.
. 273
Free
Control
Interval
Entry
Portion
.
.
.
.
. 275
Index
Entry
Portion
.
.
.
.
.
.
.
.
.
. 275
Key
Compression
.
.
.
.
.
.
.
.
.
.
.
. 276
Index
Update
Following
a
Control
Interval
Split
279
Index
Entries
for
a
Spanned
Record
.
.
.
.
. 280
vi
z/OS
V1R6.0
DFSMS:
Using
Data
Sets
||
-
Part
3.
Non-VSAM
Data
Sets
and
UNIX
Files
.
.
.
.
.
.
.
.
.
.
.
. 281
Chapter
20.
Selecting
Record
Formats
for
Non-VSAM
Data
Sets
.
.
.
.
.
. 287
Format
Selection
.
.
.
.
.
.
.
.
.
.
.
. 287
Fixed-Length
Record
Formats
.
.
.
.
.
.
.
. 288
Standard
Format
.
.
.
.
.
.
.
.
.
.
. 289
Restrictions
.
.
.
.
.
.
.
.
.
.
.
.
. 289
Variable-Length
Record
Formats
.
.
.
.
.
.
. 290
Format-V
Records
.
.
.
.
.
.
.
.
.
.
. 290
Spanned
Format-VS
Records
(Sequential
Access
Method)
.
.
.
.
.
.
.
.
.
.
.
.
.
. 292
Spanned
Format-V
Records
(Basic
Direct
Access
Method)
.
.
.
.
.
.
.
.
.
.
.
.
.
. 294
Undefined-Length
Record
Format
.
.
.
.
.
. 296
ISO/ANSI
Tapes
.
.
.
.
.
.
.
.
.
.
.
. 297
Character
Data
Conversion
.
.
.
.
.
.
.
. 297
Format-F
Records
.
.
.
.
.
.
.
.
.
.
. 298
Format-D
Records
.
.
.
.
.
.
.
.
.
.
. 300
ISO/ANSI
Format-DS
and
Format-DBS
Records
302
Format-U
Records
.
.
.
.
.
.
.
.
.
.
. 305
Record
Format—Device
Type
Considerations
.
.
. 305
Using
Optional
Control
Characters
.
.
.
.
. 306
Using
Direct
Access
Storage
Devices
(DASD)
307
Using
Magnetic
Tape
.
.
.
.
.
.
.
.
.
. 307
Using
a
Printer
.
.
.
.
.
.
.
.
.
.
.
. 308
Using
a
Card
Reader
and
Punch
.
.
.
.
.
. 309
Using
a
Paper
Tape
Reader
.
.
.
.
.
.
.
. 310
Chapter
21.
Specifying
and
Initializing
Data
Control
Blocks
.
.
.
.
.
.
.
. 311
Processing
Sequential
and
Partitioned
Data
Sets
312
Using
OPEN
to
Prepare
a
Data
Set
for
Processing
317
Filling
in
the
DCB
.
.
.
.
.
.
.
.
.
.
. 318
Specifying
the
Forms
of
Macros,
Buffering
Requirements,
and
Addresses
.
.
.
.
.
.
. 320
Coding
Processing
Methods
.
.
.
.
.
.
. 320
Selecting
Data
Set
Options
.
.
.
.
.
.
.
.
. 321
Block
Size
(BLKSIZE)
.
.
.
.
.
.
.
.
.
. 321
Data
Set
Organization
(DSORG)
.
.
.
.
.
. 327
Key
Length
(KEYLEN)
.
.
.
.
.
.
.
.
. 328
Record
Length
(LRECL)
.
.
.
.
.
.
.
.
. 328
Record
Format
(RECFM)
.
.
.
.
.
.
.
. 328
Write
Validity
Check
Option
(OPTCD=W)
.
.
. 329
DD
Statement
Parameters
.
.
.
.
.
.
.
. 329
Changing
and
Testing
the
DCB
and
DCBE
.
.
. 330
Using
the
DCBD
Macro
.
.
.
.
.
.
.
.
. 331
Changing
an
Address
in
the
DCB
.
.
.
.
. 331
Using
the
IHADCBE
Macro
.
.
.
.
.
.
. 332
Using
CLOSE
to
End
the
Processing
of
a
Data
Set
332
Issuing
the
CHECK
Macro
.
.
.
.
.
.
.
. 332
Closing
a
Data
Set
Temporarily
.
.
.
.
.
. 332
Using
CLOSE
TYPE=T
with
Sequential
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 333
Releasing
Space
.
.
.
.
.
.
.
.
.
.
. 334
Managing
Buffer
Pools
When
Closing
Data
Sets
335
Opening
and
Closing
Data
Sets:
Considerations
335
Parameter
Lists
with
31-Bit
Addresses
.
.
.
. 335
Open
and
Close
of
Multiple
Data
Sets
at
the
Same
Time
.
.
.
.
.
.
.
.
.
.
.
.
. 335
Factors
to
Consider
When
Allocating
Direct
Access
Data
Sets
.
.
.
.
.
.
.
.
.
.
. 336
Guidelines
for
Opening
and
Closing
Data
Sets
336
Open/Close/EOV
Errors
.
.
.
.
.
.
.
. 336
Installation
Exits
.
.
.
.
.
.
.
.
.
.
. 337
Positioning
Volumes
.
.
.
.
.
.
.
.
.
.
. 338
Releasing
Data
Sets
and
Volumes
.
.
.
.
.
. 338
Processing
End-of-Volume
.
.
.
.
.
.
.
. 338
Positioning
During
End-of-Volume
.
.
.
.
. 339
Forcing
End-of-Volume
.
.
.
.
.
.
.
.
. 340
Managing
SAM
Buffer
Space
.
.
.
.
.
.
.
. 341
Constructing
a
Buffer
Pool
.
.
.
.
.
.
.
.
. 342
Building
a
Buffer
Pool
.
.
.
.
.
.
.
.
. 343
Building
a
Buffer
Pool
and
a
Record
Area
.
.
. 343
Getting
a
Buffer
Pool
.
.
.
.
.
.
.
.
.
. 344
Constructing
a
Buffer
Pool
Automatically
.
.
. 344
Freeing
a
Buffer
Pool
.
.
.
.
.
.
.
.
.
. 344
Constructing
a
Buffer
Pool:
Examples
.
.
.
. 345
Controlling
Buffers
.
.
.
.
.
.
.
.
.
.
. 346
Queued
Access
Method
.
.
.
.
.
.
.
.
. 346
Basic
Access
Method
.
.
.
.
.
.
.
.
.
. 347
QSAM
in
an
Application
.
.
.
.
.
.
.
. 347
Exchange
Buffering
.
.
.
.
.
.
.
.
.
. 349
Choosing
Buffering
Techniques
and
GET/PUT
Processing
Modes
.
.
.
.
.
.
.
.
.
.
.
. 350
Using
Buffering
Macros
with
Queued
Access
Method
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 350
RELSE—Release
an
Input
Buffer
.
.
.
.
.
. 350
TRUNC—Truncate
an
Output
Buffer
.
.
.
. 350
Using
Buffering
Macros
with
Basic
Access
Method
351
GETBUF—Get
a
Buffer
from
a
Pool
.
.
.
.
. 351
FREEBUF—Return
a
Buffer
to
a
Pool
.
.
.
. 351
Chapter
22.
Accessing
Records
.
.
. 353
Accessing
Data
with
READ
and
WRITE
.
.
.
. 353
Using
the
Data
Event
Control
Block
(DECB)
.
. 353
Grouping
Related
Control
Blocks
in
a
Paging
Environment
.
.
.
.
.
.
.
.
.
.
.
. 353
Using
Overlapped
I/O
with
BSAM
.
.
.
.
. 353
Reading
a
Block
.
.
.
.
.
.
.
.
.
.
. 355
Writing
a
Block
.
.
.
.
.
.
.
.
.
.
.
. 356
Ensuring
I/O
Initiation
with
the
TRUNC
Macro
356
Testing
Completion
of
a
Read
or
Write
Operation
.
.
.
.
.
.
.
.
.
.
.
.
. 356
Waiting
for
Completion
of
a
Read
or
Write
Operation
.
.
.
.
.
.
.
.
.
.
.
.
. 357
Handling
Exceptional
Conditions
on
Tape
.
.
. 358
Accessing
Data
with
GET
and
PUT
.
.
.
.
.
. 359
GET—Retrieve
a
Record
.
.
.
.
.
.
.
.
. 359
PUT—Write
a
Record
.
.
.
.
.
.
.
.
.
. 359
PUTX—Write
an
Updated
Record
.
.
.
.
. 360
PDAB—Parallel
Input
Processing
(QSAM
Only)
360
Analyzing
I/O
Errors
.
.
.
.
.
.
.
.
.
. 363
SYNADAF—Perform
SYNAD
Analysis
Function
363
SYNADRLS—Release
SYNADAF
Message
and
Save
Areas
.
.
.
.
.
.
.
.
.
.
.
.
. 364
Device
Support
Facilities
(ICKDSF):
Diagnosing
I/O
Problems
.
.
.
.
.
.
.
.
.
.
.
. 364
Contents
vii
-
Limitations
with
Using
SRB
or
Cross-Memory
Mode
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 364
Chapter
23.
Sharing
Non-VSAM
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 365
Enhanced
Data
Integrity
for
Shared
Sequential
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 368
Setting
Up
the
Enhanced
Data
Integrity
Function
.
.
.
.
.
.
.
.
.
.
.
.
.
. 369
Synchronizing
the
Enhanced
Data
Integrity
Function
on
Multiple
Systems
.
.
.
.
.
.
. 370
Using
the
START
IFGEDI
Command
.
.
.
. 370
Bypassing
the
Enhanced
Data
Integrity
Function
for
Applications
.
.
.
.
.
.
.
.
.
.
. 371
Diagnosing
Data
Integrity
Warnings
and
Violations
.
.
.
.
.
.
.
.
.
.
.
.
. 371
PDSEs
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 374
Direct
Data
Sets
(BDAM)
.
.
.
.
.
.
.
.
. 374
Factors
to
Consider
When
Opening
and
Closing
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 375
Control
of
Checkpoint
Data
Sets
on
Shared
DASD
Volumes
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 375
System
Use
of
Search
Direct
for
Input
Operations
377
Chapter
24.
Spooling
and
Scheduling
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
.
. 379
Job
Entry
Subsystem
.
.
.
.
.
.
.
.
.
.
. 379
SYSIN
Data
Set
.
.
.
.
.
.
.
.
.
.
.
.
. 380
SYSOUT
Data
Set
.
.
.
.
.
.
.
.
.
.
.
. 380
Chapter
25.
Processing
Sequential
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
.
. 383
Creating
a
Sequential
Data
Set
.
.
.
.
.
.
.
. 383
Retrieving
a
Sequential
Data
Set
.
.
.
.
.
.
. 384
Concatenating
Data
Sets
Sequentially
.
.
.
.
. 385
Concatenating
Like
Data
Sets
.
.
.
.
.
.
. 386
Concatenating
Unlike
Data
Sets
.
.
.
.
.
. 390
Modifying
Sequential
Data
Sets
.
.
.
.
.
.
. 392
Updating
in
Place
.
.
.
.
.
.
.
.
.
.
. 392
Using
Overlapped
Operations
.
.
.
.
.
.
. 392
Extending
a
Data
Set
.
.
.
.
.
.
.
.
.
. 393
Achieving
Device
Independence
.
.
.
.
.
.
. 393
Device-Dependent
Macros
.
.
.
.
.
.
.
. 394
DCB
and
DCBE
Subparameters
.
.
.
.
.
. 395
Improving
Performance
for
Sequential
Data
Sets
395
Limitations
on
Using
Chained
Scheduling
with
Non-DASD
Data
Sets
.
.
.
.
.
.
.
.
.
. 396
DASD
and
Tape
Performance
.
.
.
.
.
.
. 397
Determining
the
Length
of
a
Block
when
Reading
with
BSAM,
BPAM,
or
BDAM
.
.
.
.
.
.
.
. 398
Writing
a
Short
Format-FB
Block
with
BSAM
or
BPAM
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 399
Using
Hiperbatch
.
.
.
.
.
.
.
.
.
.
.
. 400
Processing
Extended-Format
Sequential
Data
Sets
400
Characteristics
of
Extended-Format
Data
Sets
400
Allocating
Extended-Format
Data
Sets
.
.
.
. 401
Allocating
Compressed-Format
Data
Sets
.
.
. 402
Opening
and
Closing
Extended-Format
Data
Sets
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 403
Reading,
Writing,
and
Updating
Extended-Format
Data
Sets
Using
BSAM
and
QSAM
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 403
Concatenating
Extended-Format
Data
Sets
with
Other
Data
Sets
.
.
.
.
.
.
.
.
.
.
. 404
Extending
Striped
Sequential
Data
Sets
.
.
.
. 404
Migrating
to
Extended-Format
Data
Sets
.
.
. 404
Chapter
26.
Processing
a
Partitioned
Data
Set
(PDS)
.
.
.
.
.
.
.
.
.
.
. 407
Structure
of
a
PDS
.
.
.
.
.
.
.
.
.
.
.
. 407
PDS
Directory
.
.
.
.
.
.
.
.
.
.
.
.
. 408
Allocating
Space
for
a
PDS
.
.
.
.
.
.
.
.
. 411
Calculating
Space
.
.
.
.
.
.
.
.
.
.
. 411
Allocating
Space
with
SPACE
and
AVGREC
.
. 412
Creating
a
PDS
.
.
.
.
.
.
.
.
.
.
.
.
. 412
Creating
a
PDS
Member
with
BSAM
or
QSAM
413
Converting
PDSs
.
.
.
.
.
.
.
.
.
.
. 413
Copying
a
PDS
or
Member
to
Another
Data
Set
413
Adding
Members
.
.
.
.
.
.
.
.
.
.
. 414
Processing
a
Member
of
a
PDS
.
.
.
.
.
.
. 416
BLDL—Construct
a
Directory
Entry
List
.
.
. 416
DESERV
.
.
.
.
.
.
.
.
.
.
.
.
.
. 417
FIND—Position
to
the
Starting
Address
of
a
Member
.
.
.
.
.
.
.
.
.
.
.
.
.
. 420
STOW—Update
the
Directory
.
.
.
.
.
.
. 421
Retrieving
a
Member
of
a
PDS
.
.
.
.
.
.
. 422
Modifying
a
PDS
.
.
.
.
.
.
.
.
.
.
.
. 426
Updating
in
Place
.
.
.
.
.
.
.
.
.
.
. 426
Rewriting
a
Member
.
.
.
.
.
.
.
.
.
. 429
Concatenating
PDSs
.
.
.
.
.
.
.
.
.
.
. 429
Sequential
Concatenation
.
.
.
.
.
.
.
. 429
Partitioned
Concatenation
.
.
.
.
.
.
.
. 429
Reading
a
PDS
Directory
Sequentially
.
.
.
.
. 430
Chapter
27.
Processing
a
Partitioned
Data
Set
Extended
(PDSE)
.
.
.
.
.
. 431
Advantages
of
PDSEs
.
.
.
.
.
.
.
.
.
. 431
PDSE
and
PDS
Similarities
.
.
.
.
.
.
.
. 433
PDSE
and
PDS
Differences
.
.
.
.
.
.
.
. 433
Structure
of
a
PDSE
.
.
.
.
.
.
.
.
.
.
. 433
PDSE
Logical
Block
Size
.
.
.
.
.
.
.
.
. 434
Reuse
of
Space
.
.
.
.
.
.
.
.
.
.
.
. 434
Directory
Structure
.
.
.
.
.
.
.
.
.
. 435
Relative
Track
Addresses
(TTR)
.
.
.
.
.
. 435
Processing
PDSE
Records
.
.
.
.
.
.
.
.
. 436
Using
BLKSIZE
with
PDSEs
.
.
.
.
.
.
. 437
Using
KEYLEN
with
PDSEs
.
.
.
.
.
.
. 437
Reblocking
PDSE
Records
.
.
.
.
.
.
.
. 437
Processing
Short
Blocks
.
.
.
.
.
.
.
.
. 438
Processing
SAM
Null
Segments
.
.
.
.
.
. 439
Allocating
Space
for
a
PDSE
.
.
.
.
.
.
.
. 439
PDSE
Space
Considerations
.
.
.
.
.
.
. 439
Summary
of
PDSE
Storage
Requirements
.
.
. 442
Defining
a
PDSE
.
.
.
.
.
.
.
.
.
.
.
. 442
Creating
a
PDSE
Member
.
.
.
.
.
.
.
.
. 443
Creating
a
PDSE
Member
with
BSAM
or
QSAM
443
Adding
or
Replacing
PDSE
Members
Serially
444
Adding
or
Replacing
Multiple
PDSE
Members
Concurrently
.
.
.
.
.
.
.
.
.
.
.
. 445
viii
z/OS
V1R6.0
DFSMS:
Using
Data
Sets
||
-
Copying
a
PDSE
or
Member
to
Another
Data
Set
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 446
Processing
a
Member
of
a
PDSE
.
.
.
.
.
.
. 446
Establishing
Connections
to
Members
.
.
.
. 446
Using
the
BLDL
Macro
to
Construct
a
Directory
Entry
List
.
.
.
.
.
.
.
.
.
.
.
.
. 447
Using
the
BSP
Macro
to
Backspace
a
Physical
Record
.
.
.
.
.
.
.
.
.
.
.
.
.
. 448
Using
the
Directory
Entry
Services
.
.
.
.
. 448
Using
the
FIND
Macro
to
Position
to
the
Beginning
of
a
Member
.
.
.
.
.
.
.
.
. 455
Using
ISITMGD
to
Determine
Whether
the
Data
Set
Is
System
Managed
.
.
.
.
.
.
.
.
. 456
Using
the
NOTE
Macro
to
Provide
Relative
Position
.
.
.
.
.
.
.
.
.
.
.
.
.
. 457
Using
the
POINT
Macro
to
Position
to
a
Block
457
Switching
between
Members
.
.
.
.
.
.
. 458
Using
the
STOW
Macro
to
Update
the
Directory
459
Retrieving
a
Member
of
a
PDSE
.
.
.
.
.
.
. 460
Sharing
PDSEs
.
.
.
.
.
.
.
.
.
.
.
.
. 462
Sharing
within
a
Computer
System
.
.
.
.
. 462
Sharing
Violations
.
.
.
.
.
.
.
.
.
.
. 462
Multiple
System
Sharing
of
PDSEs
.
.
.
.
. 463
Normal
or
Extended
PDSE
Sharing
.
.
.
.
. 465
Modifying
a
Member
of
a
PDSE
.
.
.
.
.
.
. 466
Updating
in
Place
.
.
.
.
.
.
.
.
.
.
. 466
Extending
a
PDSE
Member
.
.
.
.
.
.
.
. 466
Deleting
a
PDSE
Member
.
.
.
.
.
.
.
. 467
Renaming
a
PDSE
Member
.
.
.
.
.
.
.
. 467
Reading
a
PDSE
Directory
.
.
.
.
.
.
.
.
. 467
Concatenating
PDSEs
.
.
.
.
.
.
.
.
.
.
. 468
Sequential
Concatenation
.
.
.
.
.
.
.
. 468
Partitioned
Concatenation
.
.
.
.
.
.
.
. 468
Converting
PDSs
to
PDSEs
and
Back
.
.
.
.
. 469
PDSE
to
PDS
Conversion
.
.
.
.
.
.
.
. 470
Restrictions
on
Converting
PDSEs
.
.
.
.
. 470
Improving
Performance
.
.
.
.
.
.
.
.
.
. 470
Recovering
Space
in
Fragmented
PDSEs
.
.
.
. 470
PDSE
Address
Spaces
.
.
.
.
.
.
.
.
.
. 470
Chapter
28.
Processing
z/OS
UNIX
Files
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 473
Accessing
the
z/OS
UNIX
File
System
.
.
.
.
. 473
Characteristics
of
UNIX
Directories
and
Files
474
Access
Methods
Used
.
.
.
.
.
.
.
.
. 474
Using
HFS
Data
Sets
.
.
.
.
.
.
.
.
.
.
. 475
Creating
HFS
Data
Sets
.
.
.
.
.
.
.
.
. 475
Creating
Additional
Directories
.
.
.
.
.
. 476
Creating
z/OS
UNIX
Files
.
.
.
.
.
.
.
.
. 477
Creating
a
UNIX
File
with
BSAM
or
QSAM
.
. 477
Creating
a
UNIX
File
Using
JCL
.
.
.
.
.
. 479
JCL
Parameters
for
UNIX
Files
.
.
.
.
.
. 480
Creating
a
Macro
Library
in
a
UNIX
Directory
481
Managing
UNIX
Files
and
Directories
.
.
.
.
. 482
Specifying
Security
Settings
for
UNIX
Files
and
Directories
.
.
.
.
.
.
.
.
.
.
.
.
. 482
Editing
UNIX
Files
.
.
.
.
.
.
.
.
.
. 483
Using
ISHELL
to
Manage
UNIX
Files
and
Directories
.
.
.
.
.
.
.
.
.
.
.
.
. 484
Copying
UNIX
Files
or
Directories
.
.
.
.
. 485
Services
and
Utilities
for
UNIX
Files
.
.
.
.
.
. 486
Services
and
Utilities
Cannot
be
Used
with
UNIX
Files
.
.
.
.
.
.
.
.
.
.
.
.
. 487
z/OS
UNIX
Signals
.
.
.
.
.
.
.
.
.
. 487
z/OS
UNIX
Fork
Service
.
.
.
.
.
.
.
. 487
SMF
Records
.
.
.
.
.
.
.
.
.
.
.
. 488
Reading
UNIX
Files
Using
BPAM
.
.
.
.
.
. 488
Using
Macros
for
UNIX
Files
.
.
.
.
.
.
. 488
BLDL—Constructing
a
Directory
Entry
List
.
. 488
CHECK—Checking
for
I/O
Completion
.
.
. 489
CLOSE—to
Close
the
DCB
.
.
.
.
.
.
.
. 489
FIND—Positioning
to
the
Starting
Address
of
a
File
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 489
READ—Reading
a
UNIX
File
.
.
.
.
.
.
. 490
STOW
DISC—Closing
a
UNIX
File
.
.
.
.
. 490
Concatenating
UNIX
Files
and
Directories
.
.
.
. 490
Sequential
Concatenation
.
.
.
.
.
.
.
. 490
Partitioned
Concatenation
.
.
.
.
.
.
.
. 491
Chapter
29.
Processing
Generation
Data
Groups
.
.
.
.
.
.
.
.
.
.
.
. 493
Data
Set
Organization
of
Generation
Data
Sets
.
. 494
Absolute
Generation
and
Version
Numbers
.
.
. 494
Relative
Generation
Number
.
.
.
.
.
.
.
. 495
Programming
Considerations
for
Multiple-Step
Jobs
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 495
Cataloging
Generation
Data
Groups
.
.
.
.
. 496
Submitting
Multiple
Jobs
to
Update
a
Generation
Data
Group
.
.
.
.
.
.
.
.
. 496
Naming
Generation
Data
Groups
for
ISO/ANSI
Version
3
or
Version
4
Labels
.
.
.
.
.
.
.
. 497
Creating
a
New
Generation
.
.
.
.
.
.
.
.
. 498
Allocating
a
Generation
Data
Set
.
.
.
.
.
. 498
Passing
a
Generation
Data
Set
.
.
.
.
.
.
. 501
Rolling
In
a
Generation
Data
Set
.
.
.
.
.
. 501
Controlling
Expiration
of
a
Rolled-Off
Generation
Data
Set
.
.
.
.
.
.
.
.
.
. 502
Creating
an
ISAM
Data
Set
as
Part
of
a
Generation
Data
Group
.
.
.
.
.
.
.
.
. 502
Retrieving
a
Generation
Data
Set
.
.
.
.
.
.
. 502
Reclaiming
Generation
Data
Sets
.
.
.
.
.
.
. 503
Turning
on
GDS
Reclaim
Processing
.
.
.
.
. 503
Turning
off
GDS
Reclaim
Processing
.
.
.
.
. 503
Building
a
Generation
Data
Group
Index
.
.
.
. 504
Chapter
30.
Using
I/O
Device
Control
Macros
.
.
.
.
.
.
.
.
.
.
.
.
.
. 505
Using
the
CNTRL
Macro
to
Control
an
I/O
Device
505
Using
the
PRTOV
Macro
to
Test
for
Printer
Overflow
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 506
Using
the
SETPRT
Macro
to
Set
Up
the
Printer
.
. 506
Using
the
BSP
Macro
to
Backspace
a
Magnetic
Tape
or
Direct
Access
Volume
.
.
.
.
.
.
.
. 507
Using
the
NOTE
Macro
to
Return
the
Relative
Address
of
a
Block
.
.
.
.
.