Job control language is a batch processing language for use on IBM mainframes, but is also used as a catch-all term for programs written to perform job control functions. As the mainframe language, it is what is known as a scripting language, where scripts are written and saved for execution of different functions and pulled into use as needed. Each procedure is written up as a step, and each step pulls up a program to perform that step. As the mainframe is in use by dozens of users, comments for execution or billing are delineated, utility programs for printing or merging of documents are instructed, and finally, there is a definition of the job as a whole. The final set of instructions requests a priority be assigned in a queue for the use of the mainframe.
Job control language makes use of what are called cataloged procedures, which are a series of statements cataloged in a procedure library and invoked by use of an EXEC command. If additional statements are needed, it is possible to modify these cataloged procedures. Operand values on an existing procedure set can be changed and it is also possible to alter the procedure’s parameters by use of override statements or modifications made and inserted in proper order of execution.
There are separate saved statements for issuing of printer output commands. For reports filed on a regular basis, the parameters of these reports can be named, saved and then called into print execution whenever another of the same type of report is needed. These printer output commands even have to tell the printer which type of paper is to be used to print by identifying it by a code in the SYSOUT command to the mainframe’s printers. All the print instructions normally found by pushing a button on a microcomputer’s printer have to be specified for print outputs, such as full or half duplex printing, gray bar overlays or no overlays, time and dates stamping or not, and the inclusion of any digital images or logos.
Job control language also uses utility programs for IBM mainframes. These utility programs are used as needed for batch processing. There are three main sets of IBM utility programs: (1) system utilities, (2) access service methods, and (3) data set utilities. The system utilities are used for maintenance and management of all catalogs; the access service methods process the virtual storage access method instruction set, and the data set utilities are responsible for creation, printing, copying, moving, and deleting of data sets. These utility programs are furnished with the job control language operating system.
The job control language operating system has offered considerable device independence for decades. By allowing a device used on a job to be called using a generic name fostered this independence; however, by using its model number, a particular dot matrix printer or ink jet printer could be specified. The same applies when making backups, when the generic use of UNIT=TAPE or UNIT=DISK would make backups to the appropriate medium.