JCL interview questions and answers

Here is a compiled list of JCL interview questions and answers to help with your interview preparation.

1. What is the maximum number of DD statements in a JCL?

3273. More information on JCL DD STATEMENTS.

2. What is the maximum number of instream procedures?

15. More information on JCL PROCEDURES.

3. What is the maximum duration a JOB can be executed continuously in a mainframe?

248 Days. More information on JCL JOB STATEMENTS.

4. How much space is allocated by the OS when creating a PS or a PDS?


5. What is the minimum number of dataset in one directory block?


6. What is the maximum number of steps in a JCL?


7. How much is memory space involved, when we code BLOCKSIZE,TRK & CYL?

One block constitutes 32KB of formatted memory/ 42KB of Unformatted memory. 6 blocks makes one Track and 15 Tracks makes one cylinder.

8. What is DSNDB06?

This is the Place where DB2 Catalog resides

9. What is the use of DSNDB07?

This is the area where sorting takes place in DB2

10. What are the maximum and minimum sizes of any CONTROL AREA (VSAM datasets)?

Minimum Size : 1 track Maximum size : 1 cylinder

11. What is a procedure (PROC)?

A set of precoded or reuseable JCL that can be modified through the use of parameters or override cards. Procedures can be catalogued or instream. More information on JCL PROCEDURES.

12. How many times a secondary space allocation is done?


13. When is //SYSIN DD * and //SYSIN DD DATA are same?

When default delimiters are used.

14. What is the default DISP parameter when not coded?


15. What utility is used to compress a PDS?

IEBCOPY. More information on JCL UTILITIES.

16. When does SB37 occurs?

When end of volume is reached.

17. How to refer a GDG that was created in the previous step?

DSN=name(+1), DISP=OLD

18. How does MVS get DCB information or what are the ways MVS knows about DCB information?

  • From file section in Cobol Program.
  • DCB parameter in DD statement in JCL.
  • From the VTOC catalog.

19. Where are control statements placed in IEBGENER?

SYSIN. More information on IEBGENER.

20. What is the format of sort work file?

Format of Sort work file

21. When does SOC7 error occur?

Computation of alphanumeric item and numeric item

22. What is the purpose of RLSE parameter?

Releases unused space by dataset.

23. What does COND=ONLY mean?

It means that job step will be executed only if previous steps abnormally terminate. More information on COND.

24. What does COND=EVEN mean?

It means that job step will be executed even if one of the previous steps abnormally terminates. More information on COND.

25. Can you execute a PROC from another PROC?

Yes. Only if cataloged in SYS1.PROCLIB. Upto 15 levels are allowed

26. What will happen if you attempt to restart a job in the middle of a JCL // IF .... // ENDIF?

Job will fall through to the ENDIF (not executing any steps), then resume execution with the first step AFTER the // ENDIF.

27. How many POSITIONAL PARAMETERS are there in JOB statement?

2 POSITIONAL PARAMETERS in JOB statement. More information on JOB statement

28. What are three parameters you can specify on Job statement as well as on exec statement?

Time , Region and Cond parameters. More information on JOB statements and EXEC statements

29. How can you trap abends in the JCL?

Using COND parameter and IF condition. 

30. How do you restart a step in JCl?

Use RESTART=step name

31. How to pass parameters to a program as the job is being executed ?

By using 'parm' parameter in exec statement. the value mentioned here should be declared in linkage section in the program and process thru procedure division. this technique is very useful when you do not know the parametrs at the time of coding the programs.

32. What is a controlcard?

A controlcard can be a member of a pds or a sequential dataset and is used for storing the date fields, definitions of VSAM files etc. You use controlcard because you cannot use a it in a procedure. Generally you will be calling a Proc from your Jcl and point to the dataset which is called controlcard.

33. What is the parameter to be passed in the job card for the unlimited time irrespective of the job class?


34. What is a COND statement?

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.

35. How to pass the temp dataset form one JOB step to another?

By specifying the DISP as PASS for the temp dataset.

36. How to pass the temp dataset between different JCL?

TEMP datasets cannot be passed between different JCLs as the dataset is deleted after JCL is completed.

37. What does the statements TYPERUN=SCANand TYPERUN=HOLD do in a JCL?

  • TYPERUN=SCANchecks the JCL for errors.
  • TYPERUN=HOLDholdsthe job until further notice.


JOBLIB: Used to identify a program library to search first when attempting to locate programs executed during the job's life. Must be placed after the job statement and before the first exec statement in the job.

STEPLIB: Userd to identify a private library or a system library from which include groups and jcl procedures are to be retrieved. The order in which the library names appear on the jcllib statements in the order in which they are searched in jcl procedures and include groups referenced by this job.

JCLLIB: The proc and include are searched in the pds order mentioned in the jcl library. This should be coded in the job before any steps.

39. What is DCB?

Date Control Block is used to supply information to the system that allows it to manage the data sets that are created in job.