Sie sind auf Seite 1von 10

JCL Tutorial - 06 : EXEC Statement Part II (Quasar Chunawalla) ~ MAINFRAMES TUTORIAL, JCL TUTORIAL, VSAM TUTORIAL, COBOL TUTORIAL,

DB2 TUTORIAL, CICS

Bulletin Board
Whats new at MAINFRAMES 360

(Updates)...

- Working on Cosmetic enhancements to navigation menu on the Sidebar, so that it will


dynamically expand..
- Resolved some Display issues and filling in the gaps(missing tutorials like VSAM)
- Posting several Video tutorials

Mainframes360 Search
Search
powered by

Quick Links

http://www.mainframes360.com/2009/06/jcl-tutorial-06-exec-statement-part-ii_28.html (1 of 10)12/23/2009 4:00:57 AM

JCL Tutorial - 06 : EXEC Statement Part II (Quasar Chunawalla) ~ MAINFRAMES TUTORIAL, JCL TUTORIAL, VSAM TUTORIAL, COBOL TUTORIAL, DB2 TUTORIAL, CICS

Jump to :
<== Previous Tutorial

-------

Sunday, June 28, 2009

JCL Tutorial - 06 : EXEC Statement Part II (Quasar Chunawalla)


Q. What is the DPRTY Parameter?
The DPRTY Parameter assigns dispatching priority to a particular job-step. It
has the following format :
DPRTY = (value1,value2)
Here, the priority is specified as a hexadecimal value. So, the priority in
decimal would be = (16 x value1+ value2).
Q. What is the PERFORM Parameter?
The PERFORM parameter is used to specify the performance group for a job-step.
It has the following format :
//JOB1
//STEP01
//STEP02

JOB
EXEC
EXEC

A123,QUASAR,CLASS=A
PGM=PROGRAM1,PERFORMANCE=15
PGM=PROGRAM2

Performance group : Performance groups are defined when the system programmer
guys are installing the MVS OS on the Mainframe Servers. Every performance
group has typical characteristics such as storage speed etc. For example,
performance group 15 might indicate slow storage speed. Every JOB class is
linked to a performance group. If you want to explicitly override the
performance group associated with the job class, for your job-step, you use
the PERFORMANCE parameter.
Q. What is the RD(Restarting and Checkpointing) Parameter?
Restart Definition(RD) parameter can be used to restart a Batch Job, in case
it abends. This is very useful, if we have a Batch(series of jobs), where
output of one Job1, is fed as input to the next Job2.
The term Checkpoint refers to a point in Job from where the Job can be resumed
in case of an abnormal termination.
The RD parameter can take any of the following options :
RD=R means restart from last checkpoint. Simply means, the Job will restart
automatically from the last checkpoint. Checkpoints were saved on the way,
while the Job was running previously.
http://www.mainframes360.com/2009/06/jcl-tutorial-06-exec-statement-part-ii_28.html (2 of 10)12/23/2009 4:00:57 AM

Next Tutorial ==>

JCL Tutorial - 06 : EXEC Statement Part II (Quasar Chunawalla) ~ MAINFRAMES TUTORIAL, JCL TUTORIAL, VSAM TUTORIAL, COBOL TUTORIAL, DB2 TUTORIAL, CICS

RD=NR means no restart. Here, checkpoints are saved, but we dont want to
restart the Job automatically. We will intervene manually, and restart the Job
from the desired checkpoint.
RD=RNC means the Job will restart automatically, but right from the beginning,
since no checkpoints are saved. We say that, CHKPT(Checkpoint macro) is
suppressed.
RD=NC means no restart, no checkpointing.
Q. What are the common parameters on the JOB and EXEC statement?
REGION Parameter The REGION parameter specifies an upper bound on the amount of storage space
that a Batch Job or a job-step can consume. For example, you know that your
Batch Job sometimes occupies 1MB of space, sometimes 2MB, 1.5MB, 3MB, it
varies. However, you know that it will always occupy no more that 5 MB at all
times. Thus, 5 MB of storage space, is the maximum storage space, the Batch
Job could possibly take. You indicate this to the MVS, by specifying the
REGION parameter on the JOB statement(if you want to specify a space
constraint on the entire Job) or the EXEC statement(if you want to specify
space constraint only a particular job-step).
//JOB1
//STEP01
//STEP02

JOB
EXEC
EXEC

A123,QUASAR,CLASS=A,REGION=4K
PGM=PROGRAM1,REGION=2M
PGM=PROGRAM2

If REGION parameter is coded both on JOB and EXEC, REGION on JOB overrides
REGION on EXEC. So, in the above example, job-steps STEP01 and STEP02 are
allowed to occupy a maximum of 4K bytes. A detailed explanation of COND
parameter can be found by clicking on this link.

More on COND Parameter


COND Parameter
The COND parameter is used for conditional execution. It is useful to control
the flow of execution in a Batch Job.
Let us first understand, how EXEC statement works, when coded on the EXEC
statement. The syntax of the EXEC statement is as follows:
COND(,)
The comparision code can take any values like 0,4,8,12,16 depending upon the
severity of the error. The condition can GT,GE,LT,LE,EQ,NE. Moreover, we can
also code EVEN and ONLY options on the COND statement.
http://www.mainframes360.com/2009/06/jcl-tutorial-06-exec-statement-part-ii_28.html (3 of 10)12/23/2009 4:00:57 AM

JCL Tutorial - 06 : EXEC Statement Part II (Quasar Chunawalla) ~ MAINFRAMES TUTORIAL, JCL TUTORIAL, VSAM TUTORIAL, COBOL TUTORIAL, DB2 TUTORIAL, CICS

//JOB1
//STEP01
//STEP02

JOB
EXEC
EXEC

A123,QUASAR,CLASS=A
PGM=PROGRAM1
PGM=PROGRAM2,COND(4,GT,STEP01)

Here, when the job-step STEP01 is performed, either it is executed


successfully, or it may terminate with errors. The result or status of
execution is indicated by a unique code, called Return Code(RC). Next, when
the job-step STEP02 is to be performed, first the COND clause is to be
evaluated. Ask the question, Is 4 greater than the RC of STEP01? If Yes,
Bypass job-step STEP01. If No, Perform job-step STEP01.
Read more on COND Parameter Here >>
Technorati Tags: JOB-step,JOB,EXEC,COND,REGION,COND parameter,REGION parameter,Bypass step,
execute step,ABEND,Abnormal termincation,Condition statement,Condition Parameter,JCL,JCL Tutorial,
Quasar Chunawalla,DPRTY,Dispatching Priority,PERFORM,RD,Restart,CHKPT,CHKPT Macro,Checkpoint,
RNC,Device address
Posted by Quasar at Sunday, June 28, 2009
Reactions:

0 comments:

Post a Comment

Links to this post


Create a Link

Newer Post Older Post Home


Subscribe to: Post Comments (Atom)

Quick Links
http://www.mainframes360.com/2009/06/jcl-tutorial-06-exec-statement-part-ii_28.html (4 of 10)12/23/2009 4:00:57 AM

JCL Tutorial - 06 : EXEC Statement Part II (Quasar Chunawalla) ~ MAINFRAMES TUTORIAL, JCL TUTORIAL, VSAM TUTORIAL, COBOL TUTORIAL, DB2 TUTORIAL, CICS

<== Previous Tutorial

Jump to :
-------

Note :
Copyright Quasar Chunawalla, Tata Consultancy Services,2009.
Note : The copyrights of all the material, text and pictures posted in this website
belong to the author. Any instance of lifting the material from this website, shall
be considered as an act of plagiarism. For any clarifications, please mail at quasar.
chunawala@tcs.com

http://www.mainframes360.com/2009/06/jcl-tutorial-06-exec-statement-part-ii_28.html (5 of 10)12/23/2009 4:00:57 AM

Next Tutorial ==>

JCL Tutorial - 06 : EXEC Statement Part II (Quasar Chunawalla) ~ MAINFRAMES TUTORIAL, JCL TUTORIAL, VSAM TUTORIAL, COBOL TUTORIAL, DB2 TUTORIAL, CICS

Globe-trotting
Some Excerpts from Mainframes360
Q. What are the two broad types of Applications/Systems?
All application/systems are of 2 types
(i) Online Systems(Transaction Processing Systems)
(ii)Batch Processing Systems. Read more ...

Q. What is the DATA DIVSION? What are the different sections in the DATA DIVISION?
DATA DIVISION is used to describe the Input Output Storage areas and temporary storage areas. In other words, itll describe the
structure of the data being stored in Input Output Files, as well as in any temporary storage. Read more ...

Q. What are data-types? What are the basic data-types in COBOL?


Data-type is used to announce/declare to the MVS O/S, about the type of data youre gonna store in a Storage Location, so that it
can estimate the storage space to be allocated and reserved for you data excusively. Read more ...

Q. What are group and Elementary Data Items?


In COBOL, one or more elementary data-items can be grouped together. For example, we can group EMP-NAME, EMP-SALARY and EMP-JDATE
as EMPLOYEE-RECORD. In COBOL, we say that a group item is a data item, which has several low-level(elementary) data-items. Read
more ...

Q. Can you elaborate on how to write the File Descriptor FD Paragraph?


As mentioned before, we must describe the input file record format and output file record format in the File Descriptor FD
paragraph under the FILE SECTION. Remember, that FD paragraph is always coded in AREA A. Read more ...

Q. What is JOB Log? Why do we need a JOB Log? What purpose does it serve?
When you submit a Batch JOB/JCL to the MVS System, the MVS executes the Job Stream, makes the necessary resources available to the
the EXEC PGM (Program), and finally tells you the result of the Job. Read more ...

Q. In the previous tutorial, youve stated what is compiling, linking and running.. Can you show me a Compiler and
Linking JCL/Job Stream that does this?
Sure, as you know, the Compiler takes a SYSIN DD Input Dataset, which is the Source COBOL Program. The COBOL Compiler IGYWC(or
IGYCRCTL) produces SYSOUT DD Dataset containing the JOB Log and Status messages, and more importantly, SYSLIN DD which is Object
Module and Input for the Linker. Read more ...

Q. Show me a simple JCL/JOB Stream to run my COBOL Program(LOAD MODULE).


On Windows, to run a program, we simply click on the Executable File. In the same way, to run our COBOL Program on Mainframes, we
http://www.mainframes360.com/2009/06/jcl-tutorial-06-exec-statement-part-ii_28.html (6 of 10)12/23/2009 4:00:57 AM

JCL Tutorial - 06 : EXEC Statement Part II (Quasar Chunawalla) ~ MAINFRAMES TUTORIAL, JCL TUTORIAL, VSAM TUTORIAL, COBOL TUTORIAL, DB2 TUTORIAL, CICS

are going to use the LOAD MODULE(Executable). To run a program on the MVS, you write JCL. You specify the name of the Program(LOAD
MODULE) Read more ...

Q. What is the ENVIRONMENT DIVISION? What purpose does it serve in the COBOL Program?
The ENVIRONMENT DIVISION provides information about the computer equipment/configuration upon which the COBOL program will run. It
also gives the name of the input and output files used in the program. It assigns the file-names to ddnames(DD Statements in the
Run JCL). Read more ...

Q. What is a Mainframe Computer?


A Mainframe computer is used by large organisations for processing huge volumes of data e.g. census, consumer statistics, ERP and
financial transaction processing. Read more ...

Q. How did IBM Mainframe machines evolve?


Well, IBM first launched the System/360, then System/370, System 370/XA, Enterprise System Architecture(ESA)/370, System 390 and
the latest machines in the Mainframe series is zSeries(pronounce Zee). Read more ...

Q. What does a Mainframe Computer look like? How do you operate it?
Lets just try to see whats life like, if you are Mainframe machines operator. A Desktop computer can fit into a trolley or a
cabinet. A Mainframe Machine is generally big monster-size, would fill up a room. On a Desktop PC, you would sit near the physical
computer and operate it using the keyboard and the mouse, and see the result on the monitor. Read more ...

Q. Hey, Windows is the most popular Operating System on a Desktop-PC. On the same lines, the popular Mainframes
Operating System is MVS...
Bulls-eye! In fact, MVS is said to be the Operating System that makes the world move. Read more ...

Q. What about Super-computers? Are mainframes faster than super-computers?


Dont equate the word Mainframes to Speed. Mainframes have tremendous processing power or computational power, but of a different
kind. Think of task, where we have 1,00,000 records of Input data, and we want to perform 3 calculations on each record, and then
put the Output Records in a separate file. Read more ...

Q. Whats that name again.. Multiple Virtual Storage? What crap?


Virtual Storage is a simple idea. Virtual storage simulates a large amount of main storage(Primary or main memory) by treating the
auxiliary storage as an extension of the real storage. Thus, a program gets the feel, Wow, I have an infinite amount of computer
memory at my disposal. Read more ...

Q. What is a Batch Job?


If you are a college student, you would have probably written a computer application in C, and executed it on your desktop PC. You
run the program interactively, you type in some input data, wait for the response(output), and then you type some more input, and
this cycle continues. Such programs or systems are called as Online Systems or Transaction Processing Systems. Read more ...

Q. Look, on Windows PC, you interact with the computer using the Windows GUI the Desktop Icons, the Menus,
http://www.mainframes360.com/2009/06/jcl-tutorial-06-exec-statement-part-ii_28.html (7 of 10)12/23/2009 4:00:57 AM

JCL Tutorial - 06 : EXEC Statement Part II (Quasar Chunawalla) ~ MAINFRAMES TUTORIAL, JCL TUTORIAL, VSAM TUTORIAL, COBOL TUTORIAL, DB2 TUTORIAL, CICS

Buttons etc. How do you interact with an MVS Mainframe System?


MVS offers several ways to interact with it. The 3 main ways of interacting with MVS are TSO, ISPF and CICS. Read more ...

Q. What does COBOL stand for? What are the application areas where COBOL Programs written?
COBOL stands for Common Business Oriented Language. COBOL Programs are used for commercial data processing. COBOL is an Englishlike language. Writing a COBOL program is just like writing a passage in English. Read more ...

Q. You said COBOL Programming language bears resemblance with English. Do COBOL Programs have paragraphs like in
English?
A COBOL Program consists of 4 main divisions : IDENTIFICATION DIVISION, ENVIRONMENT DIVISION, DATA DIVISION and PROCEDURE DIVISION.
IDENTIFICATION DIVISION is used to identify the COBOL Program to the system. It tells the... Read more ...

Q. Show me the basic skeleton of a COBOL Program then..


The basic skeleton of a COBOL Program is as follows : IDENTIFICATION DIVISION. ENVIRONMENT DIVISION. Read more ...

Q. Paragraphs in the English language are indented. Do you have indentation/alignment rules in COBOL?
Just like paragraphs in English, COBOL Divisions and Paragraphs must follow strict alignment rules. The way we indent paragraphs in
English, you must indent different Divisions, sections and paragraphs in a COBOL Program. When you write .. Read more ...

Q. What is the IDENTIFICATION DIVISION used for?


The IDENTIFICATION DIVISION is used to identify the COBOL Program to the system. It has the following paragraphs :
PROGRAM-ID.
AUTHOR.
Read more ...

Q. What does the PROCEDURE DIVISION look like? Whats the format/syntax. Can you elaborate..
The PROCEDURE DIVISION indicates the entry-point or starting point of the COBOL Program. This is where the computer system begins
to run(execute the COBOL instructions). Hence, all your instructions/programming logic must be written inside this PROCEDURE
DIVISION. Read more ...

Q. How do you compile a COBOL Program? What is meant by Linking a COBOL Program? Finally, how do you run the
Program on a Mainframe System?
Compiling a COBOL Program : COBOL is a high-level language. The Mainframe Computer System only understands binary Machine Language
0 and 1. Thus, your COBOL Program has to be translated from COBOL Language to Binary Machine Language. So, you give the Program in
COBOL Language as Input to the Translator(Compiler), and you get the Output Program in Binary Machine Language. Read more ...

Q. Could you throw some light on the WORKING-STORAGE SECTION of a COBOL Program?
The WORKING-STORAGE SECTION is used to declare any fields or records that are not going to be used in input files, or output files,
but they are used to store the intermediate results of processing in a temporary storage area. Read more ...

http://www.mainframes360.com/2009/06/jcl-tutorial-06-exec-statement-part-ii_28.html (8 of 10)12/23/2009 4:00:57 AM

JCL Tutorial - 06 : EXEC Statement Part II (Quasar Chunawalla) ~ MAINFRAMES TUTORIAL, JCL TUTORIAL, VSAM TUTORIAL, COBOL TUTORIAL, DB2 TUTORIAL, CICS

Navigation
Navigation

- Main Page
- Questions Archive
- Articles and Writing
Tutorials

+
+
+
+
-

JCL Tutorials(12)
IBM Utilities Tutorials(08)
COBOL Tutorials(08)
DB2 Tutorials
VSAM Tutorials
CICS Tutorials
REXX Tutorials
ISPF Panel Programming

FAQs
- How do I learn Mainframes?
- Coaching and Institutes
- Mail me
- JOB Prospects
- Idea behind Mainframes 360

Follow the Buzz..

Technorati
Add this blog to your favourites..

Subscribe To
Posts
Comments

http://www.mainframes360.com/2009/06/jcl-tutorial-06-exec-statement-part-ii_28.html (9 of 10)12/23/2009 4:00:57 AM

JCL Tutorial - 06 : EXEC Statement Part II (Quasar Chunawalla) ~ MAINFRAMES TUTORIAL, JCL TUTORIAL, VSAM TUTORIAL, COBOL TUTORIAL, DB2 TUTORIAL, CICS

About Me
Quasar Chunawalla
Chennai, Tamil Nadu, India

Working at Tata Consultancy Services, Chennai


View my complete profile

http://www.mainframes360.com/2009/06/jcl-tutorial-06-exec-statement-part-ii_28.html (10 of 10)12/23/2009 4:00:57 AM