TSO-ISPF JCL COBOL VSAM DB2 CICS IMS-DB Tools Articles Forum Quiz Interview Q&A

Structure of JCL Statements


JCL Statement Structure:

  • JCL statements are coded in 80 bytes.

  • 72 of the 80 columns are available to code JCL.

  • Last 8 columns are reserved for an optional sequence number.

  • Each JCL statement is divided into several fields.

Syntax or Format:

jcl statement structure

Let's us see each field in detail,

1. Identifier Field:

  • The identifier field identifies a record as a JCL statement.

  • For most JCL statements, the identifier field occupies the first two character positions and must contain two slashes (//). There are two exceptions.

  • First, the delimiter statement has a slash in column 1 and an asterisk in column 2 (/*).

  • Second, the identifier field for a comment statement is three characters long: The first two columns contain slashes and the third contains an asterisk (//*).

Example:

jcl identifier field

2. Name Field:

It follows identifier field. The name field associates a name with a JCL statement.
  • It is not mandatory everywhere; but it is always required on a JOB statement, where it supplies a name for a job.

  • A name field must begin in column 3, right after the identifier field.

  • It consists of one to eight characters, which may be letters, numbers or national characters (#, @, and $) Also, the first character of a name should be a letter or a national character.

Example:

jcl name field

Name field - Incorrect values:

Here the Name field is of length 9 characters hence we get this error:

jcl invalid name field example 1

Note here the Name field begins with a numeric value. Hence we get this error.

jcl invalid name field example 2

3. Operation Field:

The operation field follows the name field and it specifies the statements function.
  • JOB, EXEC, and DD are the different operation fields.

  • This field can be coded anywhere in the JCL, but it should be separated from the name field by at least one blank.

  • However, conventionally, the operation field should be started in column 12.

Example:

jcl operation field

4. Parameters Field:

The parameters field begins at least one position after the end of the operation field and can extend into column 71:
  1. Within the parameters field, we have to code one or more parameters that supply information that influences how the statement is processed.

  2. When a parameters field consists of more than one parameter, the individual parameters should be separated with commas.

  3. MVS assumes that the parameters field is complete when it encounters a space so do not include a space by accident. If you need to include a space as part of a parameter value, the parameter value must be enclosed in apostrophes.

Example:

jcl parameters field

There are two types of parameters:

  1. Positional
  2. Keyword
We will be discussing about each parameters in next chapter.

5. Comments Field:

Following the parameters field, you can code brief comments in the comments field.
  • The comments field begins in the position after the space that marks the end of the parameters field and ends in column 71.

  • MVS ignores what is coded here, so you can record any comments you wish.

  • You can also use an entire line as a comment.

  • For this, you need to code //* starting from column one of the JCL record.

Example:

jcl comments field

How to continue JCL statements?

When it is not possible to fit all the parameters on a single 80-character line, the statement can be continued onto one or more additional lines by following the below steps:
  • Break the parameter field after the comma that follows a parameter or sub-parameter.

  • Code slashes in columns 1 and 2 of the following line.

  • Code the next parameter beginning anywhere in columns 4 through 16.

Example:

jcl continue statement example

Video Tutorial: JCL Statement Structure


If you have any doubts or queries related to this chapter, get them clarified from our Mainframe experts on ibmmainframer Community!

Are you looking for Job Change? Job Portal