z/OS JCL Workshop Part 1 - Foundation Skills

This course is essential for all those working in technical roles within a z/OS environment. The course teaches the coding of job control statements to execute programs and access datasets, as well as how to write and test catalogued procedures.
The course combines classroom tuition with practical exercises using various IBM utilities.
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 also available for exclusive one-company presentations and for live presentation over the Internet, via the Virtual Classroom Environment service.

The next step

To gain advanced skills the follow-on z/OS JCL Workshop Part 2 - Advanced Functions & Utilities is the ideal next course.

Virtual Classroom Environment dates - click to book!

UK Start Times

21 August 2024 4 September 2024 16 October 2024 27 November 2024

What is a 'Virtual Classroom Environment'?


What do I need?

  • webcam
  • headphones with microphone
  • sufficient bandwidth, at least 1.5 Mb/s in each direction.

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.

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.


3 days

Fee (per attendee)

£1575 (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 & 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.
This segment gives a brief overview of z/OS.

Introduction to z/OS Job Control Language

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.
Describes jobs and job steps, introduces rules for coding JCL statements and explains the role that JES has in job submission and execution.

The JOB Statement

The JOB statement overview; Accounting information - positional; Programmer's name - positional; Keyword parameters; Other keyword parameters; Example JOB statements.
This segment distinguishes between positional and keyword parameters. It also explains the more common JOB statement parameters.

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.
Covers the differences between executing a program and a procedure. Parameters used when a program is executed are explained.

Printing & 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.
JES's handling of print output (which output queue the print output will go to, etc), plus the use of 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.
Describes the JCL needed for existing datasets. The importance of cataloguing datasets is emphasised

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.
This segment describes the JCL needed to create new datasets, either on DASD, or cartridge. An explanation of generation datasets and the JCL needed to use them is included in this segment, along with details of the new parameters available if SMS is used.

Further DD Considerations

Special ddnames; JOBLIB; STEPLIB; Dump datasets; Concatenated datasets; Temporary dataset names; Dummy datasets.
The remaining uses of the DD statement, with emphasis on DD names for libraries, dump, concatenated and temporary datasets.


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 data sets; Adding DD statements; Substitution prefixes; Using a standard COBOL compile/link/go procedure.
Catalogued procedures are widely used in z/OS. This segment deals with all aspects of them, including creating, testing and modification.

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.
This is the IBM recommended way of coding conditional JCL. All aspects of the IF, THEN, ELSE construct are explained.

Common MVS Abend Codes

Problem handling; Program abends; Common MVS completion codes.

What the students say

Exactly what I was after. Much more confident with basic JCL after this course

z/OS Systems Programmer

Barclays Bank plc

© RSM Technology 2022