UDM - z/OS File Systems
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 three major categories:
- Sequential
Sequential data sets have a data set organization of Physically Sequential (PS). - Partitioned
A Partitioned Data Set (PDS) has a data organization of Partitioned Organization (PO), which also includes system managed Partitioned Data Set Extended (PDSE) organization. - VSAM
Virtual Storage Access Method (VSAM) datasets have a data organization of VSAM (VS).
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, sequential, and VSAM data sets. Fully qualified data set names are enclosed in apostrophes.
CFS | Sequential | Partitioned | VSAM |
|---|---|---|---|
path | Data set name. A path includes fully qualified names and relative names. Examples:
| PDS name and member name in parenthesis or just a member name. A path includes fully qualified names and relative names. Examples:
| Cluster or data component name. A path includes fully qualified names and relative names. Examples:
|
absolute path | Fully qualified data set name. Example:
| Fully qualified PDS name and member name in parenthesis. Example:
| Fully qualified cluster name or data component name in parenthesis. Examples:
|
relative path | Data set name without one or more leading qualifiers. The name is relative to the current directory. Examples:
| 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:
| Cluster or data component name without one or more leading qualifiers. The name is relative to the current directory (see below). Examples:
|
file | Same as path (data set name). It may be absolute or relative. | Member name only. Example:
| Same as path. |
directory | n/a | PDS name without the member name. The directory name may be relative or absolute. Examples:
| n/a |
current directory | One or more current leading qualifiers. Examples:
| One or more current leading qualifiers or the full PDS name. Examples:
| One or more current leading qualifiers. Examples:
|
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, sequential, and VSAM data sets referenced via JCL data definition statements (DD statements).
CFS | Sequential | Partitioned | VSAM |
|---|---|---|---|
path | ddname defined with a JCL DD statement. Examples:
| ddname with a member name enclosed in parenthesis or just the member name. Examples:
| ddname defined with a JCL DD statement. Examples:
|
absolute path | There is only one type of path and that is absolute. Refer to path above.
| ddname and member name enclosed in parenthesis. Refer to path above. | There is only one type of path and that is absolute. See 'path', above.
|
relative path | n/a | Member name only. The path is relative to the current directory. | n/a |
file | Same as path (the ddname). Example:
| Member name only. Example:
| Same as path (the ddname). Example:
|
directory | n/a | ddname with which a PDS is allocated. | n/a |
current directory | n/a | Current ddname with which a PDS is allocated. Examples:
| n/a |
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 read to obtain information for non-VSAM catalog entries. Some information for a VSAM cluster's data component may also be obtained from the DSCB, but most VSAM information is obtained from the catalog or other CEE runtime facilities.
The following organizations are supported:
- Physical Sequential
- Partitioned Organization
- Partitioned Data Set Extended
- Generation Data Set
- VSAM
- UDM only provides the ability to copy VSAM datasets to a sequential dataset or flat file.
- To establish a baseline level of support, UDM can be expected to produce the same output as an IDCAMS REPRO of a VSAM cluster.
- VSAM support is specifically provided for key-sequenced datasets (KSDS). Entry-sequenced (ESDS) or LINEAR (ZFS) datasets are not supported.
- UDM can accept the VSAM dataset's cluster or data component name, but will always copy the dataset's content. UDM makes no attempt to isolate or preserve the cluster's index.
- UDM cannot create VSAM datasets.
- UDM only provides the ability to copy VSAM datasets to a sequential dataset or flat file.
The following organizations are not supported:
- Indexed sequential
- Direct
- Unmovable
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:
- User specified block size that cannot exceed 32,760.
- System determined block size that cannot exceed 32,760.
- Block sizes supported by the Large Block Interface (LBI) that permits sizes up to 2G.
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:
- By referring to a cataloged data set from which attributes are copied.
- DCB=(dsname)
- LIKE=dsname
- REFDD=ddname
- 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.
- DCB=(modeldsname,yourattributes)
- By using the DATACLAS and LIKE allocation keywords.
- Through the assignment of a DATACLAS by a data class ACS routine.
- When no other allocation attributes are specified, UDM will search the catalog to obtain the current GDS's DSCB information and apply those to the target dataset.
Catalogs
UDM uses the Catalog Search Interface (CSI) to obtain dataset information that resides in the Basic Catalog Structure (BCS), in the VSAM Volume Data Set (VVDS), or in Catalog control blocks.
Information obtained via CSI helps identify the dataset type and other information that can be used to set default values for a target dataset's allocation attributes.
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 supports non-VSAM and VSAM type entries. A catalog entry type can by any one of the following:
- Non-VSAM Data Set
- Generation Data Set
- Cluster
- UDM relies on associated information that resides in the catalog to determine the name of VSAM cluster's data component
- Conversely, a VSAM cluster's data component can be used to identify the VSAM cluster name
- 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.