Sunday, July 1, 2012

JCL Interview Questions 6


What are S0C1, S0C4, S0C5, S0C7 ABENDs??
S0C1 (Operation Exception Error) - May be due to 

Missing or misspelled DD name 
Read/Write to unopened dataset 
Reading a dataset opened output mode
Writing into a dataset opened input mode
Called subprogram not found

S0C4 may be due to 
Missing Select statement (during compile) 
Bad Subscript/index 
Protection Exception 
Missing parameters on called subprogram 
Read/Write to unopened file 
Move data from/to unopened file;

S0C5 May be due to 
Bad Subscript/index 
Close an unopened dataset 
Bad exit from a perform 
Access to I/O area (FD) before read;

S0C7 may be due to 
Numeric operation on non-numeric data 
Un-initialized working storage 
Coding past the maximum allowed subscript

S0CB might be due to 
Division by Zero 

Why do you use a CONTROL CARD? 
A: A CONTROL CARD can be a member of a PDS or a sequential dataset and is used for storing the date fields, definitions of VSAM files etc., 
We use CONTROL CARD because we cannot use an in-stream procedure in a procedure. Generally you will be calling a PROC from your JCL and you cannot code instream procedure in the PROC and so you will point to the dataset, which is called controlcard. 

How do you submit JCL via a Cobol program?
In your JCL define as: //JOBA JOB 1111,JOB1 //STEP01 EXEC PGM=PROG1 //ddname DD SYSOUT=(*,INTRDR)....and your COBOL (PROG1) should look like this: SELECT JCL-FILE ASSIGN TO ddname. Open this file and write the JCL statements into this file. Example: MOVE '//TESTJOB JOB 1111,VISVEISH' TO JCL-REC.MOVE '//STEP01 EXEC PGM=IEFBR14' TO JCL-REC.and close this file. Then TESTJOB will be submitted. 

How do you submit a JCL under CICS environment?
Pass all the JCL codes to a COBOL variable (should be declared using OCCURS clause) and then write the line one by one to the spool using CICS commands like SPOOLClose, SPOOLOpen and SPOOLWrite. For more help refer CECI of CICS or CICS manual. 

What is the parameter to be passed in the job card for the unlimited time, irrespective of the job class
TIME=1440 

Define COND parameter in JCL?
COND is a condition parameter, consists of 2 subparameters, 1st - return code from the previous step, 2nd - condition. If COND is true, the step on which COND is coded will be BYPASSED. It is compared with system return code of previous step //STEP1 EXEC PGM=ABCD //STEP2 EXEC PGM=XYZ, cond=(4,lt) STEP 2 will be executed when system return code of step1 is less than 4. 

What is meant by S0C-07 system ABEND codes
S0C7 - Data exception error - you will get it whenever you are trying to move the low values or spaces into the numeric field, or compare the numeric fields with low values, or try to do some arithmetic operations on the low values. To avoid this you have to always initialize the numeric fields otherwise they will contain the low values. 

How to pass the temp dataset form one JOB step to another?
By specifying the DISP as PASS for the temp dataset 

Write a JCL to execute a Job by 7:00 AM on Jan 20,1986?
The code is: //*MAIN DEADLINE=(0700,B,012086) 

How many types of libraries are there in JCL?
Libraries are of three types: System Libraries:- such as SYS1.LINKLIB Private Libraries:- Specified in a JOBLIB or STEPLIB DD STATEMENTS. Temporary Libraries:- Created in a previous step of the Job. 

What do you mean by INCLUDE statement in JCL?
An INCLUDE statement identifies a member of a PDS that contains this set of JCL statements is called an INCLUDE group. The system replaces the INCLUDE statement with the statements in the INCLUDE group. 

What are the Maximum number of In-stream procedures you can code in any JCL?
15. 

What you mean by skeleton JCL?
JCL, which changes during run time,that is the values for the JCL such as program name, dd name will change. The same JCL can be used for various jobs, equivalent to dynamic SQL; 

What is JCL
It is an interface between operating system (MVS) & the application program. When two related programs are combined together on control statements, it is called job control language 

What is the maximum blocksize for a Tape file?
It is 32,760. Based on that we can calculate efficient number of Records in a Block 

What are the basic JCL Statements for a Job?
The basic JCL statements for any job are: 
JOB : Identifies a job and supplies accounting info 
EXEC : Identifies a job step by indicating the name of the program to be executed. 
DD : Identifies a data set to be allocated for the job step Delimiter (/*) : Marks the end of an in-stream dataset Null (//) : Marks the end of a job Comments (//*) : Provides Comments 
PROC : Marks the beginning of a procedure 
PEND : Marks the end of a procedure 
OUTPUT : Supplies options for SYSOUT processing. 

What does the statements: TYPRUN=SCAN and TYPRUN=HOLD do in a JCL statement?
TYPRUN= SCAN checks the JCL for errors, TYPRUN= HOLD holds the job until further notice.