Job Control Language




Job Control Language (JCL) is a name for scripting languages used on IBM mainframe operating systems to instruct the system on how to run a batch job or start a subsystem.

The purpose of JCL is to say which programs to run, using which files or devices for input or output, and at times to also indicate under what conditions to skip a step.

Parameters in the JCL can also provide accounting information for tracking the resources used by a job as well as which machine the job should run on.

There are two distinct IBM Job Control languages: one for the operating system lineage that begins with DOS/360 and whose latest member is z/VSE; and the other for the lineage from OS/360 to z/OS, the latter now including JES extensions, Job Entry Control Language (JECL).They share some basic syntax rules and a few basic concepts, but are otherwise very different.The VM operating system does not have JCL as such; the CP and CMS components each have command languages.