![]() |
Job Control Language |
IBM Mainframes which is popularly known as Big Iron are known for their huge data processing if I'm not mistaken everyday the process millions of online transactions. These millions of transaction can be processed either via Online Application (i.e. CICS) or in Batch job via Job Control Language.
Batch processing is used to execute one or more programs in a specified sequence with no further interaction by a user. Batch work is processed in units called jobs. Each job can contain one or more programs to be executed.
Job Control Language, or JCL, is the language that controls OS/390 and z/OS. JCL, define a job by specifying information that identifies the file and programs to be executed.
A JCL will have multiple steps each step performing a designated task for example: Updating employee payroll data in file. So if you’re working as a programmer or operator on a mainframe that runs one of these operating systems, you need to know JCL.
A system’s job scheduler controls the execution of all jobs submitted for processing, deciding which job should be executed next based on JCL specifications and system settings.
While application programmers need some knowledge of JCL, the production control analyst responsible must be highly proficient with JCL, to create, monitor, correct and rerun the company's daily batch workload.
Job Control Language Flow |
Job Control Language have three basic statements:
- JOB Provides a name (job name) to the system for this batch workload. A job card include various parameter such as (MSGCLASS, MSGLEVEL). However, not all parameter are mandatory.
- EXEC Provides the name of a program to execute. A job can have multiple EXEC statements, at max a job can have 255 steps. Each EXEC statement within the same job is a job step.
- DD The Data Definition provides inputs and outputs to the execution program on the EXEC statement. This statement links a data set or other I/O device or function to a ddname coded in the program. DD statements are associated with a particular job step.
JCL Example:
//RC03TT1 JOB (99834),'RC MAINFRAME',NOTIFY=&SYSUID
//STEP01 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
LISTCAT ENTRIES(RC02.EMPPAY.MAST) –
VOLUME
/*
Note: In above mention sample JCL, would execute LISTCAT command.
No comments:
Post a comment