1.
Difference between JES2 and JES3
Feature JES2 JES3
Job Jobs scheduled Centralized scheduling
Scheduling independently
Spooling Manages spool at local level Manages spool at global level
Execution Starts jobs as resources Waits for all resources, then starts
permit
Configuration Simpler, more common Complex, used in multi-CPU systems
Flexibility Less complex job control More control over job execution
2. How can you specify a temporary dataset in JCL?
Use double ampersand (&&) in the DSN:
jcl
CopyEdit
//DD1 DD DSN=&&TEMPDS,UNIT=SYSDA,SPACE=(TRK,5),DISP=(NEW,PASS)
3. Ways of passing data from JCL to Program
PARM parameter in EXEC:
jcl
CopyEdit
//STEP1 EXEC PGM=MYPGM,PARM='DATA'
SYSIN DD statement:
jcl
CopyEdit
//SYSIN DD *
DATA
/*
●
● Input file via DD statement.
4. SPACE parameter and ABENDS B37, D37, E37
● SPACE=(unit,(primary,secondary),RLSE)
● B37: No space and no secondary quantity.
● D37: Reached dataset maximum extents.
● E37: Reached maximum number of volumes.
Solution: Increase space, add secondary quantity, use multi-volume.
5. How to solve system ABEND S0C7?
● Cause: Invalid numeric data (e.g., alphanumeric in COMP-3).
● Fix:
○ Use debugging tools (like IPCS).
○ Add display statements before suspected data usage.
○ Validate input data and redefine fields if needed.
6. GDG Defining parameters, Model dataset
● Define with IDCAMS:
jcl
CopyEdit
DEFINE GDG(NAME(GDG.BASE) LIMIT(10) SCRATCH NOEMPTY)
● Model dataset is a dataset that provides DCB attributes to the GDG:
jcl
CopyEdit
//DD1 DD DSN=GDG.BASE(+1),DISP=(NEW,CATLG),DCB=*.MODELS,
// SPACE=(CYL,1),UNIT=SYSDA
7. DISP Parameters - What does PASS do?
● DISP=(NEW,PASS): Passes the dataset to next step within the job.
● Dataset not cataloged or deleted after step.
8. Difference between In-Stream and Cataloged Procedures
Feature In-Stream Cataloged
Location Inside the job Stored separately
Reusability Not reusable Reusable across
jobs
Maintenance Harder Easier to maintain
9. Familiarity with SORT Control Cards
Example:
jcl
CopyEdit
//SYSIN DD *
SORT FIELDS=(1,5,CH,A)
/*
● Sorting starts from column 1, length 5, Character format, Ascending.
10. Ways of Overriding Procedures
● Override DD statement inside a step:
jcl
CopyEdit
//STEP1.DD1 DD DSN=NEW.DATA,DISP=SHR
● Override EXEC parameters:
jcl
CopyEdit
//STEP1 EXEC PROCNAME,PARM1='VALUE'
11. What is a Symbolic Parameter?
● Used in procedures to make them flexible.
jcl
CopyEdit
//PROC1 PROC FILENAME=MYFILE
//DD1 DD DSN=&FILENAME,DISP=SHR
12. Purpose of STEPLIB, JOBLIB, JCLLIB
Parameter Purpose
JOBLIB Specifies load library for all steps
STEPLIB Load library for specific step only
JCLLIB Used to specify location of procedures
13. How to Restart a Job from a PROC Step?
jcl
CopyEdit
//JOBNAME JOB ...,RESTART=PROCSTEP.STEP
● You can also use CHKPT or design RESTART logic inside the program.
14. Questions on Condition Codes
● Condition code (CC or RC): Return code from a step.
● Used in COND parameter:
jcl
CopyEdit
//STEP2 EXEC PGM=XYZ,COND=(4,LT)
● This means: If any previous step had RC < 4, skip STEP2.
15. COND, TIME and REGION: JOB vs EXEC
Parameter Scope Priority
COND EXEC overrides JOB
TIME EXEC overrides JOB
REGION EXEC overrides JOB
16. Limits in JCL
Item Limit
Number of steps in JCL 255
Nesting level of procedures 15 levels
In-stream procedures in a 15
job
DD statements in a step 3273