Back to Courses

Labs – JCL (z/OS) 2.5


4 hours



These labs provide a range of JCL exercises that can be run in your organization’s mainframe training sandbox. Initial exercises focus on basic coding and resolving syntax errors and increase in complexity throughout the exercises.


These labs are suitable for anyone that needs to code and run JCL, and resolve JCL errors.


A solid understanding of JCL or the successful completion of the following Interskill courses:

  • JCL (z/OS) – Introduction to JCL 2.5
  • JCL (z/OS) – JCL Coding Basics – JOB and EXEC Statements 2.5
  • JCL (z/OS) – JCL Coding Basics – DD Statements and Data Sets 2.5
  • JCL (z/OS) – JCL Coding Basics – DD Statements and SYSOUT 2.5
  • JCL (z/OS) – Advanced JCL Data Set Use 2.5
  • JCL (z/OS) – Controlling Job and Step Processing 2.5
  • JCL (z/OS) – Working with Procedures and Symbols 2.5

Note: Each Lab below contains its own list of prerequisites or equivalent knowledge, which is displayed when accessing the module.


After completing these labs, the student should be able to:

  • Code a wide range of JCL statements and parameters, and incorporate organizational standards
  • Identify and resolve simple and complex JCL errors
  • Rerun a batch job following an error

Course Content

Lab JCL (z/OS) – Basics

Resolving JCL Syntax Errors
Writing JCL Code to Execute a Program
Invoking a Program from a Non-Allocated Library
Coding SYSOUT Attributes

Lab JCL (z/OS) – GDG and z/OS UNIX Use

Creating a GDG Base Entry using IDCAMS
Creating and Referencing Generation Data Sets
Altering GDG Base Entry Attributes
Creating a z/OS UNIX File

Lab JCL (z/OS) – Conditional Processing

Coding COND Parameters to Define Job Processing
Coding IF/THEN/ELSE/ENDIF Constructs
Defining Basic Scheduling for Batch Jobs

Lab JCL (z/OS) – Procedures and Symbols

Coding a Simple Procedure and Referencing it from a Batch Job
Passing Variables to a Procedure
Restarting from a Step Within a Procedure
Coding System Symbols
Creating JCL Symbols
Passing Symbol Values to In-Stream Data