Sunday, May 27, 2012

JCL Interview Questions 3

Why do you want to specify the REGION parameter in a JCL step?
To override the REGION defined at the JOB card level REGION specifies the max region size REGION=0K or 0M or omitting REGION means no limit will be applied

What does the TIME parameter signify ? What does TIME=1440 mean ?
TIME parameter can be used to overcome S322 abends for programs that genuinely need more CPU time TIME=1440 means no CPU time limit is to be applied to this step

What is COND=EVEN ?
Means execute this step even if any of the previous steps, terminated abnormally

What is COND=ONLY ?
Means execute this step only if any of the previous steps, terminated abnormally

How do you check the syntax of a JCL without running it?
TYPERUN=SCAN on the JOB card or use JSCAN

What does IEBGENER do?
Used to copy one SAM File to another Source Data Set should be described using SYSUT1 ddname Destination Data Set should be decribed using SYSUT2 IEBGENR can also do some reformatting of data by supplying control cards via SYSIN

How do you send the output of a COBOL program to a member of a PDS?
Code the DSN as pds(member) with a DISP of SHR The DISP applies to the pds and not to a specific member

I have multiple jobs ( JCLs with several JOB cards ) in a member What happens if I submit it?
Multiple jobs are submitted (as many jobs as the number of JOB cards)

I have a COBOL program that ACCEPT some input data How do you code the JCL statement for this? ( How do you code instream data in a JCL?
//SYSIN DD* input data input data /*

Can you code instream data in a PROC ?
No

How do you overcome this limitation ?
One way is to code SYSIN DD DUMMY in the PROC, and then override this from the JCL with instream data

How do you run a COBOL batch program from a JCL? How do you run a COBOL/DB2 program?
To run a non DB2 program, //STEP001 EXEC PGM=MYPROG To run a DB2 program, //STEP001 EXEC PGM=IKJEFT01 //SYSTSIN DD * DSN SYSTEM() RUN PROGRAM(MYPROG) PLAN() LIB() PARMS() /*

What is STEPLIB, JOBLIB? What is it used for?
Specifies that the private library (or libraries) specified should be searched before the default system libraries in order to locate a program to be executed STEPLIB applies only to the particular step, JOBLIB to all steps in the job

What is order of searching of the libraries in a JCL?
First any private libraries as specified in the STEPLIB or JOBLIB, then the system libraries such as SYS1LINKLIB The system libraries are specified in the linklist

What happens if both JOBLIB & STEPLIB is specified ?
JOBLIB is ignored

When you specify multiple Data Sets in a JOBLIB or STEPLIB, what factor determines the order?
The library with the largest block size should be the first one

How to change default proclib ?
//ABCD JCLLIB ORDER=(MEMYPROCLIB,SYS1PROCLIB)

The DISP in the JCL is MOD and the program opens the File in OUTPUT mode What happens ?
Records will be written to end of File (append) when a WRITE is done in both cases

What are the valid DSORG values ?
PS - SAM, PO - Partitioned, IS - ISAM

What are the differences between JES2 & JES3 ?
JES3 allocates Data Sets for all the steps before the job is scheduled. In JES2, allocation of Data Sets Required by a step are done only just before the step executes.
JOB /EXEC/DD ALL PARAMETERS JOBLIB/STEPLIB PROCEDURES, PARAMETERS PASSING CONDITION VARIABLES ABEND CODES.

No comments:

Post a Comment