Modernization Hub

Inline

Enhanced Definition

In the mainframe context, "inline" primarily refers to data, procedures, or code that is embedded directly within the same input stream or file as the job control language (JCL) or source code, rather than being referenced from an external dataset or library. This allows for self-contained job submissions or program definitions on z/OS.

Key Characteristics

    • Self-contained: The data, procedure, or code is an integral part of the job stream itself, eliminating the need for separate files.
    • No external dataset reference: DD statements for inline data (e.g., DD *, DD DATA) do not require a DSN (Dataset Name) parameter.
    • Temporary nature: Often used for temporary input, one-off procedures, or control statements that do not require permanent storage.
    • Read by the job step: The z/OS operating system or the executing program reads the inline content directly from the job's input stream.
    • Delimited: Inline data and procedures are typically marked by specific delimiters (e.g., /* for DD *, PEND for inline PROCs, or custom delimiters with DD DATA).
    • Convenience: Simplifies job submission for small amounts of data or simple procedures, reducing the overhead of managing separate datasets.

Use Cases

    • Providing input data to a program: Using DD * or DD DATA to supply small input files, control cards, or parameters directly to a COBOL program, utility, or assembler program.
    jcl
    //SYSIN    DD *
    CARD1 DATA
    CARD2 DATA
    /*
    • Defining an inline JCL procedure: Embedding a PROC definition directly within a job stream using PROC and PEND statements, rather than calling a cataloged procedure from a PROCLIB.
    jcl
    //MYJOB    JOB ...
    //MYPROC   PROC
    //STEP1    EXEC PGM=IEFBR14
    //         PEND
    //         EXEC MYPROC
    • Including control statements for utilities: Supplying SORT control statements, IDCAMS commands, or DFSMSdss commands directly within the JCL stream for immediate execution.
    jcl
    //SYSIN    DD *
    SORT FIELDS=(1,10,CH,A)
    OUTREC FIELDS=(1,10,C'NEW')
    /*
    • Temporary job stream modifications: Quickly testing changes to a procedure or data without modifying external libraries or datasets, facilitating rapid prototyping and debugging.

Related Concepts

Inline constructs are fundamental to JCL and job processing on z/OS. They stand in contrast to cataloged procedures (which are stored in a PROCLIB and invoked by name) and external datasets (which are allocated and referenced via DD DSN=). While external resources offer reusability, persistence, and centralized management, inline elements provide flexibility and self-containment for specific job executions, often interacting closely with utility programs (like SORT, IDCAMS) or application programs that expect sequential input from SYSIN or other DD names.

Best Practices:
  • Limit usage for small data volumes: Avoid using inline data for large input files, as it can make JCL unwieldy, difficult to read, and cumbersome to modify. Prefer external datasets for larger volumes.
  • Use DD DATA with custom delimiters for special characters: If inline data contains JCL delimiters (like /* or //), use DD DATA,DLM=xx to specify a unique two-character delimiter to prevent premature termination of the inline dataset.
  • Document inline procedures thoroughly: If using inline PROCs, ensure they are well-commented, as they are not easily discoverable or maintainable in a library context.
  • Prefer cataloged PROCs for reusability and standardization: For frequently used, complex, or critical procedures, always create and catalog them in a PROCLIB for better maintainability, version control, and consistency across jobs.
  • Be mindful of security and sensitive data: Avoid placing sensitive information (e.g., passwords, confidential data) directly in inline JCL or data streams, especially in environments where job streams might be widely accessible.

Related Vendors

ASE

3 products

Macro 4

20 products

IBM

646 products

Applied Software

7 products

Related Categories

Administration

395 products

Operating System

154 products

Encryption

41 products

Files and Datasets

168 products