Modernization Hub

JOE - Job Output Element

Enhanced Definition

A Job Output Element (JOE) is an internal control block used by the Job Entry Subsystem (JES) in z/OS to manage and track the output data sets generated by a batch job. It represents a single `SYSOUT` data set or a group of `SYSOUT` data sets with common characteristics, such as destination or processing options. JOEs contain all the necessary information for JES to process, print, display, or transmit the associated job output.

Key Characteristics

    • Output Representation: Each JOE corresponds to a specific SYSOUT data set or a collection of SYSOUT data sets defined by a DD statement in JCL, or implicitly generated by the system (e.g., SYSPRINT, SYSABEND).
    • JES Management: JOEs are created and managed by JES2 or JES3, residing in the JES SPOOL space. They contain attributes like the SYSOUT class, destination, form name, copies, and processing options.
    • Control Block Structure: A JOE is a data structure containing pointers to the actual output data stored on the SPOOL, along with metadata required for its disposition and processing.
    • Lifecycle: JOEs are created when a job starts generating SYSOUT, updated as output is written, and then processed (e.g., printed, held, deleted) by JES after the job completes based on its attributes.
    • JCL Derivation: The attributes of a JOE are primarily derived from SYSOUT parameters specified on JCL DD statements (e.g., SYSOUT=(class,writer,form)) or JCL OUTPUT statements.

Use Cases

    • Standard Batch Job Output: Managing the SYSOUT for program listings, diagnostic messages, and reports generated by COBOL, PL/I, or Assembler batch applications.
    • Printed Reports: Directing job output to specific printers or print queues based on SYSOUT class and destination, allowing for physical hardcopy generation.
    • Electronic Output Distribution: Routing SYSOUT to HOLD queues for viewing via SDSF, or to specialized output management systems for archiving, indexing, and electronic distribution.
    • System Logs and Dumps: Handling system-generated output like SYSLOG entries, SYSABEND dumps, or SYSOUT from started tasks, ensuring proper capture and disposition.

Related Concepts

JOEs are fundamental to the operation of the Job Entry Subsystem (JES), specifically JES2 and JES3, which manage job input and output. They are directly linked to JCL DD statements that specify SYSOUT parameters, and optionally to JCL OUTPUT statements which provide more granular control over SYSOUT processing. The actual data referenced by a JOE resides in the JES SPOOL, a dedicated direct access storage space. A JOE is a component of the larger Job Control Block (JCB) structure that JES uses to track an entire job.

Best Practices:
  • Define SYSOUT Classes Appropriately: Use distinct SYSOUT classes (SYSOUT=A, SYSOUT=X, etc.) to categorize output based on destination, retention, and processing requirements, facilitating efficient JES management.
  • Minimize SPOOL Usage: Design applications to produce only necessary output. Large, unmanaged SYSOUT can consume significant SPOOL space, impacting system performance and potentially causing SPOOL full conditions.
-

Related Vendors

Broadcom

235 products

UNICOM Systems

35 products

IBM

646 products

Trax Softworks

3 products

Related Categories

Automation

222 products

CASE/Code Generation

19 products

Tools and Utilities

519 products

Administration

395 products

Security

144 products