JCLの概要

JCLとは

JCLはジョブエントリーシステム(Job Entry Subsystem )に対して指示するものです。

ジョブエントリーシステム(Job Entry Subsystem )は、JESと略して呼ぶことが多いです。JESにJCLを読み込ませてCOBOLプログラムを実行させます。JESには JES2 と JES3があります。

JCLには使用するデータ、使用するプログラム、出力する場所および内容を記載します。また、条件分岐も書くことが出来ます。

JCLはインタープリタ型でコンパイルはされません。オープン系でいうShellに相当します。

JCLはジョブという仕事の単位で、次のように仕事を定義します。

{JCL名} JOB

ジョブは一つのJCL(ファイル)に複数定義することができます。次のジョブ記述が来たらそこでジョブは終了です。

ジョブは複数のステップを記述することが出来ます。ステップ単位でOSに入力されるため、1ステップに1実行プログラムが必要です。ステップの上限は255個です。

ステートメント

JCLがOSに対して、ジョブとして認識させたり、データを読み込ませたり、プログラムを実行させるには、JCLに(制御)ステートメントと呼ばれる記述をします。

JCLには最低でも次の2つのステートメントの記述が必要です。

1.JOBステートメント

2.EXECステートメント

JCLはスケジューラーで実行されることが多いです。スケジューラーは IBMのTivoli株式会社ユニリタのA-AUTO があります。

JCL実行の流れ

  1. ジョブを決定する – (ユーザー処置)
  2. JCL を作成する – (ユーザー処置)
  3. ジョブを実行依頼する – (ユーザー処置)
  4. JES が JCL を解釈して MVS に渡す (システム処置)
  5. MVS が作業を行う (システム処置)
  6. システムからユーザーにシステム・メッセージをフローする。(システム処置)
  7. JES はジョブに関する出力と情報を収集する。 (システム処置)
  8. ユーザーが出力を表示し、解釈する (ユーザー処置)

参考

UnderstandingJCL – IBM

「MVS JCL 解説書」の要約 – IBM Knowledge Center

JCL ステートメントの各フィールド – IBM