Logo

Navigation
  • Home
  • Services
    • ERP Solutions
    • Implementation Solutions
    • Support and Maintenance Solutions
    • Custom Solutions
    • Upgrade Solutions
    • Training and Mentoring
    • Web Solutions
    • Production Support
    • Architecture Designing
    • Independent Validation and Testing Services
    • Infrastructure Management
  • Expertise
    • Microsoft Development Expertise
    • Mobile Development
    • SQL Server Database and BI
    • SAP BI, SAP Hana, SAP BO
    • Oracle and BI
    • Oracle RAC
  • Technical Training
    • Learn Data Management
      • Business Intelligence
      • Data Mining
      • Data Modeling
      • Data Warehousing
      • Disaster Recovery
    • Learn Concepts
      • Application Development
      • Client Server
      • Cloud Computing Tutorials
      • Cluster Computing
      • CRM Tutorial
      • EDI Tutorials
      • ERP Tutorials
      • NLP
      • OOPS
      • Concepts
      • SOA Tutorial
      • Supply Chain
      • Technology Trends
      • UML
      • Virtualization
      • Web 2.0
    • Learn Java
      • JavaScript Tutorial
      • JSP Tutorials
      • J2EE
    • Learn Microsoft
      • MSAS
      • ASP.NET
      • ASP.NET 2.0
      • C Sharp
      • MS Project Training
      • Silverlight
      • SQL Server 2005
      • VB.NET 2005
    • Learn Networking
      • Networking
      • Wireless
    • Learn Oracle
      • Oracle 10g
      • PL/SQL
      • Oracle 11g Tutorials
      • Oracle 9i
      • Oracle Apps
    • Learn Programming
      • Ajax Tutorial
      • C Language
      • C++ Tutorials
      • CSS Tutorial
      • CSS3 Tutorial
      • JavaScript Tutorial
      • jQuery Tutorial
      • MainFrame
      • PHP Tutorial
      • VBScript Tutorial
      • XML Tutorial
    • Learn Software Testing
      • Software Testing Types
      • SQA
      • Testing
  • Career Training
    • Career Improvement
      • Career Articles
      • Certification Articles
      • Conflict Management
      • Core Skills
      • Decision Making
      • Entrepreneurship
      • Goal Setting
      • Life Skills
      • Performance Development
      • Personal Excellence
      • Personality Development
      • Problem Solving
      • Relationship Management
      • Self Confidence
      • Self Supervision
      • Social Networking
      • Strategic Planning
      • Time Management
    • Education Help
      • Career Tracks
      • Essay Writing
      • Internship Tips
      • Online Education
      • Scholarships
      • Student Loans
    • Managerial Skills
      • Business Communication
      • Business Networking
      • Facilitator Skills
      • Managing Change
      • Marketing Management
      • Meeting Management
      • Process Management
      • Project Management
      • Project Management Life Cycle
      • Project Management Process
      • Project Risk Management
      • Relationship Management
      • Task Management
      • Team Building
      • Virtual Team Management
    • Essential Life Skills
      • Anger Management
      • Anxiety Management
      • Attitude Development
      • Coaching and Mentoring
      • Emotional Intelligence
      • Stress Management
      • Positive Thinking
    • Communication Skills
      • Conversation Skills
      • Cross Culture Competence
      • English Vocabulary
      • Listening Skills
      • Public Speaking Skills
      • Questioning Skills
    • Soft Skills
      • Assertive Skills
      • Influence Skills
      • Leadership Skills
      • Memory Skills
      • People Skills
      • Presentation Skills
    • Finding a Job
      • Etiquette Tips
      • Group Discussions
      • HR Interviews
      • Interview Notes
      • Job Search Tips
      • Resume Tips
      • Sample Resumes
 

Introduction to JCL

By Exforsys | on November 8, 2006 |
MainFrame

Introduction to JCL

This article provides a basic coverage on concepts of MVS/JCL .The topics covered in this article are – Introduction to Job Control language, Basic concepts of JCL, Job & Job steps, Concepts of Job Statements and Positional & Keyword parameters.

JES2/JES3

It is a Batch operating environment. In batch mode we submit or send processing request (JCL) to the system and then we can do some other tasks namely, one can read a book, do some other program etc. Our processing request is put into queue along with the line of other requests submitted by other people. The system will ultimately get around to our request, process it, and return the results to us. Batch mode is generally cheaper than interactive mode. Interactive mode demands a higher level of service from MVS and requires fast response time

JOB Management

MVS uses a JOB entry subsystem (JES) to receive jobs into the operating
system, schedule them for processing by MVS, and to control their output processing. There are two types of JES. They are namely:

  • JES2,
  • JES3

With JES, MVS operates more efficiently

JOB

A JOB is the execution of one or more related programs in sequence. Each
program to be executed by a JOB is called a JOB STEP.

Example:

Suppose you want to process a JOB that executes two programs. The first does sort on the input file and second prints a report. The JCL will have two JOB steps as follows:

//ABCDE JOB ….
//STEP1 EXEC PGM=FIRST_PROGRAM
//FILE1 DD …………
//FILE2 DD ……….
//STEP2 EXEC PGM=SECOND_PROGRAM
//FILE2 DD ………
//OUTFIL DD SYSOUT=*
//*

Job Control Language

JCL is a set of control statements that provide the specifications
necessary to process a JOB. It is the interface between the requirements or instructions in your program and the MVS operating system. Every JOB has three basic JCL statements which are namely:

  • JOB
  • EXEC
  • DD

Without JCL the program will not run on IBM MAINFRAME. So it is like heart of a mainframe.

JCL statements

Following should be followed while writing JCL statement:

  • Columns 1-2 should be always //.
  • Columns 3-10 are the name field. Must be alpha-numeric and should start with alphabet or character ($, #, @). It is Optional field. It must be followed by at least one blank character.
  • Column 12 onwards is the operator field indicating the type of control statement (e.g. JOB, EXEC). Must be preceded and followed by at least one blank.
  • The parameter field follows the operator field and must be preceded and followed by at least one blank character. Contains parameter separated by commas.
  • To continue a parameter on to the next line, insert a non blank character (typically *) in column 72.
  • Comments in JCL begin with //*

Example:

Name Operator Parameter
Field Field Field

//SSB5 JOB USER=PRIYA, PASSWORD=XXXXXX
//MYJOB EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=A
//SYSUT1 DD ……
//SYSUT2 DD SYSOUT=A
………………..
……………….
//* End of JCL Program

In this article let us see the JOB statement in detail

JOB statement

Let us consider the first JCL statement namely the JOB statement. The JOB statement identifies a JOB which is a batch unit of work, to MVS. The JOB statement names the JOB and supplies the necessary information to indicate which resources the JOB will use. A JOB is considered to consist of multiple JOB steps. Each step is made up of an EXEC statement and one or more DD Statements. A JOB is all the JCL statements between a JOB statement and the next JOB statement or null (‘// ‘) statement.

JOB name

It can be 1-8 characters and the first character must be alphabetic or character ($, #, @)

Example:

//ABCDE JOB …………
//BCD$1 JOB ………….

Kinds of parameters

There are two kinds of parameters used in this statement namely

  • Positional
  • Keyword

The positional parameters

This parameter has accounting information and programmer name which are explained below:

Accounting information

The Accounting information parameters identify the area that the computer time is to be charged for this JOB. The format of this parameter is installation dependent and it is optional parameter. Parentheses or apostrophes must be used if additional accounting info is coded. Each is separated by commas.

Example:

//* S456 is the accounting information. DEPT7 is the additional information.
//SAMP JOB S456
//SAMP JOB (S456,DEPT7)
//SAMP JOB ‘S456,DEPT7’
//SAMP JOB (S456,’DEPT/MIS’,567)

Programmer name

Programmer name parameter is used for user identification
for routing printouts. This can be 1 to 20 characters long and is specified in single quotes if name contains spaces or special characters other than periods. Hyphen cannot be used in this parameter. If you want to include single quotes in the name it must be specified as double quotes

Example:

//SAMP1 JOB (bb12,cc34,dd67),‘nam xx’
//SAMP2 JOB (S456), Name5

The keyword parameters

A variety of keyword parameters can be specified on the JOB
statement. They are namely:

  • CLASS
  • COND
  • MSGCLASS
  • MSGLEVEL
  • NOTIFY
  • PASSWORD
  • PRTY
  • REGION
  • RESTART
  • TIME
  • TYPRUN
  • USER

The keyword parameters always follow positional parameters and parameter in this is separated by commas.

//jobname ,

Let us see how to use the parameters

CLASS

This indicates the type of JOB submitted to the system. It specifies input class for JOB scheduler. It is a single alphanumeric character namely (a-z, 0-9). Different classes will represent different types of jobs and will depend on installation.

CLASS=A – test jobs
CLASS=B – production jobs

Example

//SAMP1 JOB (S456),CLASS=A

MSGCLASS

This determines the o/p device to which system messages and JCL messages are written. This is a single alphanumeric character namely A-Z, 0-9. It depends on JES set-up.
MSGCLASS=T – output to terminal

Example:

//SAMP2 JOB CLASS=A,MSGCLASS=T

MSGLEVEL

MSGLEVEL parameter is used to specify JCL and allocation messages which will be recorded on the output device specified in MSGCLASS.

Syntax is:

MSGCLASS= (statements,messages )

In this statements can take value 0 or 1 or 2. This represents

  • 0 Only JOB statement
  • 1 All input & procedure statements
  • 2 Only input JCL statements

In this messages can take value 0 or 1 or 2. This represents

  • 0 Allocation/termination messages being output if the job terminates abnormally.
  • 1 Allocation/termination messages being output if the job terminates normally or abnormally.

EXAMPLE:

//SAMP1 JOB (S456),NAM,MSGLEVEL=(0,0)
//SAMP2 JOB (S356), NAM1,MSGLEVEL=(1,1)

USER/PASSWORD

This parameter is used for security checking purpose .The user parameter specifies your RACF user id. The user id is used during the job’s processing by RACF and JES to identify the user who submitted the JOB for security checking purposes

EXAMPLE:

//SAMP1 JOB (S456),’SRI PRIYA’,
// CLASS=A,MSGCLASS=R,
// NOTIFY=SRI456,USER=SRI456,
// REGION=4096K,TYPRUN=HOLD

COND

This Specifies whether a JOB should continue to execute or terminate
in relation to the outcome of any JOB step. If condition is true, the JOB is terminated.

Syntax:
COND= (code, operator)

In this code takes value 0 to 4095 and operator can be any one of GT, GE, EQ, LT, LE, NE

Eg. Cond=(1, EQ) means:

If 1 is equal to the condition code returned by any JOB step, terminate the JOB. In other words, the JOB will execute only if all job steps return a condition code not equal to 1

TIME

This parameter specifies the maximum CPU time for a JOB.
System will automatically cancel the JOB if its execution time exceeds the specified time.

Syntax:
TIME=(MINS,SECS)

E.G. TIME=(2,20) maximum CPU time for this JOB is 2minute and 20 seconds

Typrun
This has two values namely

  • SCAN causes JCL to be scanned for syntax errors only
  • HOLD causes JOB to be held in input queue until explicitly released by the operator

Restart
This enables the execution of a JOB from a particular step instead from the top of the JOB step.
Syntax:
RESTART=STEPNAME

PRTY
This determines priority for scheduling jobs within each class and it value ranges from 0-15. The more the number, higher will be the priority.

REGION
This specifies amount of space JOB requires and it can be specified in kb or mb
Syntax:
REGION=NK/NM

Example:
//SAMP5 JOB (S456),’SRI PRIYA’,CLASS=A,PRTY=3,REGION=4092K, TYPRUN=HOLD

« « HR Interview – Telephone Interview Etiquette
Structured Query Language (SQL) – Basic Concepts » »

Author Description

Avatar

Editorial Team at Exforsys is a team of IT Consulting and Training team led by Chandra Vennapoosa.

Free Training

RSSSubscribe 391 Followers
  • Popular
  • Recent
  • Mainframes Computers

    May 27, 2007 - 0 Comment
  • Mainframe Features

    June 17, 2007 - 0 Comment
  • VSAM Introduction

    June 18, 2007 - 0 Comment
  • VSAM Catalogs

    June 20, 2007 - 0 Comment
  • VSAM Structure

    June 21, 2007 - 0 Comment
  • VSAM Control Interval and Control Area

    June 23, 2007 - 0 Comment
  • JES : Job Entry Subsystem

    June 26, 2007 - 0 Comment
  • CICS Overview and Functions

    June 18, 2006 - 0 Comment
  • CICS Components and Transactions

    June 18, 2006 - 0 Comment
  • Customer Information Control System (CICS)

    July 25, 2006 - 0 Comment
  • JES : Job Entry Subsystem

    June 26, 2007 - 0 Comment
  • VSAM Control Interval and Control Area

    June 23, 2007 - 0 Comment
  • VSAM Structure

    June 21, 2007 - 0 Comment
  • VSAM Catalogs

    June 20, 2007 - 0 Comment
  • VSAM Introduction

    June 18, 2007 - 0 Comment
  • Mainframe Features

    June 17, 2007 - 0 Comment
  • Mainframes Computers

    May 27, 2007 - 0 Comment
  • Customer Information Control System (CICS)

    July 25, 2006 - 0 Comment
  • CICS Components and Transactions

    June 18, 2006 - 0 Comment
  • CICS Overview and Functions

    June 18, 2006 - 0 Comment

Exforsys e-Newsletter

ebook
 

Related Articles

  • JES : Job Entry Subsystem
  • VSAM Control Interval and Control Area
  • VSAM Structure
  • VSAM Catalogs
  • VSAM Introduction

Latest Articles

  • Project Management Techniques
  • Product Development Best Practices
  • Importance of Quality Data Management
  • How to Maximize Quality Assurance
  • Utilizing Effective Quality Assurance Strategies
  • Sitemap
  • Privacy Policy
  • DMCA
  • Trademark Information
  • Contact Us
© 2023. All Rights Reserved.IT Training and Consulting
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.AcceptReject Read More
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT