Introduction to JCL

JCL is an acronym of Job Control Language. For a program to be executed in the mainframe, certain sets of instruction (what program to execute, where to find the program and all the associated details) should be provided to the mainframe. These set of instructions are called JCL. It is a control language without which programs cannot be executed in mainframe.

What is JCL?

  • JCL is Job Control Language which is used to execute programs like cobol in IBM mainframe systems.
  • Used by JOB ENTRY SUBSYSTEM(JES2 or JES3) installed on the operating system which consists of a base control program.
  • JCLs are for high level language source compilations and linkedits, so generally reusable with minor modifications.

JCL is used to run batch jobs. Batch job is a unit of work done without user interaction and runs in the background.

An example of JCL,

//PROGPUB JOB NOTIFY=&SYSUID                                  
//         SET PGM=PROGRAM1                                    
//STEP1 EXEC IGYWCL,PARM.COBOL='LIB'                           
//COBOL.SYSIN DD DSN=PROGPUB.COBOL.PROGRAMS(&PGM),DISP=SHR  
//COBOL.SYSLIB DD DSN=PROGPUB.COBOL.COPY,DISP=SHR               
//LKED.SYSLMOD DD DSN=PROGPUB.COBOL.LOADLIB(&PGM),DISP=SHR