COBOL2002 使用の手引 手引編


25.2.3 ダイナミック型CGIプログラムの作成方法

ダイナミック型CGIプログラムは,COBOLプログラムが実行中にCBLFILLTEMPLATEサービスルーチンを利用して,共用ライブラリを呼び出す形式のプログラムです。共用ライブラリは,あらかじめHTMLトランスレータを利用してHTMLテンプレートから生成しておきます。

ダイナミック型CGIプログラムは,テストしながらHTMLテンプレートを修正できます。また,HTMLテンプレートをテスト後に共用ライブラリ化しても,CGIプログラムを再コンパイルする必要がありません。ただし,共用ライブラリの名称を変更した場合は,CGIプログラムを再コンパイルする必要があります。また,HTMLテンプレートが複数ある場合でも,一つの共用ライブラリファイルにまとめられません。この場合,HTMLテンプレートごとに共用ライブラリファイルを作成する必要があります。

ダイナミック型CGIプログラムの作成手順
  1. Webページに出力するHTMLテンプレート(CGISUB.htm)を作成します。

  2. 1.で作成したファイルを呼び出すCOBOL主プログラム(CGIMAIN.cbl)を作成します。

    COBOL主プログラムからは,CBLFILLTEMPLATEサービスルーチンを使用してHTMLテンプレートを呼び出すようにします。このとき,CBLFILLTEMPLATEサービスルーチンに指定するHTMLテンプレートの名称には,1.のファイル名から拡張子を除いた名称(CGISUB)を指定してください。

  3. COBOL主プログラムだけをコンパイルし,CGIライブラリとリンクしてCGIプログラム(CGIMAIN)を生成します。

  4. CGIプログラムとHTMLテンプレートを使って,HTMLテンプレートが正しくWebページに出力されるかテストします。

    正しく出力されるまで,HTMLテンプレートを修正しながらテストを繰り返します。

  5. HTMLトランスレータを使用して,HTMLテンプレートからCOBOL副プログラムのソースファイル(CGISUB.cbl)を生成します。次に指定例を示します。

    cblhtmtr CGISUB.htm

  6. COBOL副プログラムのソースファイルをコンパイルし,共用ライブラリファイル(CGISUB)を生成します。

    CGIプログラムは,実行時に共用ライブラリファイルを呼び出します。

注※

共用ライブラリファイルを作成するldコマンドでのリンク例

   ld -o CGISUB.a CGISUB.o -bpT:0x10000000
      -bpD:0x20000000 -bnoentry -bM:SRE -bexpall
      -L/opt/HILNGcbl2k/lib -lcbl2kcgi -lcbl2k
       -lcbl2kml -lm -lc
図25‒3 ダイナミック型CGIプログラムの作成手順

[図データ]