|
- PRIVATE
- Requests a private volume. Private means that:
- The system is not to allocate an output data set to the volume
unless the volume is specifically requested, such as in a VOLUME=SER
subparameter.
- If tape, the volume is to be demounted after the data set is closed,
unless RETAIN is also coded or the DD DISP parameter specifies PASS.
- If a demountable direct access volume, the volume is to be demounted
after the data set is closed.
- RETAIN
- For a private tape volume, RETAIN requests that this
volume is not to be demounted or rewound after the data set is closed
or at the end of the step. For a public tape volume, RETAIN requests
that this volume is to be retained at the device if it is demounted
during the job.
RETAIN has no effect on the handling of direct
access volumes.
For JES3-managed tape devices, JES3 does not
honor the RETAIN parameter after reaching the end of the job. However,
if RETAIN is coded and the tape volume is to be shared with a later
step, JES3 designates the volume as retained. JES3 also ignores the
RETAIN parameter when issuing its KEEP/RETAIN messages.
- volume-sequence-number
- Identifies the volume of an existing multivolume data set to be
used to begin processing the data set. The volume sequence number
is a decimal number from 1 through 255; the first volume is identified
as 1. The volume sequence number must be less than or equal to the
number of volumes on which the data set exists; otherwise, the job
fails.
If the volume sequence number is not specified the system
will process the first volume.
For new data sets, the system
ignores the volume sequence number.
- volume-count
- Specifies the maximum number of volumes that an output data
set requires. The volume count is a decimal number from 1 through
255. The total volume count for all DD statements in one job step
cannot exceed 4095.
Note: The system uses the unit count to determine
how many devices to allocate. However, if you also specify P (for
parallel mount) in the UNIT parameter, the system might use the value
specified for the volume count to determine how many devices and volumes
to allocate. See the unit-count description in Subparameter definition.
Volume count for tape data sets:
Volume count and serial numbers: When the volume
count is greater than: - The number of volume serials coded in the SER subparameter
- The number of volume serials the system retrieved from the catalog
- The number of volume serials the system retrieved from VOL=REF
- The number of volume serials the system retrieved from a passed
data set,
the system assigns other volumes to the remaining devices. If
the volume count is smaller than the number of volume serials, the
system ignores the volume count.
If a data set may need more
volumes than the number of volume serials coded, specify a volume
count equal to the total number of volumes that might be used. Requesting
more volumes in the volume count will make sure that the data set
can be written on more volumes if it exceeds the requested volumes.
If you do not code a volume count and volume serial number,
the system can extend an existing cataloged data set that resides
on a removable volume up to 20 volumes.
Volume
count for nonspecific requests: If the request is for a nonspecific,
public volume on a direct access device, the system ignores the volume
count and allocates the number of volumes in the UNIT count subparameter.
If the request is for a nonspecific, private volume, the system
treats it like a specific request if the volume count is more than
one and allocates the number of volumes in the volume count.
Volume count for system-managed DASD data sets: You cannot
specify a volume count for an existing system-managed DASD data set.
(If you do, the system will ignore it.) When you create a new system-managed
DASD data set, the volume count defined in the data
class may be overridden by using the volume-count subparameter. However,
if the volume-count subparameter specifies a value greater then 59,
the system will set the volume count to a maximum of 59. The maximum
volume count for a VSAM or System-Managed DASD data set is 59.
Volume count for system-managed tape data sets: If
you specify a volume count and DISP=PASS on a DD statement, the system
will pass the volume count to subsequent receiving steps within the
job. This may cause the system to allocate more devices than expected
to the receiving DD. Coding UNIT=AFF in the receiving step's DD will
result in the optimum number of devices being allocated to the receiving
DD. For more information about the number of devices allocated,
refer to the z/OS MVS JCL User's Guide. When you create a new system-managed TAPE data set,
the volume count defined in the data class may be overridden by using
the volume-count subparameter. If you do not provide a volume count
parameter than the volume count specified in the data class would
be used.
- SER=serial-number
- SER=(serial-number[,serial-number]...)
- Identifies by serial number the volume(s) on which the data set
resides or will reside. A volume serial number is 1 through 6 alphanumeric,
national ($, #, @), or special characters; enclose a serial number
that contains special characters, other than hyphens, in apostrophes.
If the number is shorter than 6 characters, it is padded with trailing
blanks.
You can code a maximum of 255 volume serial numbers
on a DD statement. The maximum number of volume serial numbers for
a VSAM or SMS-managed data set is 59.
Do not specify duplicate
volume serial numbers in a SER subparameter. Each volume must have
a unique volume serial number, regardless of whether it is a tape
or disk volume.
Do not code a volume serial number as SCRTCH,
PRIVAT, or Lnnnnn (L with five numbers); these are used in messages
to ask the operator to mount a volume. SCRTCH is used
when the dataset being created on the non-specific volume is temporary
[DISP=(NEW,DELETE) or DSN=&&tempname]. PRIVAT is used for
all other cases of non-specific volumes. Lnnnnn is used as the "volser"
of an NL (unlabeled) tape.
Do not code a volume serial
number as MIGRAT, which is used by the Hierarchical Storage Manager DFSMShsm for migrated data sets. When using some typewriter
heads or printer chains, a volume serial number may be unrecognizable
if you code certain special characters.
For a permanently mounted
direct access device, such as a 3390 Direct Access Storage, specifying
a volume serial number and UNIT=3390 has the same result as specifying
a device number in the UNIT parameter.
For new SMS-managed
data sets: For an SMS-managed data set, code the SER subparameter
only if the storage administrator has specified GUARANTEED_SPACE=YES
in the storage class of the data set. In this case, SMS uses the volumes
you explicitly specify. If it is unable to do so, the allocation fails.
The volume serial numbers must be assigned to the same storage group.
If GUARANTEED_SPACE=YES is not in effect, SMS ignores any volume serial
numbers you specify for new SMS-managed data sets.For SMS-managed
library tape volumes: For SMS-managed Library Tape volume, the
Guaranteed Space storage class attribute is ignored and the system
will allocate to the specified volume.
- REF=dsname
- REF=*.ddname
- REF=*.stepname.ddname
- REF=*.stepname.procstepname.ddname
- Tells the system to obtain volume serial numbers from another
data set or an earlier DD statement.
Note: If the
referencing data set is an existing relative generation data set (GDG
data set) and the VOL=REF specifies one of the three forms of REF=*.ddname,
then the VOL=REF is ignored and the volume serial numbers are taken
from the catalog entry for the named generation of the data set. For
example:
// ddname2 DD DSN=TSOUSR2.TAPE.GDGNAME(0),DISP=SHR,VOL=REF=*.
stepname.ddname1
The volume serial numbers used would
be for the current generation of TSOUSR2.TAPE.GDGNAME, not for the
data set referenced by *.stepname.ddname1.
VOL=REF obtains ONLY
the volume serial numbers from the referenced data set or earlier
DD statement. In particular it does not obtain the volume sequence
number, volume count, label type, or data set sequence number.
- dsname
- Names a cataloged or passed data set. The system assigns this
data set to the same volumes containing the cataloged or passed data
set.
When dsname names a passed data set, the reference must appear
on a DD statement before the receiving DD statement. (After a passed
data set is received, the passed data set information is no longer
available.)
When the dsname contains special characters,
other than the periods used in a qualified name, enclose it in apostrophes.
The dsname can be an alias name or a catalog name.
The dsname cannot be a generation data group (GDG) base name or a
member name of a non-GDG data set.
The dsname
can be a GDG relative generation member, but since it contains special
characters (the parentheses) it must be enclosed in apostrophes.
It is important to be aware that while a GDG relative generation name
in the DSNAME parameter always resolves to the state of the GDG index
as of the beginning of the job, a GDG relative generation name in
the dsname sub-parameter of the VOLUME parameter always resolves to
the state of the GDG index as of the beginning of the step. For example
if, at the beginning of a job, the latest generation of a dataset
was G0007V00, and steps 1 and 2 of the job each created a new generation,
then the following JCL for step 3 of the job would be resolved as
shown:
//STEP3 EXEC PGM=pgmname
//DD1 DD DSN=gdgname(0),
// DISP=SHR,
// VOL=REF='gdgname(0)'
DSN=gdgname(0)
would resolve to generation G0007V00, since that was the zeroeth generation
at the beginning of the job.
VOL=REF=gdgname(0)
would resolve to generation G0009V00, since that was the zeroeth generation
at the beginning of the step.
By the same token,
//STEP3 EXEC PGM=pgmname
//DD1 DD DSN=gdgname(+3),
// DISP=NEW,
// VOL=REF='gdgname(+2)'
DSN=gdgname(+3)
would resolve to generation G0010V00, since that would be the +3 generation
at the beginning of the job.
VOL=REF=gdgname(+2)
would resolve to generation G0011V00, since that would be the +2 generation
at the beginning of the step. Since G0011V00 would not yet exist,
it would not be possible to refer to it as an existing dataset, and
so this JCL would fail.
- *.ddname
- Asks the system to obtain the volume serial numbers from earlier
DD statement ddname in the same job step.
- *.stepname.ddname
- Asks the system to obtain the volume serial numbers from DD statement,
ddname, in an earlier step, stepname, in the same job.
- *.stepname.procstepname.ddname
- Asks the system to obtain the volume serial numbers from a DD
statement in a cataloged or in-stream procedure. Stepname is the name
of the job step that calls the procedure, procstepname is the name
of the procedure step that contains the DD statement, and ddname is
the name of the DD statement.
Referenced data set not opened: When
REF refers to a DD statement in a previous step and the data set was
not opened, the system allocates a device that has the widest range
of eligibility to meet both DD statement requests. Thus, the system
might allocate a device for which the referring data set is not eligible.
To prevent this problem for tape data sets, always code the DCB DEN
subparameter or the DCB TRTCH subparameter on a DD statement that
you plan to reference.
References to multivolume tape data sets: When REF refers
to a data set residing on more than one tape volume, the system allocates
all volumes to the referencing DD when it represents an OLD data
set, that is, a data set that existed prior to the current job step.
For a NEW tape data set the system allocates only the last volume
of a referenced multivolume tape data set.
If
an earlier job step extends the referenced data set to more
volumes, or adds or extends an earlier data set so that the referenced
data set resides on a later volume, the new volume information is available to the referencing DD statement.
If the current job step extends the referenced data set to
more volumes, or adds or extends an earlier data set so that the
referenced data set resides on a later volume, the new volume information
is available to the referencing DD statement ONLY when the referenced
data set is a new data set with no volume serial numbers explicitly
or implicitly specified, which means only if the entire collection
of data sets on the volumes was created in the current step. In other
words, if the current job step extends the referenced data set to
more volumes, or adds or extends an earlier data set so that the
referenced data set resides on a later volume, the new volume information is not available to the referencing DD statement when either
of the following conditions is true: - The data set that is referenced (directly or through a chain of
references) existed before the start of the step containing the reference.
- The data set that is referenced (directly or through a chain of
references) is a new data set requested with specific volume serial
numbers. However the new volume will be resolved
if one unit is allocated when writing multifile, multivolume labelled
data sets leaving the tape positioned at the end of each data set
created.
If the referenced data set already exists and has volume serial numbers explicitly specified, then the
last listed volume serial is used even if the earlier data set actually
exists on or is written to fewer volumes.
If
the referenced data set is new and has specific volume serials, then
the last listed volume serial is used even if the data set is written
with fewer volumes.
In either of these cases,
the allocation of the referencing data set is likely to fail.
References to multivolume direct access data sets: When
REF refers to a data set that resides on more than one direct access
volume, the system allocates all of the volumes.
If a DD statement
that is requesting a new data set has a unit count and volume count
greater than one but specifies no volume serial numbers, one volume
is allocated. If a second DD statement within the same step requests
the same data set, the same volume is allocated to it. If this job
step extends the data set to more volumes, this new volume information
is not available to the second DD statement.
Two or more DD
statements in the same step can request the same data set. However,
if the data set is extended to additional volumes in that step, the
additional volume information is not available to the second or succeeding
DD statements within the step.
References to DD statements
with UNIT group names: When REF refers to a DD statement containing
a UNIT group-name subparameter, the system allocates a device of the
same type actually used for the referenced data set, but not necessarily
a device in the referenced group-name.
References to VSAM data sets: When REF
refers to a multivolume VSAM data set, the system allocates a device
of the same type as the first device type used for the referenced
VSAM data set.
References to SMS-managed data sets:
When REF refers to an SMS-managed data set, SMS manages the new data
set using the storage class of the referenced data set, if it is available,
and applies these rules: - If the reference is to a data set on one or more SMS-managed tape
volumes, then the two data sets must be assigned to the same storage
group. If the automatic class selection (ACS) routine does not assign
the same storage group to the referenced and referencing data sets,
the allocation fails with message IGD304I.
- For references to data sets on SMS-managed media other than tape,
the two data sets must be assigned to compatible types of storage
groups. This ensures the consistency for locate requests. For example,
if the referenced data set is on DASD, allocating the referencing
data set to be allocated on tape could result in potential locate
request errors. If the ACS routine does not assign compatible types
of storage groups to both data sets, the allocation fails with message
IGD318I.
References to non-SMS-managed data sets: When REF refers to a non-SMS-managed data set, the ACS routine
receives control and can do one of two things: - Allow the allocation to proceed as a non-SMS-managed data set.
- Fail the allocation by exiting with a non-zero return code.
If the ACS routine attempts to make the referencing data
set SMS-managed, SMS fails the allocation with message IGD305I.
Do not refer to in-stream data sets: Do not refer to
a DD *, DD DATA, or DD SYSOUT statement. The system ignores the reference
and defaults the device name to SYSALLDA, which is the group name
for all direct access devices defined to the system.
References to DUMMY
data sets: If ddname refers to a DD DUMMY statement, the data
set for this DD statement is also assigned a dummy status.
Label type picked up from referenced statement: When REF is coded, the system also copies the LABEL label type
subparameter from the referenced DD statement.
|