Job Entry - Submission process
Job entry, in the context of IBM z/OS, refers to the process by which a batch job, typically defined by Job Control Language (JCL), is submitted to the operating system for execution. This submission places the job into a queue managed by a Job Entry Subsystem (JES), awaiting processing by an available initiator. It is the fundamental mechanism for initiating non-interactive workloads on the mainframe.
Key Characteristics
-
- JCL-driven: Jobs are primarily defined by
JCLstatements, which specify the program to run, data sets to use, and execution parameters. - JES Integration: The Job Entry Subsystem (
JES2orJES3) is central to the submission process, receiving the job, performing initial syntax checks, and managing its lifecycle. - Input Sources: Jobs can be submitted from various sources, including internal readers (e.g.,
INTRDRJCL statement), external card readers (historically), Network Job Entry (NJE), or TSO/ISPF commands. - Spooling: Upon submission, JES spools the job's JCL and any associated
SYSINdata to disk, making it available for later processing and output management. - Job Queueing: Submitted jobs are placed into specific job queues (e.g.,
INPUT,HOLD,EXECUTION) based on their class, priority, and other attributes, awaiting an available job initiator. - Batch Processing Foundation: Job entry is the core mechanism for initiating and managing non-interactive, batch workloads on the mainframe, distinguishing it from interactive online transactions.
- JCL-driven: Jobs are primarily defined by
Use Cases
-
- Running COBOL Batch Applications: Submitting JCL to execute COBOL programs for tasks like payroll processing, daily ledger updates, or large-scale data transformations.
- Executing System Utilities: Using JCL to run z/OS utilities such as
SORTfor data sorting,IDCAMSfor VSAM data set management, orIEBGENERfor copying data sets. - Scheduled Reports and Data Extracts: Automating the generation of reports or extraction of data from databases (e.g., DB2, IMS) by submitting jobs at specific times or intervals.
- Development and Testing: Developers submit jobs to compile COBOL programs, link-edit load modules, and test new application logic against test data sets.
- System Maintenance Tasks: Performing tasks like backup and recovery, system cleanups, or applying system patches through batch jobs.
Related Concepts
Job entry is inextricably linked to JCL (Job Control Language), which defines the job's steps and resources. The submitted JCL is processed by a Job Entry Subsystem (JES2 or JES3), which manages the job's lifecycle from submission to termination. Once a job is submitted, it resides on the spool until an available initiator selects it for execution, making job entry the gateway to batch processing on z/OS. It contrasts with online transaction processing (OLTP), where CICS or IMS transactions are processed interactively.
- Validate JCL Syntax: Always validate JCL using tools like ISPF Edit's
VALIDATEcommand or pre-submission JCL checkers to catch syntax errors early and prevent job failures. - Use Appropriate Job Classes and Priorities: Assign job classes that match the job's resource requirements and priority to ensure efficient scheduling and resource utilization, avoiding contention.
- Implement Robust Error Handling: Include
CONDparameters,IF/THEN/ELSEstatements, andRESTARTparameters in JCL to manage dependencies and handle potential failures gracefully. - Monitor Job Queues: Regularly monitor job queues (e.g., using
SDSFor JES commands) to track job status, identify bottlenecks, and address held or failing jobs promptly. - Secure Job Submission: Control who can submit jobs and what resources they can access using security systems like `RAC