JCL FAQs

Here list of frequently asked questions about JCL.

  1. How many levels of nesting is allowed in PROCs?
    Ans: 15
  2. If the “DISP=” keyword is not coded for an existing dataset, what default values will be used for “DISP=”?
    Ans: If the “DISP=” keyword is not coded ,then the DEFAULT Values are : DISP=(NEW,DELETE,DELETE)
  3. If the “DISP=” keyword is not coded for a new dataset, what default values will be used for “DISP=”?
    Ans: If the “DISP=” keyword is not coded ,then the DEFAULT Values are : DISP=(NEW,DELETE,DELETE)
  4. What does COND=ONLY mean?
    Ans: It means that job step will be executed only if previous steps abnormally terminate
  5. What does COND=EVEN mean?
    Ans: It means that job step will be executed even if one of the previous steps abnormally terminates
  6. Can you execute a PROC from another PROC?
    Ans: Yes. Only if cataloged in SYS1.PROCLIB. Upto 15 levels are allowed.
  7. Question: What is a DD statement?
    Ans: Data Definition
  8. What will happen if you attempt to restart a job in the middle of a JCL // IF …. // ENDIF?
    Ans: Job will fall through to the ENDIF (not executing any steps), then resume execution with the first step AFTER the // ENDIF.
  9. WHAT IS A FILE?
    Ans: A file is a collective group of records. the number of records on a file depends entirely on the application associated with the file. files may contain a few records, thousands, or even millions of records.
  10. How many positional parameters are there in job statement?
    Ans: There are two position parameters in job statement.
  11. What are three parameters you can specify on Job statement as well as on exec stmt ?
    Ans: Time , Region and Cond parameters
  12. How can you trap abends in the JCL?
    Ans: Use IF ABEND statement in the JCL.
  13. How do you restart a step in JCl?
    Ans: Use RESTART=step name.
  14. How do you pass parameters to the program as the job is being executed?
    Ans: 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.
  15. Why do you use a controlcard?
    Ans: 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 in stream procedure in a procedure. Generally you will be calling a Proc from your JCL and you cannot code in stream procedure in the Proc and so you will point to the dataset which is called controlcard.

Leave a Reply

Your email address will not be published. Required fields are marked *