0% found this document useful (0 votes)
2 views

JCL Interview Questions

The document provides an overview of JCL (Job Control Language), detailing its purpose, benefits, and key components such as job control statements, parameters, and utilities. It explains various aspects of JCL including the TIME parameter, JOB statement, and the differences between positional and keyword parameters. Additionally, it covers JCL procedures, syntax checking, and the role of EXEC statements in executing programs and managing job steps.

Uploaded by

Brindha
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

JCL Interview Questions

The document provides an overview of JCL (Job Control Language), detailing its purpose, benefits, and key components such as job control statements, parameters, and utilities. It explains various aspects of JCL including the TIME parameter, JOB statement, and the differences between positional and keyword parameters. Additionally, it covers JCL procedures, syntax checking, and the role of EXEC statements in executing programs and managing job steps.

Uploaded by

Brindha
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 33

JCL Interview Questions

1. What is the time parameter in JCL? Explain what does TIME=1440


mean?

JCL TIME is an optional Keyword parameter that specifies how long a job
may use the processor. In simple words, TIME specifies the max CPU
usage time that can be used for the job's execution. It is possible to code
the TIME parameter at the Job and Step levels as well. Once the specified
execution time is reached, the system will stop the JOB execution
automatically. Thus, the TIME parameter will inform OS of the maximum
CPU utilization time, and once the specified time has been consumed by
the job, OS will cancel the job automatically.

Additional options for TIME Parameter

 TIME=1440

It indicates that the job or step has no time limit and can be executed
indefinitely.

 TIME=MAXIMUM

This means the job or step can use the most CPU time possible.

. What is JCL (Job Control Language)?


Job Control Language (JCL) is a programming language that allows you to control how your
computer works. On the IBM mainframe operating system, JCL is a scripting language used to
command the system for batch jobs. It's a sequence of statements you write to tell the
operating system what you want to do. This set of statements can be fairly vast at times, but
most jobs can be completed with only a small portion of it.
2. What are the benefits of using JCL?

The following are the benefits of JCL:

 Using JCL, you can remove and construct a large number of data sets, VSAM Clusters,
and Generation Data Groups.
 It can be used to compare files with different PDS (Partitioned Data Set) members.
 You can use it to merge and sort a number of different data sets.
 It may also execute and compile batch-based programmes (programmes that are
scheduled to run on a computer without further user intervention and are allocated
through JCL).
 Beginners will find JCL simple to learn because it is straightforward to alter.
 It also includes a variety of utilities, such as IEDCOPY and IDCAMS, that make it easier
and more convenient to do jobs.
3. Explain different types of Job control statements or JCL statements.

You must specify where to get the input, how to process it, and what to do with the output for
each job you submit. Job control statements in JCL are used to send data to MVS (Multiple
Virtual Storage). JCL's comprehensive set of work control statements provides MVS with a
wealth of information. Most activities, however, may be conducted using only a small number
of these control statements. As you grow more comfortable with the jobs you normally run,
you may find that you only need to understand the intricacies of a handful of the control
statements.
Types of Job Control Statements

The following three sorts of job control statements can be identified:

JOB Statement: It's the first of three JCL control statements that inform the mainframe OS
(Operating System) about the job's identification. Other options in the JOB statement include
class, msgclass, and msglevel, in addition to the Job name and accounting data. These
options make it easier for the OS to choose the right scheduler. It can also be used to monitor
CPU usage and provide messages to the user.
Syntax:
//Job-name JOB Positional-param, Keyword-param

Here,

 After "//," the job-name defines a name for the job. It can be 1 to 8 alphanumeric
characters long.
 It's a JOB statement because of the phrase 'JOB.'
 Positional parameters are referred to as positional parameters, and keyword
parameters are referred to as keyword parameters.

Example:
//STEP01 EXEC PGM=INTERVIEWBIT
DD Statement: Data Definition (DD) aids in the specification of data sets used by a
programme or procedure. A DD statement must be used to specify the required input and
output resources for each job phase. Every data set utilised or generated in a job step must
have DD statements. A step can include up to 3273 DD statements.
Syntax:
//DD-name DD Parameters

Here,

 DD-name appears directly after "//" and gives the DD-statement a name.
 It is identified as a DD statement by the keyword 'DD.'
 For DD statements, parameters represent many types of parameters.
Example:
//STEP01 EXEC PGM=INTERVIEWBIT

DD Statement: Data Definition (DD) aids in the specification of data sets used by a programme
or procedure. A DD statement must be used to specify the required input and output
resources for each job phase. Every data set utilised or generated in a job step must have DD
statements. A step can include up to 3273 DD statements.

Syntax:
//DD-name DD Parameters
4. State the difference between a positional parameter and keyword parameter in JCL.
Positional Parameters: In a JCL statement, positional parameters are those that appear in a
specific order. They must be specified in that order since their order in the JCL statement is
always fixed. An error will occur if the positional parameters in the JCL are moved.
Examples: ACCT (Accounting Information), PGM (Programmer Name), etc.
Keyword Parameters: For these characteristics, there is no need for a fixed position. There
are no problems regardless of the sequence in which the keyword arguments are coded.
Examples: TIME, REGION, MSGLEVEL, CLASS, etc.
5. How does JCL act on a COBOL code?

JCL is dealt with through a specific set of divisions.

 Identification Division: Assist in the learning of JCL. It introduces the name of the
application, the author, the date, and other information to JCL, but there is no
interaction code.
 Environment Division: JCL can interface with the operating system thanks to the
environment division. Under file operation, the OS sends a request for Files.
 Data Division: It works with the accessed file in accordance with READ or PRINT actions
(with the help of OS).
 Procedure Division: It contains numerous operations performed on files, such as
closing open files.
What is the use of symbol // in JCL?
It's an important indication in JCL statements. This indicator must appear at the beginning of
every JCL statement. The JCL statements are executed in accordance with a set of rules;
otherwise, the JCL statement will fail.
The JCL execution mechanism checks the symbol (//) at the beginning of JCL statements first.
It prevents exceptions from happening in the middle of a program's execution.
7. What are the hierarchy levels in JCL?

The hierarchy levels are present in every JCL statement:

 Identifier field
 Name field
 Operation field
 Parameter field (POSITIONAL, KEYWORD)
 Comment field (if any)
8. What is condition checking in JCL? Is this possible?

Condition checking is supported by JCL. At both the job and code levels, condition checking is
possible. It's done with the COND keyword and a preset return code and operand in JCL. As a
result, it is possible in JCL.

9. Explain the JOB statement in JCL?

The Task statement tells the Operating System (OS) in the spool and the scheduler the job
identity. In a JCL, it is the first control statement. The JOB statement's available parameters
assist the OS in allocating the appropriate scheduler. It can also be used to analyse the
amount of CPU time required and send notifications to the user.

Syntax:

A JCL JOB statement's fundamental syntax is shown below.


//Job-name JOB Positional-param, Keyword-param
10. What are the JCL procedures?

JCL Procedures are a group of statements contained within a JCL file. The statements in this
section are grouped together to fulfil a certain task. A procedure is used to code the fixed parts
of the JCL, while the JCL is used to code the variable parts of the Job.

With the help of several input files, we can use a procedure to parallelize the execution of a
programme. Each input file can have its own JCL, and by giving the name of the input file as a
symbolic parameter, a single operation can be called simultaneously.

Syntax:

A JCL procedure definition's core syntax


//*
//Step-name EXEC procedure name
11. Explain how you will check the syntax of JCL without running it.

To check JCL syntax without running it, use TYPERUN=SCAN on a job card or use JSCAN. To
request further job processing, such as examining or scanning a job for syntax errors, use the
TYPRUN command. Without actually running the task, SCAN checks it for syntax errors. JSCAN
can also inspect a JCL's syntax without running it.

12. Explain the JCL EXEC statement?

A JCL can have multiple job stages, each of which can either execute a programme or invoke a
procedure. As a result, JCL may run multiple programmes at the same time (job steps).

The EXEC statement is the statement that holds the job step programme data.
The EXEC statement's purpose is to give the necessary data. This data is passed along to the
job step's programme.
Syntax:
The following is the fundamental syntax for a JCL EXEC statement.
//Step-name EXEC Positional-param, Keyword-param
13. Explain utilities in JCL.

JCL utilities are pre-written programmes that system programmers and application
developers employ to satisfy day-to-day needs, organise data, and manage it. They are used
to reorganise, change, or compare data at the record or data set level. Here is a couple of
them, along with descriptions of their functions:

 IDCAMS: IDCAMS is primarily used for defining and administering VSAM data sets and
integrated catalogue facilities catalogues, however, it has other uses.
 IEBCOPY: This software replicates one or more dataset members to a new or existing
PDS dataset. PDS is compressed, PDS is loaded to TAPE, and PDS is unloaded from
TAPE onto DISK.
 IEBGENER: It is also a programme for converting TAPE files to DISK and vice versa. It is
commonly used for copying or printing consecutive data sets.
 IEBUPDTE: Within a partitioned data set, this function can create new members or edit
records in existing members. This is mostly used to build and maintain assembler
macro libraries and JCL procedure libraries.
 IEHMOVE: It is commonly used to transfer data between volumes.
Name different JCL statements that are not permitted in the procedures.

The process does not allow the following JCL statements:

 JOB, Delimiter(/*), or Null statements


 JOBLIB or JOBCAT DD statements
 DD * or DATA statements
 Any JES2 or JES3 control statements
What are the different parameters for DD (Data Definition) statement?

The following are some of the DD statement's parameters. You can choose one or more
parameters separated by commas based on your requirements.

DSN Parameter: It's used to give a dataset a name, whether it's new or old. The DSN value
can have a total of 44 characters. The sub-names can be anywhere from one to eight
characters long, separated by periods.
Syntax:
DSN=Physical Dataset Name

Here,

 The DSN parameter is specified via the term DSN.


 The name of the freshly formed or existing dataset is referred to as the physical dataset
name.
DISP Parameter: The keyword parameter "DISP" is used in JCL to represent the state of a
data set to the operating system. It basically tells the operating system how to deal with the
dataset after the JOB/STEP has finished. The status, normal, and abnormal JOB termination
actions are the three sub-parameters.
Syntax:
DISP=({status},{normal Disposition},{abnormal Disposition})

Here,

 The Disposition parameter is specified by the term DISP.


 NEW (indicates that the dataset is new), OLD (indicates that the dataset exists when the
step begins. ), MOD (extends an existing dataset or generates a new one if one does not
exist. ), or SHR (indicates that the dataset
 may be shared (read access) with other jobs.
 After a normal termination, the normal disposition indicates what should be done with
the dataset. CATLG, UNCATLG, PASS, KEEP, or DELETE are the possible values.
 After a normal termination, the abnormal disposition specifies what to do with a
dataset. It accepts the following values: CATLG, UNCATLG, KEEP, and DELETE.
DCB Parameter: The DCB (Data control block) parameter offers information about a
dataset's physical properties. This parameter is necessary for freshly produced datasets.
Syntax:
DCB=<List of parameters>

Here,

 DCB is the name of the data control block parameter.


 The record format of a dataset is specified by RECFM, the length of logical records is
specified by LRECL, the size of a block of records is specified by BLKSIZE, and the data
set's organisation is specified by DSORG as
 physical sequential (PS), partitioned (PO), or direct (DA).
SPACE Parameter: The SPACE option specifies how much space is needed on a Direct Access
Storage Disk to store a dataset.
Syntax:
SPACE=(Unit of Space,(Primary,Secondary,Directory),RLSE,CONTIG,ROUND)

Here,

 The word DCB refers to the data control block parameter.


 TRK (tracks), CYL (cylinders), BLKLGTH (block length), and RECORDLENGTH (record
length) are the space units (RECLGTH).
 The fundamental space requirement is measured in space units
(tracks/cylinders/number of data blocks).
 The secondary quantity is indicated if the initial quantity of units is exceeded however,
it is only assigned when the dataset increases.
 The directory specifies the number of directory blocks to be allocated.
 The RLSE gives the order to release the specified unused space.
 Primary space should be assigned in a contiguous way, according to CONTIG.
 ROUND designates a block length that is rounded to the allotment of integral cylinders.
SYSOUT Parameter: So far, we've looked at the parameters of DD statements that match to
dataset data. SYSOUT sends data to the output device based on the class supplied.
Syntax:
SYSOUT=class
16. Explain some of the commonly used parameters in the EXEC statement.

EXEC is an acronym for EXECUTION. The EXEC statement describes the execution of a
program/job phase, as well as utilities and procedures.

Syntax:
//Step-name EXEC Positional-param, Keyword-param

The following are some of the most regularly utilised positional and keyword parameters in
EXEC statements:

 PGM: The name of the programme that will be run in the job phase is specified here.
 PROC: The name of the procedure that will be run in the job step is specified here.
 ACCT: It specifies the task step's accounting details.
 ADDRSPC: It specifies whether real or virtual storage is required for job steps to
execute.
 COND: If the preceding task step fails abnormally, it provides conditions for conducting
the following job steps.
 PARM: It gives the job steps parameterized data.
 REGION: It indicates the amount of space or region size that should be assigned to a
particular job/job phase.
 TIME: It refers to a job's or a job step's time constraint.
17. State difference between JOBLIB and the STEPLIB statements.

The data processing centre (CPU). The OS must first look for and locate the application you
specified before launching a JCL statement. A private library must be searched before seeking
programmes in the system programme library. You must either specify the JOBLIB DD (Data
Definition) statement or the STEPLIB DD (Data Definition) statement to allow OS to properly
identify a programme in a private programme library.

JOBLIB and STEPLIB are two DD (Data Definition) statements. Despite the fact that both
JOBLIB DD and STEPLIB DD specify a private library as the location of a certain programme,
they behave differently in terms of OS search.

JOBLIB Statement: According to JOBLIB DD, every step of the JOB is searched in private
libraries. It refers to the location of the JCL programme to be executed. After the JOB
statement, but before the EXEC statement, comes this statement. It only applies to operations
and programmes that run in the background.
Syntax:
//JOBLIB DD DSN=dsnname

Here,

 The JOBLIB statement is specified by the term JOBLIB.


 The Data definition statement is specified by DD.
 The DSN identifies the program/job that will be run.
STEPLIB statement: According to STEPLIB, the sole single stage of the JOB is a search of
private libraries. It refers to the location of the application that will be run within a Job Step.
This remark comes after the EXEC statement but before the job step's DD statement.
Syntax:
//STEPLIB DD DSN=dsnname

Here,

 The STEPLIB statement is specified by the term STEPLIB.


 The Data definition statement is specified by DD.
 The location of the step to be executed is specified by DSN.
18. Explain what you mean by Generation data group (GDG).

In JCL, the Generation Data Group (GDG) is a key notion. The GDG is made up of
chronologically ordered groups of related data sets. Each of these interconnected groups has
its own name. To make each data set inside a group distinct, a generation number and a
version number are appended to the end of the name.

Syntax:
ABC.PQR.XYZ.GnnnnVmm

ABC.PRQ.XYZ is the GDG basis in this case.

The Generation number (Value range 0000–99999) is represented by G, and the Version
number (Value range 00–99) is represented by V.

Example:
MYLIB.URMI.SAMPLE.G0001V00
MYLIB.URMI.SAMPLE.G0002V00, and so on.

Here, the GDG base is MYLIB.URMI.SAMPLE

19. What are symbolic parameters and why is it required?

Any parameter that changes with each programme execution should be considered a
symbolic parameter. The process becomes more versatile when symbolic parameters are
used. The technique will not need to be changed each time a tiny, recurring change is
performed at a specific location.

The string of 1 to 7 alphameric letters in symbolic parameters is preceded by an ampersand


(&). After the &, you must include an alphabetic character. Symbolic parameters may only
occur in the operand field of JCL statements, not in the name or operation fields. If there are
several symbolic parameters supplied to a PROC or EXEC statement, only the first one is used.

20. What is the significance of the ADDRSPC parameter in the EXEC statement?

The ADDRSPC parameter is used to determine how much storage the system requires.

The following are some key points to remember regarding the ADDRSPC option.

 It's a parameter that you can turn on or off.


 Virtual or central storage options exist.
 The REGION parameter asks for a single step to be saved.
 Paging is disabled by ADDRSPC.
 Paging is done with ADDRSPC=VIRT.
 The step will be locked into actual storage once ADDRSPC is set to
REAL(ADDRSPC=REAL).
 It has a negative impact on the system's functionality.
21. What is the time parameter in JCL? Explain what does TIME=1440 mean?

The JCL TIME keyword parameter determines how long a job can use the CPU. TIME, in basic
terms, provides the maximum amount of CPU time that can be used to complete the job. The
TIME parameter can be coded at the Job and Step levels as well. When the set execution
period has passed, the system will automatically terminate the JOB. As a result, the TIME
parameter informs OS of the maximum CPU utilisation period, and once the job has spent the
stated time, OS will automatically cancel the process.

Additional options for TIME Parameter


 TIME=1440
It denotes that the task or stage has no time constraint and can be completed at any
time.
 TIME=MAXIMUM
This indicates that the job or step can utilise as much CPU time as possible.
22. Explain the Msglevel parameter and its significance.

You can regulate or adjust the listing of the Job output for each specific job using the Msglevel
parameter. It determines how allocation and termination notifications appear in the job
output (SYSOUT). Msglevel is used to tell JCL which messages we want to print.

Syntax:
MSGLEVEL=([statements][messages])

Here,

 The numbering of statements can be 0, 1, or 2. (0 for Job-related statements, 1 for all


JCL statements including procedures, and 2 for simply input JCL statements)
 Messages can have a 0 or 1 digit number. (0 to hide all messages except return codes,
i.e., allocation and termination, and 1 to display all messages, i.e., whether it's an
allocation or termination, the spool will show all details)
23. What is a temporary dataset in JCL? How to create a temporary dataset?

Temporary datasets (files containing one or more records) are only needed for the duration of
the job and are removed after it is finished. They only require storage for the duration of the
job, after which they are removed. DSN=&& name or simply without a DSN is how these
datasets are commonly expressed. We can use them to pass the output of one step to another
in the same job.

24. Explain DD statement in JCL?

Datasets are mainframe documents that contain records that are formatted in a specified
way. On the mainframe's Direct Access Storage Device (DASD) or Tapes, these files are the
most basic data storage regions. If these data must always be examined in a packet
programme, the physical dataset title and file type must be coded in a JCL.
The dataset definition for JCL may be found in the DD statement. Within a DD statement, the
task step's required input and output resources must be specified. Dataset organisation,
storage requirements, and record length must all be determined before using these resources.

Syntax

The following is the fundamental syntax for JCL DD.


//DD-name DD Parameters
25. How can we convert a FB (Fixed block) file to VB (Variable block) file using a sort
program?

You can convert an FB file to a VB file with SORT's FTOV option. This option converts fixed-
length input records into variable-length output records. For RDW, VB files should include four
extra bytes (Record Descriptor Word). As a result, the RDW (4 bytes) + the actual length of the
record equals the length of the record in the VB file.

Example:
SORT parameters:
SORT FIELDS=COPY
OUTFIL FNAMES=SORTOUT1,FTOV
SORTOUT1 is the VB output file in this case.
If you give it an 80-byte FB file, it will return an 84-byte VB file (4 bytes for RDW).
26. What are different ways in which data can be passed to a COBOL program from JCL?

To send data from JCL to COBOL, utilise the following methods:

 SYSIN DD statement: Data can be entered directly into SYSIN or saved as a file. We may
read that in COBOL by pressing the ACCEPT keystroke.
 PARM parameter: We utilise PARM='Parameter value' in the JCL EXEC statement to
send input from JCL to the programme. This can be done in COBOL's Linkage section.

JCL Interview Questions - For Experienced


27. What is the meaning of DISP=OLD and DISP=SHR?
DISP=OLD -> This is a reference to a previously produced dataset.
DISP=SHR -> It indicates that data can be shared by multiple users. It is, however, a read-only
file.
28. What do you mean by Condition checking in JCL?

Yes, both at the task and step levels, condition checking is possible with JCL. Obviously, this is
accomplished by combining the COND keyword with a JCL-defined return code and operand.
In many programming languages (such as C, C++, Java, and others), the concept of conditional
checking is analogous to the concept of (if-else).

Syntax:
COND=(RC,OP)
COND=(RC,OP,STEPNAME)
COND=EVEN
COND=ONLY
The letters RC, OP, and STEPNAME stand for Return code, Operator, and Step name,
respectively.

RC can be given any number between 0 and 4095, however in most circumstances, it
will be given a number between 0 and 16 as follows:
 0 (Successful execution of a program i.e., Normal execution).
 4 (Successful execution of a program with some warning).
 8 (Error)
 12 (Severe Error)
 16 (Fatal Error)
 ‘OP’ can be any one of the following:
 EQ (Equal to)
 NE (Not Equal to)
 LT (Less than)
 LE (Less than or Equal to)
 GT (Greater than)
 GE (Greater than or Equal to)
29. Differentiate between Addressing mode and Run mode.

The following are the main distinctions between Addressing mode and Run mode.

Addressing mode or Access Mode Run Mode or Residency Mode

AMODE(24) denotes 24-bit memory addressing below the The RMODE(24) specifies that the programme m
line. loaded into memory below the line.

AMODE(31) denotes 31-bit memory addressing above and RMODE(31) indicates whether the programme
below the line. loaded into memory above or below the line.

It defines either 24-bit or 31-bit addressing techniques RMODE=ANY indicates whether the programme
when AMODE=ANY is used. loaded in 24-bit or 31-bit memory.

30. Which statement is used to identify the private libraries in JOB?

The JCLLIB statement is used to define the job's private libraries. It works with both
catalogued and in-process procedures.

Syntax
The following is the fundamental syntax for a JCL JCLLIB statement.
//name JCLLIB ORDER=(library1, library2....)
31. What happens when COND is coded in the JOB statement and EXEC statement?

A COND parameter can be added to a JOB statement or an EXEC statement in JCL. This option
can be used to skip stages based on previous steps' return codes. The return code from the
previous task phases is being tested here. If the test is found to be true, the current job step
execution will be skipped. It is not an atypical termination to skip a task stage but rather an
omission.
COND is coded in JOB statement: When COND is coded into a JOB statement, every step of
the job is tested. If the condition is true at any given task stage, it is skipped along with the
future steps.
COND is coded in EXEC statement: If COND is found to be true in the EXEC statement of a
job step, only that job step will be skipped, and execution will proceed to the next job step.
Example:
//MATEKSD JOB MSGLEVEL=(1,1),NOTIFY=&SYSUID, COND=(0,NE)
//STEP01 EXEC PGM=CONDPGM1
//STEP02 EXEC PGM=CONDPGM2,COND=(0,EQ)
//STEP03 EXEC PGM=CONDPGM3,COND=(4,EQ)
Explanation of COND=(0 NE)
The COND parameter is set to (0,NE) at the JOB level, as you can see. It will verify if the return
code 0 is not the same as the return code of any of the JCL stages. If this is the case, the
position should be eliminated. As a result, this condition will be true and the task will be
cancelled if any of the stages (such as STEP01, STEP02, or STEP03) returns a non-zero return
code.
32. What do you mean by “Cond=even” and “Cond=only”?
CODE-EVEN: The current task step is executed regardless of whether the previous steps have
ended unexpectedly when COND=EVEN is coded. If there are other RC conditions (return code
conditions) coded alongside COND=EVEN, the job step will run even if none of them is true.
CODE-ONLY: The current task step will only be run if one of the preceding stages terminates
abnormally, as indicated by the COND=ONLY code. If further RC conditions are coded
alongside COND=ONLY, the job step will only run if none of the RC conditions is true and any
preceding job steps have failed unexpectedly.
33. Explain DFSORT utility?

The IBM function DFSORT is quite useful. Datasets are copied, sorted, and merged using it.
Input datasets are specified using the DD statements SORTIN and SORTINnn. Output data is
determined using the SORTOUT and OUTFIL commands.

DFSORT is mainframe-only utility software for processing and manipulating sequential files
using JCL.

34. Explain the usage of coding class parameters in JCL.

The CLASS keyword option in JCL is used to categorise the jobs that run in a specific OS
installation. The operating system is informed about the nature of the work that is being
submitted by CLASS. It avoids conflicts between jobs that share a resource. This type of
parameter helps to balance the load of all the jobs executing in a given environment. It can
also be used to prioritise job completion.

Syntax:
CLASS= JOB-CLASS

The following are the possible JOB-CLASS values:

 Any character from A to Z


 Any number from 0 to 9
Example:
//JCL1234 JOB ‘max021’,’Ashish’CLASS=A
35. What do you mean by PROC? State difference between instream and a catalogued Proc.

PROC stands for Procedure. A JCL Procedure is a set of statements in a JCL file that
accomplish a specific task. JCL Procedures work across several JCLs in the same manner as
language compilers and linkage editors do. Instead of using the PROC keyword, the EXEC
statement can be used to code the procedure directly.

Syntax:
//Step-name EXEC PROC=Procedurename
Or
//Step-name EXEC Procedurename

Here,

 The name given to step is specified by step-name.


 The type of JCL statement is specified by EXEC.
 PROC denotes the name of the procedure.
Example 1:
//STEP05 EXEC PROC=MTHPROC
Or
//STEP05 EXEC MTHPROC
Use of PROC
 It eliminates coding that is done again and over again.
 Code errors are no longer an issue.
 Redundancy is eliminated.
Types of procedures
 In-Stream Procedures: Procedures written in the same JCL are referred to as in-stream
procedures. It should ideally start with a PROC and end with a PEND.
 Cataloged Procedures: A catalogued procedure is one that is coded in a different
datastore than the JCL.
36. Can you code instream data in PROC?

No, using instream data within a PROC is not possible. This is a set of guidelines. Before
executing the PROC, it's usually best to add a few dummy statements and override the JCL's
DD statements.

37. Explain NOTCAT 2- GS.

MVS sent a message. NOTCAT 2-GS denotes a duplicate catalogue entry. If we try to create a
new dataset with dsn = 'xxxx.yyyy' using disp new, catlg, we will get this error.

The application will open and write, with the system attempting to place it in the system
catalogue at the end of each phase. The catlg would fail and provide this warning since we
already have an entry.

By removing the first data set and cataloguing the new dataset on the storage disc, we may
solve the problem.
38. What is the usage of the Include statement in JCL?

A group of JCL statements coded inside a PDS (partitioned data set) member can be identified
and included in a JCL stream using INCLUDE statements. Many of the common documents
used in JCLs, for example, can be coded as DD statements in an INCLUDE member and used
within JCL

Syntax:
//name INCLUDE MEMBER=member-name

An INCLUDE statement does not contain a phoney DD statement, a data card specification, or
JOB, PROC statements. With up to 15 layers of nesting, an INCLUDE statement can be coded
within an INCLUDE member.

39. Explain DISP=(NEW,PASS,DELETE)?

To construct temporary data sets, we utilize DISP=(NEW, PASS, DELETE). DISP NEW builds a
new data set and allocates space. DISP PASS moves the data set to the next step after the
current step is successfully finished. DISP DELETE removes the accessible data set once the
step abends, leaving only non-abended data sets.

40. How to run the COBOL program using JCL?

The programme must be written, as well as a load module containing all of the COBOL
program's sub-programs for batch execution. When the JCL runs, it uses the load module
instead of the actual programme. The load libraries are patched and sent to the JCL through
JCLLIB or STEPLIB at the time of execution.

The below program will explain how to utilise JCL to run MYPROG using MYDATA.URMI.INPUT
input file. This application creates two output files in the spool directory.
//COBBSTEP JOB CLASS=6,NOTIFY=&SYSUID
//
//STEP10 EXEC PGM=MYPROG,PARM=ACCT5000
//STEPLIB DD DSN=MYDATA.URMI.LOADLIB,DISP=SHR
//INPUT1 DD DSN=MYDATA.URMI.INPUT,DISP=SHR
//OUT1 DD SYSOUT=*
41. Does JCL support automatic restart?

Through the use of a preset keyword parameter, it is possible to have an automatic restart in
JCL. One of the restarting keywords is RDkeyword. In most cases, it succeeds in causing the
programme to end abruptly. In light of the importance of checkpoints, which are used to
specify task execution at various stages in the programme, we must evaluate the location of
the automatic restart.

42. What do you mean by abends in JCL? Write different JCL abend codes.

The operating system will be alerted about the work to be done in JCL using the SUBMIT
command. When a programme ends abnormally during a step, it is called an abend. The
following are some of the JCL Abend codes:
 S0C4: A subscript that is out of range causes a storage violation error.
 S0C5: An erroneous address specification, in which the address points to a control
word, instruction, or data that cannot be cached, causes this.
 S0C7: This mistake, also known as a Data Exception, is caused by bad data. This
difficulty occurs whenever we transform an alphabetic field to a numeric
computational field.
 S222: When an operator cancels a job because the programme seeks a resource that is
unavailable, this error occurs.
 S237: When the volume's end is reached, this error occurs.
 S322: The time allotted to a job, job step, or procedure has exceeded the limit,
resulting in a Timeout error.
 S522: This error happens when the waiting state exceeds the time limit set by the
installation.
 SB37: When there is insufficient disc space, this error occurs (End of volume with no
further volume specified)
 SD37: When there is insufficient disc space, this error occurs (the secondary allocation
has not been specified).
 SE37: When there is insufficient disc space, this error occurs (max. 16 extents are
currently allocated).
43. How do you submit a job for execution?

When working on a mainframe, we must compose a Job and send it to the computer for
processing. This is referred to as "submitting a job."

You can submit a JOB from your CICS application software in a number of ways. We may
achieve this by writing JCL straight to JES Spool using CICS Spool Interface instructions.

44. How to submit a JCL from CICS?

CICS is used to access MVS's JES (job entry subsystem). CICS programmes use the JES
interface to produce spool files and retrieve them. In order to use the JES interface in CICS, the
DHFSIT SPOOL option must be set to YES (DFHSIT SPOOL=YES).

The four SPOOL interface commands used in a job submission are provided by CICS. The
following are the details.

 SPOOLOPEN (INPUT|OUTPUT)
 SPOOLREAD
 SPOOLWRITE
 SPOOLCLOSE

Complete all-access to a JES spool file in a single task in a CICS programme. Any job that
performs I/O on data sets with more than 1000 records is likely to have an impact on the rest
of CICS' performance.

45. Does JCL support Automatic start? If yes, then explain how.

A preset keyword parameter, such as RD (Restart definition), can be used to restart JCL
automatically. However, this frequently leads to sporadic programme termination. The restart
definition (RD) immediately starts the job at the checkpoint. Checkpoints are used as markers
for the job's execution at certain points. RD starts by looking for the last successful checkpoint
and working his way backwards.

46. How do you explain the term job time-out and what can you do to overcome it?

A job timeout occurs when a programme takes longer than the stated time limit for the
selected class. It's commonly known as an "S322 abend." Due to circling errors, the
programme does not finish in this case.

If the amount of data handled by the programme is really large and requires additional time to
complete, the TIME parameter can be coded as TIME = 1440.

47. What does DISP=(NEW,CATLG,KEEP) mean?

DISP Fresh allocates new memory and creates a new dataset. When the phase is completed,
DISP CATLG can catalogue the data set. If the step abends/fails, DISP DELETE deletes the
dataset.

48. What does DISP=(NEW,CATLG,KEEP) for a DSN mean?

DISP Fresh allocates new memory and creates a new dataset. When the phase is completed,
DISP CATLG can catalogue the data set. A catalogued dataset can be referred to by name
without requiring the user to indicate its location. The dataset is saved with DISP KEEP. The
catalogue is not saved if the step fails. The three actions are dependable and ensure that the
data set is always handled correctly.

49. If you have seven jobs to do, but you want to hold one at the same time, how can I
accomplish this?

Following a set of predetermined rules is all it takes to get a job among the available ones.
Each work has a keyword defined by JCL's predefined job rules. A job can be held for later
execution if TYPRUN is mentioned in the job declaration. The TYPRUN is currently holding a
job with the variable name HOLD.

50. What is the best way to check if a file is empty in JCL?

You can identify one empty file with JCL, but you must ensure that it is an IDCAMS input. VSAM
(Virtual Storage Access Method) datasets are created, modified, and deleted using IDCAMS
(Integrated Data Cluster Access Method Services). If the file is empty, an error is thrown (return
code 4, i.e., RC=4) when it is entered into IDCAMS.

Here are the answers to the JCL questions you asked for:
1. What are the benefits of using JCL?

 Efficient Job Execution: JCL is used to execute batch jobs effectively in mainframe
environments.
 Automation: Allows automation of repetitive tasks.
 Resource Control: Manages resources like datasets, memory, and CPU time.
 Job Prioritization: Handles priorities for job scheduling.
 Error Handling: Facilitates error checking and control over job execution.

2. Explain different types of Job control statements or JCL statements.

 JOB Statement: Specifies job identification and system parameters.


 EXEC Statement: Executes a program or procedure.
 DD (Data Definition) Statement: Describes the datasets used in the job.
 OUTPUT Statement: Used for output routing and handling.

3. Difference between positional and keyword parameters in JCL.

 Positional Parameter: Order-sensitive parameters (e.g., PGM=, PROC= in EXEC statement).


 Keyword Parameter: Order-independent and assigned using = (e.g., MSGCLASS=A,
TIME=1440).

4. What are different parameters for DD (Data Definition) statement?

 DSN: Dataset name.


 DISP: Dataset disposition.
 UNIT: Device type.
 SPACE: Allocation space.
 DCB: Data control block attributes.

5. Commonly used parameters in the EXEC statement.

 PGM=: Specifies the program to be executed.


 PROC=: Invokes a cataloged or in-stream procedure.
 PARM=: Passes parameters to the program.
 COND=: Defines condition codes for execution.

6. Difference between JOBLIB and STEPLIB statements.

 JOBLIB: Specifies the library for all steps in the job.


 STEPLIB: Specifies the library for a specific step.
7. What is a Generation Data Group (GDG)?

A GDG is a collection of datasets with the same name but differentiated by version numbers
(+1, -1, etc.), used for maintaining historical data.

8. What are symbolic parameters and why are they required?

Symbolic parameters are placeholders in procedures that can be replaced during execution.
They enhance reusability and flexibility in coding.

9. What is a temporary dataset in JCL? How to create it?

 Definition: A dataset created for a job and deleted after the job ends.
 Creation: Use && before the dataset name in the DD statement (e.g., &&TEMPDS).

10. What is the time parameter in JCL? Explain what TIME=1440 means.

 TIME= specifies the maximum CPU time for a job/step.


 TIME=1440: The job has unlimited execution time (24 hours).

11. Explain Msglevel parameter and its significance.

 MSGLEVEL=([1|2], [0|1|2]): Controls the type of messages to be displayed.


o 1: Execution messages only.
o 2: All JCL statements.
o 0: No system messages.

12. How to convert FB (Fixed Block) to VB (Variable Block) file using a sort
program?

Use DFSORT or ICETOOL with the following control statements:

SORT FIELDS=COPY
RECFM=VB

13. Name different JCL statements not permitted in procedures.

 JOB statement
 DD * or DATA statement
 OUTPUT statement
14. What are the hierarchy levels in JCL?

1. Job Level (JOB statement)


2. Step Level (EXEC statement)
3. Dataset Level (DD statement)

15. What is the meaning of DISP=OLD and DISP=SHR?

 DISP=OLD: Exclusive access to the dataset.


 DISP=SHR: Shared access to the dataset.

16. Significance of using the "//" symbol in JCL.

 // indicates the beginning of a JCL statement.

17. What do you mean by Condition checking in JCL?

 Condition codes (COND) determine whether a step should execute based on the return codes
of previous steps.

18. What happens when COND is coded in JOB and EXEC statements?

 If COND is in both:
o JOB-level: Applies to all steps.
o EXEC-level: Overrides the JOB-level COND for that step.

19. What is "COND=EVEN" and "COND=ONLY"?

 COND=EVEN: Step executes even if a previous step fails.


 COND=ONLY: Step executes only if a previous step fails.

20. Explain utilities in JCL.

Common utilities:

 IEFBR14: Dummy program.


 IDCAMS: Dataset management.
 SORT/ICETOOL: Sorting and merging datasets.
 IEBGENER: Copying datasets.
21. Explain coding class parameters in JCL.

The CLASS parameter defines the job's priority and resource requirements. Example: CLASS=A
for high-priority jobs.

22. What is PROC? Difference between instream and catalogued PROC?

 PROC: A reusable set of JCL statements.


 Instream: Defined within the JCL.
 Catalogued: Stored in a library for reuse.

23. Can you code instream data in PROC?

No, instream data (DD *) is not allowed in procedures.

24. What do you mean by abends in JCL? Write different abend codes.

 Abends: Abnormal terminations.


 Common codes:
o S0C4: Protection error.
o S0C7: Data exception.
o S322: Time exceeded.

25. Explain NOTCAT 2- GS.

 Refers to a cataloging issue when a dataset is not cataloged properly.

26. What is the usage of the INCLUDE statement in JCL?

Includes pre-written JCL code from a library into the current JCL.

27. Different ways to pass data to a COBOL program from JCL?

1. PARM= in EXEC statement.


2. SYSIN DD statement.

28. Explain DISP=(NEW,PASS,DELETE).

 NEW: Creates a new dataset.


 PASS: Passes the dataset to the next step.
 DELETE: Deletes the dataset if the step ends abnormally.

29. How to check JCL syntax without running it?

Use the TYPRUN=SCAN parameter in the JOB statement.

30. Does JCL support Automatic start?

Yes, through scheduling tools like CA-7 or JES2 initiators.

31. Explain job time-out and how to overcome it.

 Job time-out: A job exceeding its CPU time.


 Solution: Use TIME=1440 for unlimited time.

32 & 33. DISP=(NEW,CATLG,KEEP)

 NEW: Creates a dataset.


 CATLG: Catalogs the dataset on successful completion.
 KEEP: Retains the dataset.

34. Hold one job among seven?

Use the TYPRUN=HOLD parameter.

35. Best way to check if a file is empty?

Use the IDCAMS utility with the PRINT command:

//STEP1 EXEC PGM=IDCAMS


//SYSPRINT DD SYSOUT=*
//SYSIN DD *
PRINT INFILE(INPUT) COUNT(1)
/*

Let me know if you'd like elaboration on any of these answers! 😊

Here's a detailed explanation for each of the JCL interview questions you've provided:
Explain what is JCL?

JCL stands for Job Control Language. It is the command language of Multiple Virtual Storag
System in the IBM Mainframe computers.

2. Explain what is the use of JCL?

Job Control Language (JCL) is the command language of Multiple Virtual Storage (MVS), wh
the IBM Mainframe computers. JCL identifies the program to be executed, the inputs that
informs the Operating System through Job control Statements.

3. What are the types of job control statements?

The types of job control statements are JOB, DD, EXEC.

4. What is the JCL statement consists of?

JCL statement consists of Name field (optional), Operation field, Operand and Comments.

5. Current version of a GDG is used as input in step1 of a job and a new version
used in step2 and the next version is created as output in step2. How do you re

Step3 input: (+2)

6. How can you check if a file is empty using JCL?

When the file is used as input in IDCAMS, job completes with a warning (return code 4) if t

7. A JCL has 4 steps and job abends in step2. How to restart the job from step2?

Add restart parameter in job card, RESTART = STEP2

8. What are the ways of passing data to a COBOL program from JCL?

Data can be passed to a COBOL program through files, PARM parameter and SYSIN DD sta

9. How can the same PROC be re-used and called by many JOBs?

The varying portion of the JCL can be specified using symbolic parameters in the JOB and

10. How do you create a dataset in a JCL with the same file organisation as that
Use IEBGENER and pass existing file in SYSUT1. Pass new file in SYSUT2 and mention DCB
SYSUT1 dataset.

1. What are the benefits of using JCL?

 Job Management: Simplifies the submission, execution, and management of jobs in a


mainframe environment.
 Efficient Resource Utilization: Controls hardware resources like CPU, memory, and disk.
 Automated Batch Processing: Allows for the execution of multiple jobs sequentially or
concurrently.
 Flexibility: Can manage complex job workflows with conditions and priorities.
 Integration: Works seamlessly with other mainframe utilities like COBOL, DB2, and VSAM.

2. Explain different types of Job Control Statements or JCL statements.

 JOB Statement: Defines the start of a job and provides details like job name, accounting
information, and priority.
 EXEC Statement: Specifies the program or procedure to execute.
 DD (Data Definition) Statement: Defines the datasets used by the program, including input
and output files.
 Comment Statement: Used for documentation (//* comments).
 PROC Statement: Defines reusable procedures.
 SET Statement: Assigns values to symbolic parameters.

3. Difference between positional parameter and keyword parameter in JCL.

 Positional Parameter: Order matters, and these parameters must be coded in a specific
sequence (e.g., CLASS=A).
 Keyword Parameter: Order doesn’t matter; identified by names (e.g., MSGCLASS=X).

4. Different parameters for DD (Data Definition) statement.

 DSN: Dataset name.


 DISP: Dataset disposition (e.g., NEW, SHR, OLD).
 UNIT: Specifies the storage device.
 SPACE: Allocates space for the dataset.
 VOL: Volume serial number.

5. Commonly used parameters in the EXEC statement.

 PGM: Specifies the program name to execute.


 PROC: Refers to a cataloged or in-stream procedure.
 PARM: Passes parameters to the program.
 COND: Specifies conditional execution of steps.
6. Difference between JOBLIB and STEPLIB statements.

 JOBLIB: Applies to all steps in the job.


 STEPLIB: Applies only to a specific step.

7. Explain what you mean by Generation Data Group (GDG).

 A GDG is a collection of datasets (generations) with the same name but different versions.
Example: MY.FILE.GDG(+1) refers to the next generation.

8. What are symbolic parameters and why are they required?

 Symbolic Parameters: Placeholders in JCL procedures that can be replaced with specific
values at runtime.
 Usage: Enhances reusability and flexibility of JCL.

9. What is a temporary dataset in JCL? How to create one?

 Temporary Dataset: Created for temporary use and deleted after the job ends.
 Creation: Use && before the dataset name in the DD statement. Example: //TEMPFILE DD
DSN=&&TEMP,DISP=(NEW,PASS).

10. What is the TIME parameter in JCL? Explain TIME=1440.

 TIME Parameter: Limits the CPU time for a job/step.


 TIME=1440: Means unlimited CPU time (24 hours).

11. Explain Msglevel parameter and its significance.

 MSGLEVEL controls the output messages:


o MSGLEVEL=(1,0): Job statement only.
o MSGLEVEL=(2,1): Includes all steps and dataset allocation messages.

12. How can we convert an FB file to VB file using a sort program?

 Use SORT utilities like DFSORT/ICETOOL with OUTREC or INREC parameters to reformat
records.
13. Name different JCL statements not permitted in procedures.

 Statements like JOB, JOBLIB, and DELIMITER (/*) are not allowed in procedures.

14. What are the hierarchy levels in JCL?

1. Job: JOB statement level.


2. Step: EXEC statement level.
3. Dataset: DD statement level.

15. What is the meaning of DISP=OLD and DISP=SHR?

 DISP=OLD: Exclusive access to the dataset.


 DISP=SHR: Shared access to the dataset.

16. What is the significance of using the "//" symbol in JCL?

 It indicates the start of a JCL statement.

17. What do you mean by Condition checking in JCL?

 Uses COND to decide whether a step should execute based on return codes of previous
steps.

18. What happens when COND is coded in JOB and EXEC statements?

 The EXEC COND overrides the JOB COND.

19. What do “Cond=even” and “Cond=only” mean?

 COND=EVEN: Executes the step regardless of previous step outcomes.


 COND=ONLY: Executes only if a previous step fails.

20. Explain utilities in JCL.

 Utilities like IEFBR14, IEBGENER, IDCAMS, and SORT are used for dataset management,
sorting, and copying.
21. Explain the usage of coding class parameters in JCL.

 CLASS defines the job's priority and resource requirements.

22. What is PROC? State the difference between an instream and


cataloged Proc.

 PROC: A reusable set of JCL statements.


o Instream PROC: Defined within the job.
o Cataloged PROC: Stored and referenced by name.

23. Can you code instream data in PROC?

 No, instream data (DD *) cannot be used in PROC.

24. What do you mean by abends in JCL? Write different abend codes.

 Abends are abnormal job terminations. Examples:


o S0C7: Data exception.
o S322: Time exceeded.

25. Explain NOTCAT 2-GS.

 Indicates that a dataset is not cataloged.

26. What is the usage of the Include statement in JCL?

 INCLUDE is used to include additional JCL from a dataset.

27. Different ways to pass data to a COBOL program from JCL.

1. SYSIN DD statement.
2. PARM in the EXEC statement.

28. Explain DISP=(NEW,PASS,DELETE).

 Creates a dataset, passes it to the next step, and deletes it after the job ends.
29. How will you check the syntax of JCL without running it?

 Use the TYPRUN=SCAN parameter in the JOB statement.

30. Does JCL support automatic start?

 Yes, through triggers or job scheduling tools like CA-7.

31. How do you explain the term job time-out and what can you do to
overcome it?

 Job Time-out: Occurs when a job exceeds CPU time. Use TIME=1440 to prevent this.

32. What does DISP=(NEW,CATLG,KEEP) mean?

 Creates a new dataset, catalogs it, and keeps it after the job ends.

33. How to hold one job while others execute?

 Use TYPRUN=HOLD.

34. Best way to check if a file is empty in JCL?

 Use a utility like IDCAMS with the PRINT or LISTCAT command.

11. What is a Generation Data Group (GDG)?

Generation Data Group is a group of chronologically or functionally related datasets. GDG


new generation, retaining previous generations, and sometimes discarding the oldest gen

12. How is a GDG base created?

A GDG base is created in the system catalog and keeps track of the generation numbers u
used to define the GDG base.

13. When should DISP=MOD is used?


DISP=MOD is used to either extend an existing sequential dataset or to create a dataset i
records are appended to the dataset at the end of the existing dataset. If the dataset doe
NEW, provided that the volume parameter has not been used.

14. What is the difference between the JOBLIB and the STEPLIB statements?

JOBLIB is defined at the start of the job before any EXEC and contains the load libraries to
defined after an EXEC and applies only to that step. It also contains the load libraries to be
start of the job before any EXEC and contains the procedure (JCL) libraries to be searched
PGM=) or INCLUDE members.

15. Name some of the JCL statements that are not allowed in procs.?

JOB, Delimiter(/*), or Null statements, JOBLIB or JOBCAT DD statements, DD * or DATA stat


statements.

16. How many extents are possible for a sequential file ? For a VSAM file?

16 extents on a volume for a sequential file and 123 for a VSAM file.

17. What does a disposition of (NEW,CATLG,DELETE) mean?

This is a new dataset and needs to be allocated, to CATLG the dataset if the step is succes
abends.

18. What does a disposition of (NEW,CATLG,KEEP) mean?

This is a new dataset and needs to be allocated, to CATLG the dataset if the step is succes
the step abends. Thus if the step abends, the dataset would not be catalogued and we wo
refer to it.

19. What is DISP=(NEW,PASS,DELETE)?

This is a new file and create it, if the step terminates normally, pass it to the subsequent s
will not exist beyond the JCL.

20. What is 'S0C7' abend?

Caused by invalid data in a numeric field.

21. What is a S0C4 error?

Storage violation error - can be due to various reasons. e.g.: READING a file that is not ope
error.
22. What are SD37, SB37, SE37 abends?

All indicate dataset out of space. SD37 - no secondary allocation was specified. SB37 - end
Max. of 16 extents already allocated.

23. What is S322 abend?

Indicates a time out abend. Your program has taken more CPU time than the default limit

24. 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 siz
no limit will be applied.

25. 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
limit is to be applied to this step.

26. How do you check the syntax of a JCL without running it?

TYPERUN=SCAN on the JOB card or use JSCAN.

27. Can you code instream data in a PROC?

No

28. What is STEPLIB, JOBLIB? What is it used for?

Specifies that the private library (or libraries) specified should be searched before the defa
to be executed. STEPLIB applies only to the particular step, JOBLIB to all steps in the job.

29. 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 s
specified in the link list.

30. What happens if both JOBLIB and STEPLIB is specified ?

STEPLIB override JOBLIB. JOBLIB is ignored.

31. What is COND=EVEN ?


It means execute this step even if any of the previous steps, terminated abnormally.

32. What is COND=ONLY ?

It means execute this step only if any of the previous steps, terminated abnormally.

33. The disp in the JCL is MOD and the program opens the file in OUTPUT mode.
and the program opens the file in EXTEND mode. What happens ?

Records will be written to end of file (append) when a WRITE is done in both cases.

34. What are the differences between JES2 & JES3 ?

JES3 allocates datasets for all the steps before the job is scheduled. In JES2, allocation of d
before the step executes.

35. What is the difference between specifying DISP=OLD and DISP=SHR for a da

DISP=OLD denotes exclusive control of the dataset; DISP=SHR means there is no exclusiv

36. What is the purpose of the PARM keyword in the EXEC statement?

The value after the PARM= specifies control information to be passed to the executing pro

37. What is the difference between BLKSIZE and LRECL?

LRECL is the logical record length , where as BLKSIZE is multiples of LRECL

38. How is the keyword DUMMY used in JCL?

For an output file DUMMY specifies that the output is to be discarded. For input it specifies

39. What are three parameters you can specify on Job statement as well as on e

Time, Region and Cond parameters

40. How do you restart a step in JCL?

Use RESTART=step name.


Is it possible to submit JCL from COBOL?

Yes

42. What you mean by include statement in JCL ?

An include statement identifies a member of a pds or pdse that contains. This set of JCL st
replaces the include statement with the statements in the include group.

43. The maximum number of in-stream procedure you can code in any JCL is?

Fifteen(15).

44. What does the typrun=hold do in a JCL statement?

typrun=scan checks the JCL for errors, typrun=hold holds the job until further notice.

45. What is the purpose of include statement in a JCL?

It is used as an alternative for STEPLIB. When we specify the dataset name in include ,it w
include dataset.

46. For how long a job can be executed continuously in a mainframe ?

248 DAYS

47. What is the Maximum number of DD statements in a job ?

3273

48. What is the maximum number of steps in a job?

255

49. What are the statements that are not valid to be included in an INCLUDE sta

Dummy DD statements, data card specifications, PROCs, JOB, PROC statements cannot be
statement can be coded within an INCLUDE member and further nesting can be done up t

50. A JCL has 2 steps. How to code the JCL such that if step1 abends, then step2

Code COND = ONLY in STEP2.

You might also like