COBOLプログラムの作成(COBOLコンパイラーの実行)

COBOLは、メインフレーム・コンピューターの業務アプリケーション・プログラムでは最も多く使われているプログラミング言語です。バッチ処理、オンライン処理を問わず広く利用されています。下記に、基本的なコンパイルを行うためのサンプルJCLを示します。コンパイラーも標準のカタログ・プロシージャーを提供しています(SYS1.PROCLIB等)からそちらも参考にしてください。ユーザーによっては、自社のプログラム開発用に標準化されたJCLを作成していたりします。業務用プログラムの場合は、それらを使用することが規定されているかも知れません。コンパイルオプションや追加のDD文などについては、使用するCOBOLのマニュアルを参照して下さい。

MVS Enterprise COBOLのコンパイラーJCLサンプル

ステップCOBOLが、COBOLコンパイラーの実行ステップです。STEPLIBにコンパイラーが格納されたロードモジュール・ライブラリーを指定します。z/OSの場合、「IGYvrm.SIGYCOMP」または「IGY.VnRnMn.SIGYCOMP」のDSNになっています。

コンパイルされたオブジェクト・モジュールは、バインダーでロード・モジュールに変換します。また、ロード・モジュールの出力先はPDSEデータセットでなければなりません。従来のように、ローダーで直接実行することもできなくなりました。

Enterprise COBOLのコンパイラーは、バージョン5で大きく変わりました。バージョン5以降のコンパイラーが生成するオブジェクト・モジュールは、長いプログラム名、オブジェクト指向プログラム対応、プリリンカーの廃止、モジュール・サイズ制限の撤廃等の理由から、ロード・モジュール(実行可能ファイル)の新しい形式であるプログラム・オブジェクトにのみ変換できます。

コンパイラー・オプションは、EXECステートメントのPARMパラメーターで指定します。長すぎて1行に書ききれない場合は、以下のように記述して次の行へ継続できます。

富士通COBOL85のコンパイラーJCLサンプル

日立COBOL85のコンパイラーJCLサンプル

MSPもVOS3も、z/OSと異なり従来通りのロード・モジュールが生成されます。コンパイラーが生成するオブジェクト・モジュールも、ローダーで直接実行することもできます。ローダーで直接実行する場合は、LKED以下のステップを下記のように書き換えます。