3.2 UAPのプリプロセス,コンパイル,リンケージの流れ
DMLを記述したCOBOLソースプログラムを,DMLプリプロセサ(pdsdbcblコマンド)でポストソースに変換します。そのポストソースをCOBOLコンパイラでコンパイルおよびリンケージすると,UAPの実行可能ファイルが作成されます。UAPの実行可能ファイル作成までの流れを次の図に示します。
各工程の説明を次に示します。
- プリプロセス
-
COBOLソースプログラム中に記述されているDMLを,COBOLコンパイラでコンパイルできるCOBOL言語の命令に置換し,その実行結果をポストソースとして出力します。
DMLが記述されたCOBOLソースプログラムは,そのままの状態ではCOBOLコンパイラでコンパイルできません。DMLプリプロセサによるプリプロセスを実行してポストソースを出力し,そのポストソースをCOBOLコンパイラでコンパイルします。
プリプロセスを実行する際には,次のファイルをDMLプリプロセサの入力情報にします。
-
COBOLソースプログラムを格納したUAPソースファイル
-
SDBディレクトリ情報ファイル
-
登録集原文ファイル
プリプロセスを実行するコマンドは,pdsdbcblコマンドです。
-
- コンパイル,リンケージ
-
プリプロセスの結果,出力されたポストソースファイル,および登録集原文ファイルを入力情報にして,COBOLコンパイラでコンパイルおよびリンケージを実行します。
ポストソースには登録集原文を取り込むCOPY文が展開されます。そのため,ポストソースをコンパイルする際には,これらの登録集原文を格納したディレクトリの絶対パスを環境変数CBLLIBに追加してください。
コンパイルを実行すると,UAPのオブジェクトがオブジェクトファイルに出力されます。UAPのオブジェクトファイル,COBOL2002ライブラリ,およびHiRDBクライアントライブラリを入力情報にしてリンケージを実行し,UAPの実行可能ファイルを作成します。
コンパイルを実行するコマンドは,COBOLのccbl2002コマンドまたはccblコマンドです。リンケージを実行するコマンドは,ldコマンドです。
- 参考
-
COBOL2002のコンパイラオプションで,リンケージまで行うかを指定できます。リンケージを行う場合はCOBOL2002がリンカ(ldコマンド)を呼び出します。