Open menu

z/OS Job Control Language (JCL) - Basic and Advanced

Audience

Application Programmers with little or no previous experience with z/OS JCL who
require formal training in the language features and coding techniques.

Prerequisites

An understanding of computer concepts is assumed.
A working knowledge of TSO/ISPF is required. This can be gained from our z/OS
TSO/ISPF Workshop.

Duration

5 days. Hands on.

NOTE: This course combines our basic and advanced JCL courses to produce a comprehensive five day event - for information on just one of these courses please see:

 

Course Objectives

This course combines the content of the Basic and Advanced courses to facilitate
each delegate acquiring a working knowledge of z/OS JCL. On completion they
will be able to interpret and code z/OS JCL. Good coding practice is encouraged
throughout. The course starts with the basics and furthers learning with 82
hands on.

Course Content

Module 1: Background and Syntax
A brief history
What JCL looks like
Statement structure and coding rules
Keyword vs Positional operands
Sub-parameter lists
Statement continuation
Handling special characters
JCL error points
JES2 Control statements
JES3 Control statements

Module 2: JCL, the Resource Manager
Where does resource management start?
Managing processor occupancy; TIME operand
Managing memory allocation; REGION, REGIONX and MEMLIMIT operands
Managing peripherals (I/O devices)
Types of DD statement
Selecting DDNAMEs
Utility DDNAMEs and reserved DDNAMES.

Module 3: JOB statement
Influences on the JOB statement; Exits, JES, RACF and Standards
JOB Naming rules
Programmer’s name field explained
Influencing JOB selection; CLASS and PRTY operands
Controlling system output; MSGCLASS and MSGLEVEL operands
Delaying JOB execution; TYPRUN operand
Changing security profile; GROUP, PASSWORD and USER operands
Displaying JOB completion status; NOTIFY operand
JES2 Job Accounting information explained

Module 4: EXEC statement
Influences on the EXEC statement; Exits, JES, RACF and Standards
EXEC statement naming rules
Executing a program vs procedure; PGM and PROC operands
Passing information to a program; PARM operand
Bypassing job steps; COND operand, and its logic
ABDISPCC operand

Module 5: Sequential Record File Processing
Data Set Organization (File types); DSORG
Assign an input stream data sets; *, DATA and DLM operands
Assign a print data set; SYSOUT operand
Assign an existing data set; DISP and DSN operands
Assign a new permanent disk data set; BLKSIZE, RECFM, LRECL and SPACE
operands, (DCB, UNIT and VOL operands are also mentioned)
Additional operands; LABEL, EXPDT and RETPD
Assign a new temporary data set
Access an existing temporary data set

Module 6: Impact of System Managed Storage (SMS)
Impact overview
Automatic Class Selection; DATACLAS, MGMTCLAS, STORCLAS and
STORGRP routines
Amending data set attributes for a new data set; DATACLAS operand
Amending management attributes for a new data set; MGMTCLAS operand
Directing a new data set to alternative volumes; STORCLAS operand
Device independent disk space allocation; AVGREC operand
Using an existing data set as a model; LIKE and REFDD operands
Using LIKE and REFDD with VSAM clusters
Creating a VSAM Cluster directly via the DD statement

Module 7: Other Miscellaneous Topics
Starting a JOB beyond the first step; RESTART operand
Automatic restart of a job after failure; RD operand
Concatenated data sets
Deferred data sets
Dummy data sets; DUMMY and DSN=NULLFILE operands
Backward references
The OUTPUT statement

Module 8: Generation Data Groups (GDGs)
What is a GDG?
GDG Terminology
Create a base entry
Create a new relative generation
Create a new absolute generation
Checking the status of generations
Alter the base entry
Dealing with ROLLED-OFF generations
How to use the version number
Deleting entries
The effect of GDGBIAS
Using the GDGORDER operand

Module 9: Conditional JCL
The COND operand and its logic
Information available for Conditional JCL
IF / THEN / ELSE / ENDIF construct
Relational expressions described
What JCL is eligible for conditional processing
What JCL is ineligible for conditional processing
What JCL is unaffected by conditional processing
The ability to nest decision making

Module 10: JCL Procedure Overview
What is a procedure?
Catalogued vs In-stream
The default libraries; JES2 and JES3
Assigning alternative libraries; /*JOBPARM and JCLLIB
Library search order
Procedure construction, naming and content
Using nested procedures
INCLUDE groups

Module 11: JCL Procedures - Using Overrides
EXEC statement overrides
DD statement overrides
OUTPUT statement overrides

Module 12: JCL Procedures – Using Symbolic Parameters
What is a symbolic parameter?
Assigning default values
Overriding default values
Concatenating symbols
Using the SET statement
4 practical exercises

Module 13: Input Stream Symbols
Symbols within a JES2 input stream
Different symbols: JCL vs JES vs System
Using symbols in Batch
Making a symbol available; EXPORT statement
Retrieving symbols in the input stream
Passing symbols via the Internal Reader (INTRDR)

Module 14: Accessing z/OS UNIX System Services files
Condition terminology
File system overview
Security considerations
DD statement operands; PATH, PATHDISP, PATHMODE, PATHOPTS and
FILEDATA
The BPXBATCH utility
Deleting a z/OS UNIX file
Obtaining a list of z/OS UNIX files

Module 15: Utilities
This is an overview of various utilities which could be used to perform a variety of
common functions. The utilities mentioned are:
ADRDSSU
IDCAMS
IEBCOPY
IEBDG
IEBEDIT
IEBGENER
IEBPTPCH
IEBUPDTE
IEFBR14
IKJEFT01 - TSO

Verhoef Training Ltd.

11 Kingsmead Square
Bath, BA1 2AB
United Kingdom

Tel: +44(0)1225 339705

Email: info@verhoef-training.co.uk

Become a Trainer

Ever thought about using your skills to help others?

Call us to find out about how you can teach for Verhoef.

Tel: +44(0)1225 339705