Sunday, 28 July 2013

Fully Utilize JCL, Job Control Language, JCL Tutorial To Enhance Your Skill and Business.

JCL
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 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. 

Have a look of JOB Control Commands Cheat Sheet.


No comments:

Post a comment