z/OS JCL - Boot Camp

This course teaches the coding of job control statements to execute programs and access datasets in a z/OS environment. It also shows how to write and test catalogued procedures. The second part of the course builds on the skills taught during the first three days, and teaches the exploitation of the important advanced features and facilities available in z/OS JCL. It also shows how JCL maintenance can be simplified in order to aid productivity.
The course combines classroom tuition with practical exercises using various IBM utilities.

This definitive JCL course is regularly upgraded to reflect recent developments in z/OS. The practical sessions of this course now comprise almost 40% of the course timetable.

This course is available 'on demand' (minimum 2 students) for public presentations or for one-company, on-site presentations.

What you will learn

On successful completion of this course you will be able to:

  • state the purpose of each z/OS job control statement
  • code JCL statements to access disk and cartridge files
  • describe and use the commonly used parameters
  • correct syntax errors in JCL statements
  • code in-stream procedures and override, nullify and add parameters
  • appreciate the implications of SMS when using z/OS JCL
  • code jobs to run on systems other than the local host
  • code JCL statements to create PDSE library and data files
  • code JCL to create VSAM data sets without IDCAMS
  • use the OUTPUT statement more fully
  • describe the function of various batch utilities
  • code and execute nested procedures
  • use the INCLUDE statement to ease JCL maintenance
  • use the SET statement to resolve job wide variables
  • describe how SET is used by z/OS when commands are issued to invoke jobs
  • code and execute SORT.

Who Should Attend

Applications Programmers, Systems Programmers, Operations Analysts and Operators.


The ability to use TSO/ISPF and a basic knowledge of z/OS and its file structure. These skills can be gained by attending the RSM courses TSO/ISPF Users' Workshop and z/OS Concepts & Facilities.


5 days

Fee (per attendee)

£2750 (ex VAT)


This includes free online 24/7 access to course notes.


Hard copy course notes are available on request from rsmshop@rsm.co.uk

at £50.00 plus carriage per set.

Course Code



z/OS: Structure and Components

z/OS background and history; MVS main memory and virtual storage; MVS versions; Address space layout; Common area; Private area; Main components of z/OS; z/OS processing environments: On-line, TSO, ISPF, Batch; MVS spooling; Other program products and their functions.

Introduction to z/OS JCL

Basic job structure; Job stream processing; JCL output; JCL statement types; JCL statement format and coding rules; JES2 control statements; JES3 control statements; JCL error points.

The JOB Statement

The JOB statement overview; Accounting information - positional; Programmer's name - positional; Keyword parameters; Other keyword parameters; Example JOB statements.

The EXEC Statement

The EXEC statement; EXEC format - program; EXEC format - procedure; EXEC keyword parameters; Other EXEC keyword parameters; COND parameter; EVEN or ONLY; Example EXEC statements; EXEC statement summary.

Printing and In-stream Data

Print files & In-stream data; Printing: Examples, DEST, COPIES, DCB; Output statement; OUTPUT statement: Implicit, Explicit, Multiple output; Output statement parameters; Examples; OUTDISP parameter; In-stream data.

The DD Statement

The DD statement; DD parameters: DSN, DISP, UNIT and VOL; SMS considerations; DD statement summary: Existing catalogued dataset, Existing non-catalogued dataset.

The DD Statement - Working with Datasets

Dataset types; Sequential datasets; Partitioned Data Sets; VSAM datasets; BUFNO; Accessing existing datasets; Creating new non-VSAM datasets; Data Control Block parameters; SPACE parameter; Space allocation DSCBs; System Managed Storage: Disk datasets with SMS, Space allocation with SMS. DCB parameters with SMS; Creating VSAM datasets in JCL; Generation datasets; SMS GDG considerations; Stages in creating a generation dataset; Tape datasets; . LABEL parameter; DD statement summary; Creating a new dataset on disk - non-SMS; Creating a new tape dataset.

Further DD Considerations

JCL procedures; In-stream procedures; What a catalogued procedure cannot contain; Cataloguing a procedure; INCLUDE statement; Calling a procedure; Symbolic parameters; Examples of symbolic translation; Default parameters; Resolving symbolic parameters; SET statement; Modifying EXEC statement parameters; Modifying DD parameters; Concatenated datasets; Adding DD statements; Substitution prefixes; Using a standard COBOL compile/link/go procedure.

Conditional JCL Statements

The general construct; Name field; Relational-expression field; Relational-expression keywords; Comparison operators; Logical operators; NOT operator; Order of priority of operators; Parentheses; THEN and ELSE clauses; Contents of THEN and ELSE clauses; IF/THEN/ELSE/ENDIF and COND.

Common MVS Abend Codes

Problem handling; Program abends; Common MVS completion codes.

JES Control Statements

Introduction; Why have a Job Entry Sub-system?; JES historical requirements; JES2 versus JES3; JES2 processing overview; JES3 processing overview; Placement of JES2 statements; JES2 statement types; JES2 statement syntax; JES2 command statements.

JCL Command Processing

Introduction; Command authorisation; Internal Reader controls; z/OS MVS command authorisation; z/OS MVS command disposition; JES2 commands; z/OS MVS commands; z/OS command groups: INFO, I/O, CONS, MASTER, SYS; COMMAND statement; Sample exploitation; JES2 Command and Internal Reader.

Remote Batch Execution

Introduction; Local versus Remote definition; Local processing; Remote processing (Remote Job Entry - RJE); Remote processing (Network Job Entry - NJE); Sysplex; JES2 control statements: /*XEQ, /*ROUTE XEQ, /*ROUTE, /*XMIT; Security and Remote Job Execution; RACF overview; Propagation or not; JOB statement parameters.

Output Processing

Introduction; Positioning on a page; Control characters; Forms Control Block; Impact of JOB statement on output processing; Accounting Information; JOB statement keywords; JES2 statements: /*JOBPARM; /*OUTPUT, /*ROUTE; DD statement keywords; DCB parameter and output processing; OUTPUT statement; Implicit statements; Explicit statements; OUTPUT statement parameters; Output routing; Using DEST on the DD statement; Using multiple OUTPUT statements; Printing before JOB end; Setting output defaults; Output processing options.

Partitioned Data Set Extended (PDSE)

Introduction; 6.2 What is a PDS?; PDS disadvantages; What is a PDSE?; What are the advantages of a PDSE?; Types of PDSE; PDSE and BLKSIZE; PDSE concatenation; PDSE processing restrictions; Allocating a PDSE - IDCAMS; Allocating a PDSE via JCL; Migrating load modules to program objects.

z/OS DFP Utilities

What is a utility program?; Data Facility Product (DFP); DFP Utilities; DFP - system utilities; General overview; Standard DD statements; IEHINITT; IEHINITT control statement; IEHLIST; IEHMOVE; IEHPROGM; IFHSTATR; DFP - Data Set Utilities; General overview; Standard DD statements; IEBCOMPR; IEBCOPY; COPY operation; Partial copy; IEBDG; DSD statement; FD statement; REPEAT statement; CREATE statement; IEBEDIT; IEBGENER and ICEGENER; IEBIMAGE; IEBISAM; IEBPTPCH; IEBUPDTE; Access Method Services - IDCAMS.


Introduction; Positioning DFSMSdss; Dataset compression; Defragmentation; Full volume dumping; Partial volume dumping; Restoring; Migrating program objects.

Sub-system Interfacing

Introduction; What is a sub-system?; Where are sub-systems defined?; What is a Functional Sub-System?; Sub-system interface DD statements; CNTL statement; ENDCNTL statement; DD statement keywords; CNTL=; SUBSYS=; Examples of sub-system interface usage; PSF Channel Attached printer example; PSF TCP/IP example; Network printing example.

Using SORT

Introduction; Data Facility/Sort; How Sort works; Sort phases; Control fields; Sort operation; Control statements; JCL requirements; Messages; Syntax; Sort fields specification; MERGE field specification; MODS specification; INCLUDE/OMIT specification; RECORD specification; OUTFIL specification; ALTSEQ specification; OUTREC specification; SUM specification; OPTION specification; Common format codes for control fields.

© RSM Technology 2022