This course builds on the skills taught in the definitive introductory JCL course - 'z/OS JCL Workshop Part 1 - Foundation Skills'. It 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.<br>The course also introduces and explains the use of DFSORT ICETOOL, a dataset reporting utility that provides a batch front-end for DFSORT, which is capable of performing complex sorting, copying, merging, reporting and analytical tasks using multiple datasets in a single job. This tool can be called from a program or executed directly in a batch job. ICETOOL provides a set of 'operators' that provides a wide variety of tasks. This course shows how to effectively exploit the benefits offered by this utility.<br><br>The course is taught through a combination of classroom tuition and practical hands-on exercises.<br><br>This course is also available for one-company, on-site presentations and for live presentation over the Internet, via the Virtual Classroom Environment service.
Read more


A good knowledge and understanding of JCL. This can be gained by attending the course z/OS JCL Workshop Part 1 - Foundation Skills.
Read more

Delegates will learn how to

  • 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 datasets 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 jobs that invoke DFSORT
  • code jobs that invoke ICETOOL
  • exploit ICETOOL to optimise your batch applications
  • use ICETOOL to produce listings
  • exploit ICETOOL to analyse data
  • exploit ICETOOL to invoke SORT, MERGE and JOINKEYS
  • exploit symbols when invoking DFSORT and ICETOOL.
Read more


z/OS JCL Review

Introduction; Structure of a job; Job processing in z/OS; JOB output; JCL statement types; JCL statement format and coding rules; JCL operand types: Positional parameters, Keyword parameters, Sub-parameters; JCL summary; JCL error points.

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 command authorisation; z/OS command disposition; JES2 commands; z/OS 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.

Advanced Catalogued Procedures

Introduction; Why JCL procedures; What and where is a procedure library?; Procedure specific JCL statements; JCLLIB statement; Order of search; Security and 24 by 7 implications; Statements: PROC, PEND, INCLUDE, SET; Sample procedure; Started jobs; Benefits of procedures today.


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.

Inroduction to ICETOOL

What does ICETOOL do ?; ICETOOL job format; Operator statement syntax; Comment statements; Return Codes.

ICETOOL Operators


Invoking ICETOOL

Invoking ICETOOL directly; JCL requirements; Return Codes; Messages; Invoking ICETOOL from a program; TOOLIN interface; Parameter list interface; Explanation of fields; Statement Area Address and Statement Area; Return Area Address and Return Area; Examples.

Using Symbols for Fields and Constants

Field and Constant Symbols Overview; DFSORT Example; SYMNAMES DD statement; SYMNAMES statements; SYMNOUT DD statement; using symbols on DFSORT statements; using symbols on ICETOOL statements.

Read more

Why choose QA

Dates & Locations

Frequently asked questions

See all of our FAQs

How can I create an account on myQA.com?

There are a number of ways to create an account. If you are a self-funder, simply select the "Create account" option on the login page.

If you have been booked onto a course by your company, you will receive a confirmation email. From this email, select "Sign into myQA" and you will be taken to the "Create account" page. Complete all of the details and select "Create account".

If you have the booking number you can also go here and select the "I have a booking number" option. Enter the booking reference and your surname. If the details match, you will be taken to the "Create account" page from where you can enter your details and confirm your account.

Find more answers to frequently asked questions in our FAQs: Bookings & Cancellations page.

How do QA’s virtual classroom courses work?

Our virtual classroom courses allow you to access award-winning classroom training, without leaving your home or office. Our learning professionals are specially trained on how to interact with remote attendees and our remote labs ensure all participants can take part in hands-on exercises wherever they are.

We use the WebEx video conferencing platform by Cisco. Before you book, check that you meet the WebEx system requirements and run a test meeting (more details in the link below) to ensure the software is compatible with your firewall settings. If it doesn’t work, try adjusting your settings or contact your IT department about permitting the website.

Learn more about our Virtual Classrooms.

How do QA’s online courses work?

QA online courses, also commonly known as distance learning courses or elearning courses, take the form of interactive software designed for individual learning, but you will also have access to full support from our subject-matter experts for the duration of your course. When you book a QA online learning course you will receive immediate access to it through our e-learning platform and you can start to learn straight away, from any compatible device. Access to the online learning platform is valid for one year from the booking date.

All courses are built around case studies and presented in an engaging format, which includes storytelling elements, video, audio and humour. Every case study is supported by sample documents and a collection of Knowledge Nuggets that provide more in-depth detail on the wider processes.

Learn more about QA’s online courses.

When will I receive my joining instructions?

Joining instructions for QA courses are sent two weeks prior to the course start date, or immediately if the booking is confirmed within this timeframe. For course bookings made via QA but delivered by a third-party supplier, joining instructions are sent to attendees prior to the training course, but timescales vary depending on each supplier’s terms. Read more FAQs.

When will I receive my certificate?

Certificates of Achievement are issued at the end the course, either as a hard copy or via email. Read more here.

Contact Us

Please contact us for more information