JCL is an acronym for Job Control Language, which is a computer language describing jobs to the MVS that in turn runs on IBM S/390 mainframe computers. It defines a job that is singular in nature, while also controlling the same function across by defining programmes. The following ensures that the desired output is achieved by the programme in place. JOB CONTROL LANGUAGE, in its very structure, can include many steps, with each of the steps holding a business logic that in turn helps in completing the defined task. The secondary function of the job control language is to link all defined programs with input and output files to one and another in the backend workgroup environment.
Now, let us come down to how one can actually crack an interview for JOB CONTROL LANGUAGE. We’ll briefly touch on all the topics mostly asked in an interview for the position of a JOB CONTROL LANGUAGE.
Best JCL Interview Questions and Answers
Q1) Generation Data Group, what can you tell us about this? Briefly touch upon the concept.
A) This is a frequently asked JCL interview question. It is a group of chronologically connected datasets. The following datasets are connected and processed continually, unlike the other processes. The following function works by adding a newer generation, thereby retaining older information related to the generation or at times discarding the older generation.
Q2) Light some information on GDG, and also mention how the following is created?
A) For this JCL interview question, you could answer. The basic functionality of GDG is that it keeps the track of numbers related to the generation used in different datasets. It is created in the catalogue of the systems in concern. The GDG base is created by the systems catalogue, IDCAMS is the basic base on which the GDG base is defined.
Q3) List the differences between JES2 and JES3?
A) JES3 works by allocating the data sets right before the job is supposed to take place. In JES2, the allocation of data sets only takes place before that step needs to be executed.
Q4) Tell us about “skeleton JOB CONTROL LANGUAGE”?
A) This is an important JCL interview question. It is used to make life easier for the employee. JOB CONTROL LANGUAGE skeletons are unique in their very nature. It works by allowing to build the mainframe jobs needed to be done in the task, without the coder actually code to complete JOB CONTROL LANGUAGE. As said, it makes life easier for the coder by containing various variables throughout the runtime; a coder needs to substitute the variables with the input required. Boom, the job is done.
Q5) How do you identify the job needed to be done in the said operating system?
A) For this JCL interview question, you could answer; As the said rules, all jobs shall be given a unique name; if not, the tasks may not be achieved, thereby hindering the entire process and making it tedious. A duplicate job name will hinder the job as the process would lag, and till one of the similar job name functions is not completed- the execution fails. To make the function even easier to understand, a job name can be any alphabetic character containing eight characters. The said function should start from column3, and the alphabet can be any of the 26 listed, which are from A-Z.
Q6) Do you know how the in-stream procedures are built?
This is a frequently asked JCL interview question. To understand this, let’s start by taking the basics- in-stream procedures are mostly and definitely built by coding and placing the said statements under the main JOB Statement, and to keep in mind that it is placed just before the EXEC statement. The asked procedure starts with a PROC statement and ends with a PEND statement. To go on a bit of a technical spree, a limit of 15 in-stream procedures can be included for a single task. To further add, any in-stream procedure can be revoked only a few times before the job is completely executed. Symbolically, the in-stream procedure closely resembles the catalogued procedures.
Q7) Do You have an idea about “operation exception error”?
A) You must begin with whether the assigned operation you are intending to perform is available on the desired computer model or not. To summarize the previous statement, the machine does not recognize the function or instruction you want it to perform. It can also be caused by an error in the operation code. The code error generated comes by 0C1. It can also be caused by a misread of the file opened- which in turn contains a misspelt statement.
Q8) Keyword- what does this mean in the context of JOB CONTROL LANGUAGE. If you know the former question- shed some light on the opposite of that keyword?
A) A keyword denotes a key or an important word present in any statement or phrase. Similarly, in job control language, a keyword might appear in a different place within different statements. For example- MSGCLASS is an important statement of JOB. An opposite of the former would be the DISP keyword which would convey the meaning conveyed via the position in the statement.
Q9) Briefly touch on the topic of “Notcat”?
A) Notcat is a type of error message the JOB CONTROL LANGUAGE coder gets from putting in duplicate catalogues in the data entry set. We’ll try to break it down to you, by taking a healthy example- suppose you have a dataset with a DSN such as =aaa. bbb, and in turn, you have a catalogue of this same name- then you’d get the error message almost instantly. For better understanding, I’ll explain further down- now if you put the same catalogue names in the entries, then the system would try to open and write and will move till the very end of the process- and in the end, it would realise a duplicate catalogue entry which is already in place-thereby putting the error message.
Q10) For the above-asked question, how can you solve the given error?
A) For this JCL interview question you could answer; Well, there is a way to simply put the misery out: you can go to the first data set, thereby deleting the following and in the end reaching for the volume in the new dataset- in which you can catalogue it once again.
Q11) Shed some information on what you understand by a disposition of ?
A) We’ll try to make you understand by breaking and linking each of the components- “new” refers that the dataset in consideration is to be allocated- “Catalogue” means that the following dataset has to be catalogued as per the requirement- to “keep” means that if the dataset fails to get catalogued the step should be abended. The last few words, in turn, means that if the dataset fails to get catalogued, then we need to go back to the volume server each time when we are trying to refer to it.
Q12) Shed some insights on- MSG LEVEL Parameter? Try to explain it in detail.
A) this is an important JCL interview question; To understand it, I’ll break the following into different keywords and will connect each one of which I communicate. So, when we talk about the MSG LEVEL parameter, it denotes various components of keyword parameters. So, it denotes that a post output is to be written as a part of the output listing. Output can be requested containing the job statement, input job controls, allocation, disposition and also containing the messages of recovery.
So, to break it down- MSG LEVEL= Statements + Messages
For the former, Statement the different components are-
0- This shows that a statement of job can be only written.
1- It would contain all the input control statements, which are in turn catalogued procedure statements and the representation of the internal framework.
2- The following would only contain the input job statements.
Now, talk about the Latter, Messages- its components are-
0- This will allow that no allocation/termination messages are to be progressed until and unless the job gets terminated uncharacteristically.
1- It is just the opposite of the former, which means that allocation or termination messages need to be printed.
Q13) We’ll ask you yet about another parameter- which is the MSGCLASS parameter?
A) It is a pathway that specifies the output, which is bound to send the system messages. To be more precise and elaborate, mention the following and take it as a JCL interview tip – to mention the output class is an alphabetic order from A-Z, or can be numeric from 0-9. It is to be noted that the default parameter for the said parameter will always be a system message, and the data output set might be routed to the same output class. In the end, to code the parameter of MSGCLASS, the job parameter you would need to put it in the job statement and also in the sysout parameter on the DD statement.
Q14) What is a priority in Job Control Language?
A) For this JCL interview question you could answer; Again, as discussed earlier, the following is a keyword parameter, which in turn has the responsibility for the job initiation of the task within the job class. So, when the said job is initiated- the system will, in turn, help in converting the priority of the job- to that for dispatching.
Q15) Do You have an idea about PDS? Tell us, in brief, this aspect of Job Control Language?
A) This is an important JCL interview question. So, it is like a library- instead of books, it consists of various directories and members. The former, which is a directory, consists of blocks- and each block is of the sizing equivalent to 256 bytes, and each block has the space to incorporate 5 members. Lastly, the members are a formation of sequences.
Q16) Given a situation, will you want to specify the region parameter in a JOB CONTROL LANGUAGE step?
A16) This is a frequently asked JCL interview question. So while talking about the region- it denotes the maximum region size. To override the following region at the levels of JOB, we will want to use the region parameter. So, if Region=OK or OM- which in turn means that no limit will be allowed in case a coder wants that.
Q17) Give us a brief about the TIME parameter? If you know the former part, then please answer about what TIME 1440 means?
A17) For this JCL interview question you could answer; As we spoke about the abends earlier, there exists a specific type of abend- known as S322 abend. The following abend can be overridden with the help of the TIME parameter. It is mostly done in cases where the CPU might need some more time. Answering the last part of the question, TIME 1440 denotes that a process cannot entertain a CPU time limit.
Q18) Do You have an idea about STEPLIB? Also, if you know the former, please make us understand JOBLIB as well. If you are comfortable in both, then let us know what it is used for?
A18) I might answer this JCL interview question in a reverse manner, sometimes to impress the JOB CONTROL, LANGUAGE interviewers. The following quality helps the interviewers to judge the reaction timings of an applicant, and how open he is in putting across his thoughts and demands. Coming back to the question, the following segments helps the coder and the system in specifying that the libraries in contention should be searched before it tries to search in the system libraries. This will help the programme to be executed earlier than required. Now, to answer the first two parts of the question. The former, STEPLIB, is used for just one step, whereas JOBLIB is used for all the steps in doing the required job.
Q19) DD Statement- try to explain its meaning and keywords associated?
A19) DD statement in its use and meaning will help in linking the external dataset name or known famously as DSN, to the coded DDNAME, and the entire process will be done within the executing programme.. Using keywords after the use of DSN, can be SPACE, DCB or DISP.
Q20) Make us understand the major difference between an instream PROC and a PROC, which is catalogued? Try to briefly mention the latter part of the previous statement.
A20) For this JCL interview question, you could answer; PROC is an acronym or a short form of procedure. While talking about the former PROC- Instream Proc is generally presented within the JOB CONTROL LANGUAGE, while a catalogued PROC is mostly used across to partition the proclib dataset.
Q21) Continuing from the previous step- help us understand the difference between symbolic and override while trying to execute a PROC?
A21) This is an important JCL interview question. The former, which is symbolic PROC, is a placeholder, which means the final value of the following is only supplied when the PROC is invoked. For example, symbol=value. While talking about the latter, the override tries to replace the PROC statement with another one of your choices; to be more precise, it will substitute the entire statement.
Q22) RESTART- don’t confuse it with a system restart but try to answer RESTART in JOB CONTROL LANGUAGE.
A22) You could answer this JCL interview question; It is again a keyword used in job statements. As mentioned, it will try to restart the job from a designated step rather than from the start.
Q23) Briefly touch upon the statement-EXEC or keyword and COND? What is the syntax by which it is used?
A23) While talking about COND as such, its function is to specify the conditions which are required for continuing the next job step. The value which is used after inserting COND is in turn compared to the return codes of the steps preceding, and if the mentioned step which is compared stands true, then the entire step is bypassed.
P.S- Some answers are hard to explain, and I’d request you to memorize such answers verbatim. But, again, try to understand certain concepts from the very base, and that will help you in clearing JCL Interview Questions.
Q24) Shed some light on DDNAME and DS NAME, which are mostly used in the DD Statement?
A24) For this JCL interview question, you could answer; The data definition name or DDNAME is a character constituting eight alphabets or numerical and are used after // in the DD Statement. While DSN or dataset name is the OS name or MVS name for the entire file.
Q25) DUMMY, how is this used in JOB CONTROL LANGUAGE?
A25) By using dummy, the coder tries that the output file used should be discarded, and if the following is used for the input file- it denotes that the file is empty.
Q26) In total, how many positional parameters are present in the job statement?
A26) There exist only two position parameters when talking about the job statement.
Q27) While talking about parameters, what can you specify in both the job statement and the executive statement?
A27) COND PARAMETERS, Time and Region are some of the parameters which can be used in both statements.
Q28) Try to use JOB CONTROL LANGUAGE while trying to execute a job that has to be done by 7 A.M on January 31st, 2022?
A28) The JSL code is: //*Deadline= (0700, B, 013122)
Q29) Tell us about the maximum number of in-stream procedures you can try to include in the Job Control Language?
A29) Fifteen or 15.
Q30) An error is known as QSAM; when does it mostly occur?
A30) The following error mostly comes by the time when the job is being tried to get submitted.
As stated in the article above, the Top 30 JCL interview questions fairly covers the majority of the questions asked in a JCL interview. You could also conduct thorough research on the background of the company that you are planning on interviewing for.
More Resources : SQL interview questions for data analyst fresher | Hibernate Interview Questions for freshers | 25 Functional Testing Interview Question and Answers | Basic JUnit Interview Questions and answers