1> How to by pass the step without cond parameter??

Ans: By using the IF and END IF

IF (rc<0)



2> What are the difference between in-stream procedure and inline procedure in jcl ??

Ans: An in-stream PROC is defined right in the jcl stream and doesn't reside in the proclib. This is an older technique associated with punched cards but it is still in use with setup and installation programs from vendors.

For the in-line perform instead of:

perform add-paragraph until switch = 'y'

you can code

perform until switch = 'y'

body of code


body of code is the code from add-paragraph appearing in-line (ie right in the perform) instead of in a separate paragraph (out of line code)

3> How do you override a specific DDNAME in PROC from JCL???

Ans: //stepname.dd dsn=...

4> How to check syntax of JCL without running it??

Ans: TYPERUN = SCAN on the JOB card.

5> can you code instrean data in PROC????

Ans: NO

6> How to change default PROCLIB??


7> What is COND=ONLY??

Ans: Execute the stepl only if the previous step terminated abnormally.

8> How do you restart a PROC from perticular step??

Ans: In the Job card ,specify RESTART = procstep.stepname

where procstep = Name of the jcl step that invoke proc.
stepname = Name of the procstep where you want execution to start.

9> What is the improvement to COND= in the latest version of MVS?

Ans: If you use 'IF and END IF', step will get executed when IF is satisfied. In case of COND parameter, step is bypassed when

The COND parameter in the Version of MVS is used as condition parameter and if the given condition is true means that step will be bypassed.

10> What is a GDG? How is it referenced? How is it defined? What is a MODELDSCB? GDG stands for generation data group. It is a dataset with versions that can be referenced absolutely or relatively. It is defined by an IDCAMS define generation datagroup execution.

Ans: It is defined using an IDCAMS command DEFINE GENERATIONDATAGROUP or DEF GDG for short. Not many parameters, just a maxgeneration as I recall.

If you create a GDG called MY.GDG, this first instance will be cataloged as MY.GDG.G00001V00 and onwards. Each time you reference one you can do so by absolute reference, as above, or relative. MY.GDG(0) which is the most recent generation. MY.GDG(-1) is the next oldest, and so on.

To create a new GDG generation, you code in your JCL. DSN=MY.GDG(+1), DISP=(NEW,CATLG) etc as normal. Whatever you created as a max generations, the last one gets dropped off (uncataloged and deleted) assuming you have that many generations.

They are useful for backups and the like. If you run a particular batch job on a daily basis, then its often the case that you have a 5 generation (or 7?!) GDG to capture your output or parameters etc. You then have a week to print them or reference them.

11> Can we call one proc from another??? if yes,what is the maximum limit??

Yes we can.Maximum limit is 15.


Widget By Devils Workshop

About This Blog