UDM - zOS File Systems

Overview

The z/OS data set file system is a flat file system. There are no concepts of directories. The files are more commonly referred to as data sets.

(Although ddname is referred to as a z/OS file system, it is not a different file system than data set. However, ddnames do have their own naming conventions and behavior relative to UDM's CFS.)

z/OS data sets supported by UDM fall into two major categories:

  • Sequential
    Sequential data set has a data set organization of Physically Sequential (PS).
  • Partitioned
    Partitioned Data Set (PDS) has a data organization of Partitioned Organization (PO), which also includes system managed Partitioned Data Set Extended (PDSE) organization.

A PDS is treated as a directory in CFS. A PDS contains a set of individual files called members, which is analogous to a directory containing a set of files. A PDS member has a maximum length of 8 characters.

CFS Terminology Associated with z/OS Data Sets

The following table associates CFS terminology with z/OS partitioned and sequential data sets. Fully qualified data set names are enclosed in apostrophes.
 

CFS

Sequential

Partitioned

path

Data set name. A path includes fully qualified names and relative names.
 
Examples:

  • PHONE.DATA
  • 'MYUID.PHONE.DATA'

PDS name and member name in parenthesis or just a member name. A path includes fully qualified names and relative names.
 
Examples:

  • JCL.CNTL(JOBAB)
  • 'MYUID.JCL.CNTL(JOBAB)'
  • JOBAB

absolute path

Fully qualified data set name.
 
Example:

  • 'MYUID.PHONE.DATA'

Fully qualified PDS name and member name in parenthesis.
 
Example:

  • 'MYUID.JCL.CNTL(JOBAB)'

relative path

Data set name without one or more leading qualifiers. The name is relative to the current directory.
 
Examples:

  • PHONE.DATA
  • DATA

PDS name without its high-level or mid-level qualifiers and a member name enclosed in parenthesis or just a member name. The name is relative to the current directory.
 
Examples:

  • JCL.CNTL(JOBAB)
  • CNTL(JOBAB)
  • JOBAB

file

Same as path (data set name).
 
It may be absolute or relative.

Member name only.
 
Example:

  • JOBAB

directory

n/a

PDS name without the member name. The directory name may be relative or absolute.
 
Examples:

  • JCL.CNTL
  • 'MYUID.JCL.CNTL'

current directory

Current leading qualifiers.
 

Note

It may be more than one qualifier long.

 
Examples:

  • MYUID
  • MYUID.DATA

Current leading qualifiers.
 

Note

It may be more than one qualifier long or even the full PDS name.

 
Examples:

  • MYUID
  • MYUID.JCL
  • 'MYUID.JCL.CNTL'


UDM is capable of running as a JES batch job. In a batch environment data sets may be allocated dynamically by UDM or UDM may use data sets pre-allocated with JCL DD statements.

The JCL DD statement allocates the data set and defines its to the batch job environment as a ddname that the program uses.

CFS Terminology Associated with z/OS ddnames

The following table associates CFS terminology with z/OS partitioned and sequential data sets allocated to ddnames.
 

CFS

Sequential

Partitioned

path

ddname defined with a JCL DD statement.
 
Examples:

  • DD1
  • PHONE

ddname with a member name enclosed in parenthesis or just the member name.
 
Examples:

  • INDD(JOBAB)
  • MYDATA(PHONE)
  • PHONE

absolute path

There is only one type of path and that is absolute. Refer to path above.

  • DD1

ddname and member name enclosed in parenthesis. Refer to path above.

relative path

n/a

Member name only. The path is relative to the current directory.

file

Same as path (the ddname).
 
Example:

  • DD1

Member name only.
 
Example:

  • JOBAB

directory

n/a

ddname with which a PDS is allocated.

current directory

n/a

Current ddname with which a PDS is allocated.
 
Examples:

  • INDD
  • OUTDD

z/OS Data Sets

There are a variety of data sets on z/OS. The UDM-supported data set organizations and data set attributes are listed below.

Data Set Names

A z/OS data set name is composed of one or more qualifiers separated by periods. A data set has a maximum length of 44 characters.

A qualifier has an maximum length of eight characters. The first character of a qualifier must start with A-Z, @, #, or $. The remaining characters can be 0-9, A-Z, @, #, $, or -.

The first qualifier is commonly referred to as the high-level qualifier (HLQ).

An example data set name is SYS1.CEE.CEEPRC, where:

  • SYS1 is the high-level qualifier.
  • CEE is the second qualifier.
  • CEEPRC is the third and last qualifier.

In some applications contexts, the HLQ can be left off. TSO and ISPF are such applications. UDM also behaves in this manner. A distinction is the made between a data set that specifies the HLQ and one that does not specify the HLQ. When the HLQ is specified, it is referred to as a fully qualified data set name and is enclosed in apostrophes.

Data Set Organization

A data set's organization is obtained from the VTOC's format-1 DSCB. If the data set is cataloged, the DSCB is only read for non-VSAM catalog entries.

The following organizations are supported:

  • Physical Sequential
  • Partitioned Organization
  • Partitioned Data Set Extended
  • Generation Data Set

The following organizations are not supported:

  • Indexed sequential
  • Direct
  • Unmovable
  • VSAM

Any organization not listed is undetermined.

Record Format

The following record formats are supported:

  • Fixed length
  • Variable length
  • Undefined length
  • Blocked
  • Fixed length standard
  • Variable length spanned
  • ISO/ANSI control character
  • Machine control character

Block Size

There are three different types of block sizes:

  1. User specified block size that cannot exceed 32,760.
  2. System determined block size that cannot exceed 32,760.
  3. Block sizes supported by the Large Block Interface (LBI) that permits sizes up to 2G. LBI is supported by DFP on tape devices only at this time.

z/OS Generation Data Group and Generation Data Sets

A Generation Data Group (GDG) is a catalog entry used to maintain a group of Generation Data Sets (GDS).

GDSs are referred to with absolute names or relative names:

  • Absolute name has the form of GDG.G0000V00.
  • Relative name has the form of GDG(n), where:
    • n = 0 for the current GDS
    • n = -1 for the previous GDS
    • n = +1 for a new GDS

Allocation

Allocation attributes for a GDS are obtained differently depending on whether the data set name is an absolute or relative form.

Absolute Name

Allocation attributes for an absolute name are provided like any other data set through JCL keywords or allocation options.

Relative Name

Allocation attributes for relative names are provided with one of the following methods:

  1. By referring to a cataloged data set from which attributes are copied.
    1. DCB=(dsname)
    2. LIKE=dsname
    3. REFDD=ddname
  2. By referring to a model Data Set Control Block (DSCB) on the volume on which the GDG is cataloged. This cannot be used for SMS managed data sets.
    1. DCB=(modeldsname,yourattributes)
  3. By using the DATACLAS and LIKE allocation keywords.
  4. Through the assignment of a DATACLAS by a data class ACS routine.

Catalogs

There are two types of catalogs:

  1. Integrated Catalog Facility (ICF)
  2. VSAM Catalogs

Note

IBM has dropped support for VSAM Catalogs as of January 1, 2000; UDM does not support them.

Symbolic Names

A catalog entry can be defined with symbolic names for the volume serial number. UDM does resolve the symbolic names when they are found for the volume serial number.

Catalog Entry Types

A catalog entry is defined as a specific type. UDM only supports the non-VSAM type entry. A catalog entry type can by any one of the following:

  • Non-VSAM Data Set
  • Generation Data Set
  • Cluster
  • Alternate Index
  • VSAM Path
  • Alias
  • User Catalog Connector
  • Tape Volume Catalog Library
  • Tape Volume Catalog Volume

z/OS Allocation

Data set allocation is the process of obtaining access to the data set.

If the data set already exists, it resides on a device, such as a tape or, more likely, a disk. In order to allocate an existing data set, the device must be known. A volume serial name or number and a unit name or number represents an I/O device in z/OS.

The unit and volume serial number (volser) can be specified explicitly or specified implicitly (with a catalog entry).

Allocation can be performed with JCL or dynamically. Dynamic allocation requires allocation attributes to be specified by the user. UDM dynamic allocation of a data set that has been migrated by HSM (or similar three-party product) will result in the data set being recalled. UDM will wait until the recall is complete and then continue processing.