Modernization Hub

IR - Internal Reader

Enhanced Definition

The Internal Reader (IR) is a component of the Job Entry Subsystem (JES) (either JES2 or JES3) on z/OS that allows programs or system components to submit jobs directly to JES for processing. It provides a programmatic interface for placing JCL streams into the JES job queue, bypassing external input devices like card readers or remote job entry (RJE) stations.

Key Characteristics

    • Programmatic Job Submission: Enables applications, utilities, or system services to dynamically generate and submit JCL streams for execution.
    • JES Integration: Acts as a direct interface to JES2 or JES3, ensuring submitted jobs are immediately placed into the system's job queue for scheduling.
    • Efficiency: Eliminates the I/O overhead and physical dependencies associated with traditional external readers, leading to faster and more automated job submission.
    • DD Statement Implementation: Typically accessed by a program writing to a DD statement defined with DDNAME=INTRDR and specific DCB attributes, often DCB=(RECFM=FB,LRECL=80).
    • Security Context: Submissions via the internal reader inherit the security context of the submitting program or user, requiring appropriate authorization (e.g., RACF permissions) to write to it.
    • System Service: Functions as a critical system service for automation and inter-job communication within the z/OS environment.

Use Cases

    • Automated Job Scheduling: Enterprise job schedulers (e.g., IBM Z Workload Scheduler, Broadcom CA-7) use the internal reader to submit batch jobs based on predefined schedules or events.
    • Application-Driven Job Chaining: A COBOL program or REXX exec, upon successful completion, can submit a subsequent job to process its output or perform follow-up tasks.
    • Online Transaction to Batch Submission: CICS or IMS transactions can submit batch jobs to perform long-running processes or generate reports that are unsuitable for online execution.
    • System Utilities: Custom utilities or system programs that generate JCL dynamically can use the internal reader to submit these jobs for execution.
    • Operator Commands: System operators can use console commands (e.g., SUBMIT) to submit small JCL streams directly to JES via the internal reader.

Related Concepts

The Internal Reader is intrinsically linked to JES (JES2/JES3), as it's the primary mechanism for programs to interact with JES for job submission. It processes JCL streams, which define the work to be performed. Security products like RACF, ACF2, or Top Secret are crucial for controlling which users or programs have the authority to write to the internal reader. Jobs submitted via the IR are placed into the JES spool, where they await execution, similar to jobs submitted through external readers but with greater automation.

Best Practices:
  • Implement Robust Security: Restrict write access to the internal reader using security profiles (e.g., JES.INTRDR in RACF) to authorized users, groups, or started tasks only.
  • Validate JCL Before Submission: Programs generating JCL should perform thorough syntax and semantic validation before writing to the internal reader to prevent job failures.
  • Include Error Handling: Implement comprehensive error handling and logging in programs that submit jobs via IR to manage failures during JCL generation or submission.
  • Monitor Resource Usage: Keep track of the volume of jobs submitted via the internal reader to ensure it doesn't overwhelm JES resources or create excessive job queues.
  • Use Unique Job Names: Ensure dynamically generated job names are unique or follow a consistent naming convention to simplify tracking and avoid conflicts in the JES queue.

Related Vendors

IBM

646 products

Trax Softworks

3 products

Related Categories

Operating System

154 products

Browse and Edit

64 products