z/OS MVS JCL Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Data set name for temporary data set

z/OS MVS JCL Reference
SA23-1385-00

A temporary data set is a data set that you create and delete within a job. (For information about coding data set names with the DD *, DATA, and SYSOUT parameters, see "Data Set Name for In-Stream or Sysout Data Set.")

Note: SMS manages a temporary data set if you specify a storage class (with the DD STORCLAS parameter) or if an installation-written automatic class selection (ACS) routine selects a storage class for the temporary data set.

When you define a temporary data set, you can code the DSNAME parameter or omit it; in either case, the system generates a qualified name for the temporary data set.

When you use DSNAME for a temporary data set, code the name as two ampersands (&&) followed by a character string 1 to 8 characters in length:
  • The first character following the ampersands must be alphabetic or national.
  • The remaining characters must be alphanumeric or national.
The format of the qualified name the system generates depends on whether or not you specified a data set name on the DSNAME parameter:
  • All temporary data set names begin as follows:
    SYSyyddd.Thhmmss.RA000.jjobname

    where:

    yy
    indicates the year
    ddd
    indicates the Julian day
    hh
    indicates the hour
    mm
    indicates the minute
    ss
    indicates the second
    jjobname
    indicates the name of the job
    Date fields and time fields in the system-generated name reflect:
    • For JCL allocations, when the job was processed by the Interpreter. (For JES2 this is when an initiator selects the job for execution. For JES3 this is at CI time.)
    • For dynamic allocations, when the dynamic allocation request was issued.
  • If you do not specify a data set name, or TEMPDSFORMAT(UNIQUE) is in effect, the full format of the temporary data set name is:
    SYSyyddd.Thhmmss.RA000.jjobname.Rggnnnnn

    where:

    gg
    01, or, in a sysplex:
    • for JCL allocations, the system identifier of the system that interpreted the job.
    • for dynamic allocations, the system identifier of the system on which the job executed.
    nnnnn
    a number that is unique within a system
  • If you do specify a data set name and TEMPDSFORMAT(INCLUDELABEL) is in effect, the full format of the temporary data set name is:
    SYSyyddd.Thhmmss.RA000.jjobname.dsetname.Hgg

    where:

    dsetname
    the 1 to 8 character DSNAME coded following the two ampersands (&&)
    gg
    01, or, in a sysplex:
    • for JCL allocations, the system identifier of the system which interpreted the job.
    • for dynamic allocations, the system identifier of the system on which the job executed.
If you use DSNAME, note that the system-generated qualified name for the temporary data set will not be unique under the following conditions:
  • Multiple tasks or APPC transactions having identical jobnames execute at exactly the same time, and
  • The tasks or transactions contain DD statements with identical temporary data set names.

To ensure that a temporary data set name is unique, do not code a temporary data set name. Allow the system to assign one.

Only the job that creates a temporary data set has access to it to read and write data and to scratch the data set.

Note:
  1. In general, the system treats a single ampersand (&) followed by a character string of 1 to 8 characters as a symbolic parameter. (See Using system symbols and JCL symbols.) However, if you code a data set name as a symbolic parameter (by coding DSNAME=&xxxxxxxx), and do not assign a value to or nullify the symbolic parameter, the system will process it as a temporary data set name.
  2. The SYSTEM TEMPDSFORMAT(UNIQUE|INCLUDELABEL) option in the parmlib member ALLOCxx enables allocation to use a more unique format for the data set name when DSN=&&mydsn is specified. The unique data set name allows jobs with the same data set names specified to run at the same time, without requiring the JCL programmer to remove the DSN=&&mydsn or to add data set name referback syntax. The system setting for this option may affect the data set name generated for a temporary data set.
&&dsname
Specifies the name of a temporary data set.
&&dsname(member)
Specifies the name of a temporary partitioned data set (PDS) or partitioned data set extended (PDSE) and a member within that data set.
member
1 - 8 alphanumeric or national characters, or a character X'C0'. The first character must be alphabetic or national.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014