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実行の流れ
- ジョブを決定する – (ユーザー処置)
- JCL を作成する – (ユーザー処置)
- ジョブを実行依頼する – (ユーザー処置)
- JES が JCL を解釈して MVS に渡す (システム処置)
- MVS が作業を行う (システム処置)
- システムからユーザーにシステム・メッセージをフローする。(システム処置)
- JES はジョブに関する出力と情報を収集する。 (システム処置)
- ユーザーが出力を表示し、解釈する (ユーザー処置)