
In this lecture, you will learn about the overall structure of the course and why you should consider purchasing the course. Additionally, you will learn about my professional background.
Welcome message.
Professional Experience background.
Course structure.
The lecture intends to describe the course prerequisites. The course is designed for beginners, intermediates, and advanced developers. The purpose of this course is to teach you JCL - Job Control Language.
This lecture will introduce you to how to use sample JCL's and exercise files during the course. You will learn different JCL concepts, parameters, and techniques throughout this course using sample JCLs and exercise files.
IBM Z provides a high level of security, connectivity, and cognitive capabilities. The IBM Mainframe is also well known for its reliability, scalability, and availability, making it a significant source of global business data and transactions. The purpose of this chapter is to provide a quick overview of the IBM Mainframe.
The following topics are discussed in this lecture:
Introduction.
History of IBM Mainframe Processors.
Typical Z hardware configurations include the mainframe processor, system consoles, storage devices (DASD and tape), and network connectivity. The purpose of this chapter is to provide a quick overview of the Mainframe Architecture.
The following topics are discussed in this lecture:
Mainframe Architecture.
Application Layer.
Data Storage.
Management Layer.
LPARs
In this lecture, you will learn the basic products that a system programmer needs to master if he or she wants to work with IBM Mainframes.
The following topics are discussed in this lecture:
Time-Sharing Option/Extensions (TSO/E).
Interactive System Productivity Facility (ISPF).
System Display and Search Facility (SDSF).
IBM z/OS manages data by taking advantage of data sets. The term data set refers to a file containing one or more records. In the z/OS operating system, the record is the basic unit of information. The purpose of this chapter is to provide an overview of the Mainframe files or datasets.
The following topics are discussed in this lecture:
Data Sets.
PDS - Partitioned Data Sets.
VSAM - Virtual Storage Access Method.
GDG - Generation Data Group.
The mainframe is now an integral part of most companies' daily operations. Workloads on mainframes usually fall into two categories: batch processing and online transaction processing, which includes web-based applications. In this lecture, you will learn the basic difference between Batch vs Online Processing.
This lecture provides an overview of how to connect to IBM Mainframe and what all software you can use in your shop. If you are an application programmer, you need some knowledge about input/output devices that connect to the processor to take care of input, output, primary storage, and secondary storage.
The following topics are discussed in this lecture:
3270 Terminal Software.
ZOWE Application Framework.
IBM RDZ.
The purpose of this section is to introduce you to the term JCL (Job Control Language). The following topics are discussed in this lecture:
Introduction.
JCL Purpose.
The purpose of this section is to introduce you to the different stages of the JCL (i.e. Life Cycle of a job).
The following topics are discussed in this lecture:
JCL Stages Overview.
Explain 6 different stages.
Example.
The purpose of this section is to introduce you to the coding guideline. You'll learn how to identify the elements that makeup JCL statements and how to follow the general rules for punctuation and syntax in JCL code.
The following topics will be covered in this lecture.
Why do you need coding rules?
Coding Rules and different parameters.
IDENTIFIER.
NAME.
OPERATION.
PARAMETER.
SEQUENCE.
In this lecture, you will learn the basics of positional and keyword parameters and how you can include them to create your JCL's. The following topics will be covered:
Introduction.
Positional Parameters.
Keywords Parameters.
Example.
In this lecture, you'll learn about JOB control statements. The following are the key points that will be discussed in this lecture.
Type of JOB Control Statements.
How to use JOB Control statements in JCL?
What are the mandatory JOB Control statements in JCL?
The purpose of this section is to introduce you to the JOB Statement (i.e. JOB CARD). The following topics are discussed in this lecture:
Introduction.
Purpose of JOB Statement.
In this lecture, you will learn about the various positional and keyword parameters specified in the JOB Card (i.e. JOB statement). The following topics are discussed in this lecture:
Introduction.
JOB Card Syntax and parameters.
Example.
In this lecture, you'll learn about Execute statements (i.e. EXEC Statement). The following are the key points that will be discussed in this lecture.
Introduction.
Max number of Execute statements.
In this lecture, you will learn about the various positional and keyword parameters specified in the Execute statement Card (i.e. EXEC statement). The following topics are discussed in this lecture:
Introduction.
EXEC statement Syntax and parameters.
Example.
In this lecture, you'll learn about Data Definition (i.e. DD Statement). The following are the key points that will be discussed in this lecture.
Introduction.
Purpose of DD Statement.
In this lecture, you will learn about the various positional and keyword parameters specified in the Data Definition statement (i.e. DD statement). The following topics are discussed in this lecture:
Introduction.
DD statement Syntax and parameters.
Example.
In this lecture, we will demonstrate how to define a Job Card, Execute statements, and DD statements. The following topics will be covered:
JOB Card.
Execute Statement.
DD Statements.
JCL Example.
In this lecture, you will learn the fundamentals of JCL procedure, benefits and the type of procedure in JCL. The following topics are discussed in this lecture:
Introduction.
Feature of Procedure.
Type of Procedure.
In this lecture, you will learn the basics of In-stream procedures and how they are used in your JCL's. The following topics are discussed in this lecture:
Introduction.
Instream Procedure Definition.
Instream Procedure Example.
In this lecture, you will learn the basics of Cataloged procedures and how they are used in your JCL's. The following topics are discussed in this lecture:
Introduction.
Cataloged Procedure Definition.
Cataloged Procedure Example.
Cataloged Procedure Search Sequence.
In this lecture, you will learn the basic difference between the JCLLIB and the INCLUDE Statement and how you can use them in your JCL. During this lecture, you will learn about:
Introduction.
JCLLIB vs INCLUDE Statement.
The purpose of this lecture is to introduce you to the PROC overriding technique and demonstrate how you can override different parameters defined in DD and EXEC statements. The following topic will be discussed in this lecture:
Introduction.
PROC Overriding Technique.
Example - DD and EXEC statement.
In this lecture, you will learn the fundamentals of SYMBOLIC Parameters, benefits and how they can be used to write general procedures. During this lecture, you will learn about:
Introduction.
Purpose of Symbolic Parameters.
Example.
In this lecture, you will learn the fundamentals of SET statements and how the SET statement is used for assigning values. The following topic will be covered:
Introduction.
SET statement syntax.
Example.
In this lecture, you will learn the fundamentals of SYMBOLIC Parameters concatenation, benefits and how they can be used to generate datasets names or statement during execution. During this lecture, you will learn about:
Introduction.
Symbolic Parameters Concatenation.
Example.
The purpose of this demo class is to demonstrate how to define procedures (PROC) in JCL. How to assign values to symbolic parameters and how to use symbolic parameters to create dataset names. Also, how can you invoke procedures in JCL's? The following topics will be covered:
Instream Procedure.
Cataloged Procedure.
Symbolic Parameter.
PROC Overriding Technique.
SET Statements.
This lecture is designed to introduce you to the system completion code and the step return code. The following topics are covered:
Introduction.
JOB Return Code.
Step Return Code.
In this lecture, you will learn how to use COND Parameters to conditionally process the JCL code. The following topics are covered:
Introduction.
COND Parameters.
Examples.
In this lecture, you will learn how to use the IF/THEN/ELSE/ENDIF statement to conditionally process the JCL code. The following topics are covered:
Introduction.
IF/THEN/ELSE/ENDIF.
Example.
The following demo class shows how to conditionally process JCL statements using COND parameters and IF/THEN/ELSE/ENDIF statements. The following topics will be covered:
Example.
COND Parameters.
IF/THEN/ELSE/ENDIF.
In this lecture, you will learn about the RESTART parameter in JCL, and how to use it in JCL. The following topics are covered:
Introduction.
RESTART parameter syntax.
Example - RESTART Job from failed step.
Example - RESTART proc step from failed step.
In this lecture, you will learn about the TIME parameter in JCL, and how to use it in JCL. The following topics are covered:
Introduction.
TIME parameter syntax.
Example - TIME parameter on JOB card.
Example - TIME parameter on Exec statement.
In this lecture, you will learn about the REGION parameter in JCL, and how to use it in JCL. The following topics are covered:
Introduction.
REGION parameter syntax.
Example - REGION parameter on JOB card.
Example - REGION parameter on Exec statement.
In this lecture, you will learn about the TYPRUN parameter in JCL, and how to use it in JCL. The following topics are covered:
Introduction.
TYPRUN parameter syntax.
Example - TYPRUN parameter on JOB card.
In this lecture, you will learn about the JOBLIB and STEPLIB statements, and how to use it in JCL. The following topics are covered:
Introduction.
JOBLIB and STEPLIB syntax.
Example - JOBLIB in JCL.
Example - STEPLIB in JCL.
The following demo class shows how to use TIME, TYRUN, REGION and RESTART parameters in JCL. The following topics will be covered:
Example.
TYPRUN parameter.
RESTART parameter.
REGION parameter.
JOBLIB and STEPLIB statement.
TIME parameter.
The main objective of this lecture will be to introduce you to Mainframe Utilities and to explain how you can invoke them via JCL and what each utility does. The following Mainframe Utilities will be discussed.
Introduction.
IEFBR14 Utility.
IEBGENER Utility.
IEBCOMPR Utility.
IEBCOPY Utility.
IEHMOVE Utility.
IDCAMS Utility.
IEBDG Utility.
IEBUPDATE Utility.
IEHINITT Utility.
The purpose of this lecture is to introduce you to the IEFBR14 utility in JCL, etc, and how you can invoke it via JCL. The following topics are covered:
IEFBR14 UTILITY.
The purpose of this lecture is to explain what is IEBGENER utility and how you can use the IEBGENER utility to copy non-VSAM datasets. The following topics are covered:
Introduction.
IEGBENER UTILITY DD statements.
Example.
The purpose of this lecture is to explain how to invoke the mainframe IEBGENER utility in JCL. The following topics are covered:
IEGBENER UTILITY.
The purpose of this lecture is to explain the IEBCOPY utility and how you can use the IEBCOPY utility to copy non-VSAM datasets. The following topics are covered:
Introduction.
IEBCOPY DD statements.
Example.
The purpose of this lecture is to explain the IEBCOMPR utility and how you can use the IECOMPR utility to compare datasets. The following topics are covered:
Introduction.
IEBCOMPR DD statements.
Example.
The purpose of this lecture is to explain how to invoke the mainframe utilities in JCL. The following topics are covered:
IEFBR14 Utility.
IEBCOPY Utility.
IEBCOMPR Utility.
IEGBENER UTILITY.
This lecture is designed to introduce you to the sort and merge utility. The following topics are covered:
Introduction.
Sort utility steps.
Sort utility syntax and control cards.
Example.
In this lecture, you will learn additional control statements for improving sort and merge utility performance. Topics covered include:
Introduction.
INCLUDE/OMIT statements.
INREC/OUTREC statements.
Syntax.
The purpose of this lecture is to explain JCL SORT Utility and its control statements. In addition, you will learn how to use these control statements to include, exclude or format input/output files data to improve SORT performance.
The following topics are covered:
SORT Utility.
INCLUDE/OMIT Control Statements.
INREC/OUTREC Control Statements.
SUM Statements.
In this lecture, you will learn the basics of JOINKEYS in JCL. Additionally, you will understand the structure of JCL and what all DD statements are required to used SORT JOINKEYS. Topics covered include:
Introduction.
SORT JOINKEYS in JCL.
JCL Example.
The purpose of this lecture is to explain how to use JOINKEYS in JCL to perform various join operations. In addition, you will learn how to prepare the report based on business requirements.
The following topics are covered:
JOINKEYS - Inner join to prepare a report of matched records.
JOINKEYS - Matched Records and Non-Matched Records from File1.
JOINKEYS - Matched Records and Non-Matched Records from File2.
JOINKEYS - Non-Matched Records from File1.
JOINKEYS - Non-Matched Records from File2.
JOINKEYS - Non-Matched Records from File1 and File2.
The purpose of this lecture is to explain the basics of Generation Data Group and its concept. In addition, you will learn the naming convention of GDG data sets. The following topics are covered:
Introduction.
GDG Concept.
GDG Datasets naming convention.
GDG Dataset access in JCL's.
The purpose of this lecture is to explain the syntax of Generation Data Group. In addition, you will learn the significance of different parameters used while defining the GDG base.
The following topics are covered:
Introduction.
DEFINE Command Syntax.
DELETE Command Syntax.
The purpose of this lecture is to explain the steps required to define a GDG base. In addition, you will learn the usage of the IDCAMS utility.
The following topics are covered:
Introduction.
Steps to define a GDG base.
Example.
The purpose of this lecture is to explain the steps required to create a data set within the GDG base. In addition, you will learn the usage of the IDCAMS utility.
The following topics are covered:
Introduction.
Steps to create a dataset within the GDG base.
Example.
The purpose of this lecture is to explain the LISTCAT command to view the GDG base information. In addition, you will learn the usage of the IDCAMS utility.
The following topics are covered:
Introduction.
LISTCAT command.
Example.
The purpose of this lecture is to explain the ALTER command, which is used to alter GDG base attributes. In addition, you will learn the usage of the IDCAMS utility to perform the different operations on GDG's.
The following topics are covered:
Introduction.
ALTER command.
Example.
The purpose of this lecture is to explain the DELETE Command to delete the GDG base and its datasets. In addition, you will learn the usage of the IDCAMS utility.
The following topics are covered:
Introduction.
DELETE command.
Example.
The purpose of this lecture is to explain how to define a generation data group (GDG) using IDCAMS. In addition, you will learn how to delete, alter, and display the properties of GDGs.
The following topics are covered:
DEFINE GDG Base.
Create a dataset in GDG Base.
Create a Model Data set.
DELETE a GDG Base.
In this lecture, you will learn the fundamentals of VSAM and the different types of VSAM datasets. The following topics will be covered:
Introduction.
VSAM features.
The purpose of this lecture is to introduce you to the different types of VSAM datasets as well as to explain why they are different from each other. Topics covered include:
VSAM Types.
Key sequenced datasets (KSDS).
Entry sequenced datasets (ESDS).
Relative record dataset (RRDS).
LDS (Linear Data Set).
The purpose of this lecture is to introduce you to the KSDS (i.e., Key Sequenced DataSets). Topics covered include:
Introduction.
KSDS Structure and Components.
Example.
The purpose of this lecture is to introduce you to the ESDS (i.e., Entry Sequenced DataSets). Topics covered include:
Introduction.
ESDS Structure and Components.
Example.
The purpose of this lecture is to introduce you to the RRDS (i.e., Relative Record DataSet). Topics covered include:
Introduction.
RRDS Structure and Components.
Example.
The purpose of this lecture is to introduce you to the LDS (i.e., Linear Data Set). Topics covered include:
Introduction.
LDS Structure and Components.
Example.
The purpose of this lecture is to introduce you to the ASM (i.e., Access Method Service). Topics covered include:
Introduction.
Access Method Service Commands.
IDCAMS Utility.
Example.
This lecture is designed to introduce you to the DEFINE Cluster command. VSAM clusters are defined, deleted, and altered using the DEFINE command. The following topics are covered:
Introduction.
DEFINE Cluster Command.
Print and Repro Commands.
Example.
This lecture is designed to introduce you to the Alternate Index and how you can define an alternate index on VSAM clusters. The following topics are covered:
Introduction.
DEFINE Alternate Index (i.e. AIX).
Build Alternate Index.
Example.
This demo class demonstrates how to create VSAM clusters using the IDCAMS utility. In addition, how can you delete and print the contents of VSAM clusters?
The following topics will be covered:
DEFINE VSAM Cluster.
LOAD VSAM Cluster.
PRINT VSAM Cluster.
BACKUP VSAM Cluster.
Introduction.
Today, IBM Mainframe computers play a crucial role in the day-to-day operations of most of the world's largest corporations, including most Fortune 1000 companies. Even though many business applications use other forms of computing, the Mainframe occupies a coveted position in the current e-business environment. The mainframe computer continues to form the foundation of modern business in industries such as banking, health care, insurance, public utilities, and government. When you work in the mainframe computing world, you must know JCL (i.e. job control language or Mainframe JCL), which tells Z/OS what resources are required to process a batch job or start a system task.
What is JCL in Mainframe?
The term JCL stands for Job Control Language. JCL is a scripting language used by IBM's mainframe systems to instruct the systems on how to initiate a batch job or start an online subsystem particular, Mainframe JCL (i.e., job control language) specifies which programs to execute with which input and output devices, as well as whether or not there are additional conditions which need to be met before proceeding with the step.
There are three basic JCL statements (i.e., job control statements):
JOB: Provides a job name to the system that will be used for this batch workload. In addition to accounting information, there are a few job-related parameters that may be present.
EXEC: Identifies a program to be executed. A job may contain more than one EXEC statement. These statements are referred to as job steps.
DD: The Data Definition provides inputs and outputs to the execution program on the EXEC statement. Using this statement, you can link a data set or other I/O device or function with a ddname coding in the program. A DD statement is associated with a particular job step.
JCL details can be complex, but the general principles are quite straightforward. In addition, a small subset of JCL is used for at least 90% of the process.
This JCL course discusses all key concepts. The following are some highlights of the course.
Mainframe Architecture and Tools.
JCL Overview and Basic Concepts.
JCL Procedures and overriding techniques.
Mainframe utilities and how to use them in JCL's.
Mainframe Datasets, VSAM and GDG's.
JCL tips and tricks and advance parameters.
JCL interview questions and answers.
JCL abend code and return code.
Demo Class and practice test.
Job Control Language is the language used to control z/OS. Therefore, if you're a developer or operator who works with a mainframe running one of the operating systems, you need to understand JCL. Despite the fact that programmers often get by with minimal JCL skills, the best ones acquire a solid set of skills as it helps them get more done in less time.
Note: This course does not include Mainframe IDs. You must arrange your own Mainframe ID. For a list of topics covered, please refer to the content section. It is a pleasure to have you as a student. I would appreciate it if you would leave feedback because your feedback is important for us!
Tags: #jcl #mainframejcl #jclcourse #jclconcept #jclinterviewquestions #learnjcl #mainframeconcepts #vsam #gdgconcepts #cics #tutorialpoint #topictrick