JCL stands for Job Control Language.  It is a means of communication between a program written in COBOL, Assembler or PL1 and MVS operating system.
JCL consists of control statements that introduces a computer job to an OS. JCL contains a set of statements referred to as Program control cards, provides necessary specifications such I/O resource requirements to process a Job. JCL is used for submitting batch jobs. JCL is not a procedural language like COBOL and is also not used to write Programs.

//name operation operand comment
Name field identifies the statement. It should be of a maximum of 8 characters long, should start from 3rd column, The first character must be an alphabet.
Operation field specifies the type of statement, viz. JOB - makes the beginning of the JOB, or EXEC - follows JOB statement, and names the Program / Procedure to be executed, or DD - defines the file and requests the allocation of I/O devices. PROC begins a catalogued or instreamed procedures, while PEND marks the end of in-stream procedure. JCLLIB/STEPLIB specifies the private libraries containing the catalogued procedures and JCL referred to by Include statements. SET assigns values to symbolic parameters in catalog procedures, INCLUDE allows JCL stored in partitioned dataset to be included in the job stream. IF/THEN/ELSE/END allows selective execution of Job steps. CNTL and ENDCNTL marks the start and end of control statements in the input stream. OUTPUT Supplies options for SYSOUT processing. /* indicates the end of data. //* marks as comment line. // Marks the end of Job.
Operand field supplies information to JCL in the form of parameters (positional and key-word).
Positional parameters are characterized by their position in relation to other parameters. The Key-word parameters are independent of their position and characterized by key-word and '='.
Key-word and positional parameters may have sub-parameters enclosed in parenthesis that may be positional or key-word parameters, following their corresponding rules.
The various parameters are separated by Commas, The absence of positional parameters are indicated by coding a coma in it's place. Comma's need be provided, if all subsequent positional parameters are absent. The enclosing parameters can be omitted, if there is only one value.
Nothing needs to be coded if all positional parameters are absent. Key word parameters can be coded in any order after any positional parameters. Comments field is optional.

All JCL statements can consists of up to five types of fields as stated below

Identifier field: The two forward slashes (//) are required to identify each JCL statement.

Name field: Optional field, if coded must immediately follow //.

Operation field: which indicates operation that is to be performed

Operand field: This field must appear one or more spaces after the operation field. Multiple operands in one statement are separated from each other via commas.

Comments: can be specified one space after the last operand in any JCL statement. Can be identified by means of //*

JOB Statement, Exec Statement and DD statement.

Start all statements in column 1 with appropriate // or /* or space. An entry in the name field must begin in column 3 and be followed by atleast one space. There must not be any embedded blanks within fields, parameters must be separated by commas. Column 1 to 71 contains the JCL information. Use '-' for continuation. Comments may be written on comment line or by leaving a blank after all the operands. 


Computers TopOfBlogs Technology Blogs Mainframe interview question and answers,mainframe jobs,cobol,vsam,jcl,cics,db2,rdbms,mvs,tso,ispf,ibm,hcl,tcs,cts,wibro Blog Directory