Modernization Hub

Input Dataset

Enhanced Definition

An input dataset in z/OS refers to a collection of logically related records or data that serves as the source information for a program or utility. It provides the necessary data that a batch job, COBOL program, or system utility will read, process, and potentially transform, without being modified by the consuming program itself.

Key Characteristics

    • Read-Only Access: Programs typically open input datasets for read-only access, ensuring the integrity of the source data is maintained.
    • Organization: Can be organized as sequential datasets (PS), partitioned datasets (PDS/PDSE members), VSAM datasets (KSDS, ESDS, RRDS), or even tape files.
    • JCL Allocation: Allocated and defined in JCL using a DD (Data Definition) statement, specifying its name, organization, and location (e.g., DSN, UNIT, VOLSER).
    • Data Source: Contains raw transaction data, master file records, control parameters, program source code, or any other information required for processing.
    • DCB Attributes: Attributes like RECFM (Record Format), LRECL (Logical Record Length), and BLKSIZE (Block Size) are crucial for correct data interpretation and efficient I/O.

Use Cases

    • Batch Transaction Processing: A COBOL batch program reads an input dataset containing daily transactions (e.g., sales, payments) to update a master file.
    • Report Generation: A program reads a sorted input dataset of customer records to generate a detailed report, filtering and summarizing data as needed.
    • Utility Control Statements: JCL utilities like SORT, IDCAMS, or IEBGENER use an input dataset (often SYSIN) to receive control statements or parameters that dictate their operation.
    • Program Compilation: A compiler (e.g., for COBOL or PL/I) takes a source code member from a PDS as an input dataset to produce an object module.
    • Data Migration/Conversion: A utility reads data from an existing input dataset in one format to convert and write it to an output dataset in a new format.

Related Concepts

Input datasets are fundamentally linked to DD Statements in JCL, which define their characteristics and allocate them to a job step. They are the counterpart to Output Datasets, which receive the results of program processing. Batch Programs (written in languages like COBOL, PL/I, Assembler) are the primary consumers of input datasets, performing business logic on the data. z/OS Data Management components (like QSAM, BSAM, VSAM) provide the services for programs to access and manage these datasets efficiently.

Best Practices:
  • Accurate DCB Specification: Always ensure that the DCB parameters (e.g., RECFM, LRECL, BLKSIZE) in the DD statement or program match the actual attributes of the input dataset to prevent data corruption or I/O errors.
  • Appropriate DISP Parameter: Use DISP=(SHR,KEEP) or DISP=(OLD,KEEP) for existing input datasets to ensure they are not accidentally deleted or overwritten. SHR is preferred for concurrent read access.
  • Cataloging: Catalog input datasets whenever possible (DISP=(...,CATLG)) to simplify JCL by allowing the system to locate the dataset without specifying UNIT and VOLSER.
  • Blocking for Efficiency: For sequential datasets, use an optimal BLKSIZE to reduce I/O operations and improve performance, often a multiple of LRECL and close to the track size.
  • Data Validation: Implement robust data validation routines within consuming programs to handle unexpected or malformed data in input datasets gracefully, preventing program abends.

Related Vendors

ASE

3 products

UNICOM Systems

35 products

IBM

646 products

Trax Softworks

3 products

Related Categories

Automation

222 products

Tools and Utilities

519 products

Administration

395 products

Security

144 products