ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(CORBAサービス編)

6.10 COBOLアプリケーション使用時の注意事項

第2章 CORBAアプリケーション開発時の留意事項”についても参照してください。


メッセージについて

関数名/変数名の扱い

予約語の扱い

NVList使用方法

文字列の設定について

Windows(R)アプリケーション作成時/運用時の注意事項

Solaris/Linuxアプリケーション作成時/運用時の注意事項

Windows(R)アプリケーションの作成

  Windows(R)でCOBOLアプリケーションを作成する場合の注意点を以下に示します。なお、詳細な翻訳・リンク方法に関しては、NetCOBOLのマニュアルを参照してください。


  CORBAサービスのインストールフォルダを“C:\Interstage\ODWIN”として説明します。


クライアントアプリケーションの作成

  クライアントアプリケーションを作成する場合の翻訳・リンク手順を以下に示します。

翻訳・リンク手順(32bitアプリケーション)
  1. IDLコンパイルを実行します。
      IDLc -cobol IDLファイル名

  2. 1.で生成されたスタブ、CDRソースをCOBOLソースファイルに登録し、主プログラムと合わせて翻訳します。翻訳時に「翻訳オプション」と環境変数CORBAに登録集のディレクトリを指定してください。

  3. リンクするライブラリには以下のファイルを指定します。
    [プロセスモードの場合]
      C:\Interstage\ODWIN\LIB\ODCOBCBL.LIB
    [スレッドモードの場合]
      C:\Interstage\ODWIN\LIB\ODCOBCBLMT.LIB
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]
      C:\Interstage\ODWIN\LIB\ODCOBCBLUC.LIB

翻訳・リンク手順(64bitアプリケーション)
  1. IDLコンパイルを実行します。
      IDLc -cobol IDLファイル名

  2. 1.で生成されたスタブ、CDRソースを、主プログラムと合わせて翻訳します。翻訳時に「翻訳オプション」と環境変数COB_CORBAに登録集のディレクトリを指定してください。(XXX_C.cbl: 主プログラムファイル名)
      set COB_CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL
      COBOL.EXE -NM "IDLファイル名_STUB.cbl"
      COBOL.EXE -NM "IDLファイル名_CDR.cbl"
      COBOL.EXE -M "XXX_C.cbl"

  3. 翻訳したオブジェクトを結合し、クライアントアプリケーションを作成します。「リンクオプション」には以下のファイルを指定します。

    • Windows Server(R) for Itanium-based Systemsの場合
      [共通NetCOBOL V9.0の場合
        F6AGCIMP.LIB
        libcmt.lib
        bufferoverflowU.lib
        kernel32.lib
      [共通NetCOBOL V10.0以降の場合
        F6AGCIMP.LIB
        libcmt.lib
        kernel32.lib
      [プロセスモードの場合]
        C:\Interstage\ODWIN\LIB\ia64\ODCOBCBL.LIB
      [スレッドモードの場合]
        C:\Interstage\ODWIN\LIB\ia64\ODCOBCBLMT.LIB
      [プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]
        C:\Interstage\ODWIN\LIB\ia64\ODCOBCBLUC.LIB

    • Windows Server(R) x64 Editionsの場合
      [共通]
        F4AGCIMP.LIB
        libcmt.lib
        kernel32.lib
      [プロセスモードの場合]
        C:\Interstage\ODWIN\LIB\x64\ODCOBCBL.LIB
      [スレッドモードの場合]
        C:\Interstage\ODWIN\LIB\x64\ODCOBCBLMT.LIB
      [プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]
        C:\Interstage\ODWIN\LIB\x64\ODCOBCBLUC.LIB

翻訳対象ファイル

IDLファイル名_STUB.CBL
IDLファイル名_CDR.CBL

翻訳オプション

[共通]

  • NAMEオプションを指定してください。

[スレッドモードの場合]

  • THREAD(MULTI)オプションを指定してください。

[プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]

  • RCSオプション(UCS2-Unicode(UCS2)を使用する)を指定してください。

  • スレッドモードの場合、THREAD(MULTI)オプションを指定してください。

翻訳時の「翻訳オプション」に関しては、NetCOBOLのマニュアルを参照してください。

登録集の指定

以下の環境変数を設定してください。

  • 64bitアプリケーション
    COB_CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL

  • 32bitアプリケーション
    CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL

生成ファイル

  スタブ、CDRソースで定義された目的オブジェクト


サーバアプリケーションの翻訳・リンク

  サーバアプリケーション作成時の翻訳・リンク手順と指定するファイル・オプションを以下に示します。なお、詳細な翻訳・リンク方法に関しては、NetCOBOLのマニュアルを参照してください。

翻訳・リンク手順
  1. IDLコンパイルを実行します。
      IDLc -cobol IDLファイル名

  2. 1.で生成されたスケルトン、CDRソースを翻訳し、サーバアプリケーション(インタフェース実装部分)を翻訳し、オブジェクトファイル(*.obj)を作成します。翻訳時に「翻訳オプション」と、環境変数COB_CORBAに登録集のディレクトリを指定してください。(XXX_SA.cbl: インタフェース実装プログラムファイル名)
      COBOL.EXE -NM "IDLファイル名_インタフェース名_SKEL.CBL"
      COBOL.EXE -NM "IDLファイル名_SKEL.cbl"
      COBOL.EXE -NM "IDLファイル名_CDR.cbl"
      COBOL.EXE -NM "XXX_SA.cbl"

  3. サーバアプリケーション(初期化処理部)を、同様の手順で翻訳します。(Windows(R)アプリケーション作成時/運用時の注意事項 を参照)(XXX_S.cbl: 主プログラムファイル名)
      COBOL.EXE -M "XXX_S.cbl

  4. 翻訳したオブジェクトを結合し、DLLファイルを作成します。DLLファイル名は、モジュール名-インタフェース名.DLLです。「リンクオプション」には以下のファイルを指定します。

    • Windows Server(R) for Itanium-based Systemsの場合
      [共通NetCOBOL V9.0の場合
        F6AGCIMP.LIB
        libcmt.lib
        bufferoverflowU.lib
        kernel32.lib
      [共通NetCOBOL V10.0以降の場合
        F6AGCIMP.LIB
        libcmt.lib
        kernel32.lib
      [プロセスモードの場合]
        C:\Interstage\ODWIN\LIB\ia64\ODCOBCBLSV.LIB
      [スレッドモードの場合]
        C:\Interstage\ODWIN\LIB\ia64\ODCOBCBLMTSV.LIB
      [プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]
        C:\Interstage\ODWIN\LIB\ia64\ODCOBCBLSVUC.LIB

    • Windows Server(R) x64 Editionsの場合
      [共通]
        F4AGCIMP.LIB
        libcmt.lib
        kernel32.lib
      [プロセスモードの場合]
        C:\Interstage\ODWIN\LIB\x64\ODCOBCBLSV.LIB
      [スレッドモードの場合]
        C:\Interstage\ODWIN\LIB\x64\ODCOBCBLMTSV.LIB
      [プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]
        C:\Interstage\ODWIN\LIB\x64\ODCOBCBLSVUC.LIB

  5. サーバアプリケーションのメイン処理を主プログラムとして、実行プログラムを作成します。この際「リンクオプション」には以下のファイルを指定します。

    • Windows Server(R) for Itanium-based Systemsの場合
      [共通NetCOBOL V9.0の場合
        F6AGCIMP.LIB
        libcmt.lib
        bufferoverflowU.lib
        kernel32.lib
      [共通NetCOBOL V10.0以降の場合
        F6AGCIMP.LIB
        libcmt.lib
        kernel32.lib
      [プロセスモードの場合]
        C:\Interstage\ODWIN\LIB\ia64\ODCOBCBLSV.LIB
      [スレッドモードの場合]
        C:\Interstage\ODWIN\LIB\ia64\ODCOBCBLMTSV.LIB
      [プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]
        C:\Interstage\ODWIN\LIB\ia64\ODCOBCBLSVUC.LIB

    • Windows Server(R) x64 Editionsの場合
      [共通]
        F4AGCIMP.LIB
        libcmt.lib
        kernel32.lib
      [プロセスモードの場合]
        C:\Interstage\ODWIN\LIB\x64\ODCOBCBLSV.LIB
      [スレッドモードの場合]
        C:\Interstage\ODWIN\LIB\x64\ODCOBCBLMTSV.LIB
      [プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]
        C:\Interstage\ODWIN\LIB\x64\ODCOBCBLSVUC.LIB

  6. OD_impl_instコマンドでサーバアプリケーションを登録します。実行時に指定する定義ファイルは、サンプルプログラムの以下のファイルを参照してください。
      C:\Interstage\ODWIN\SRC\SAMPLE\COMPLEX\SAMPLELIST.COBOL\DATA\*\*.DEF
    注)modeは、SYNC_ENDを設定してください。
        DLLは、DLL名のみを設定し、環境変数PATHにDLLのパスを追加してください。

翻訳対象ファイル
IDLファイル名_インタフェース名_SKEL.CBL
IDLファイル名_CDR.CBL
IDLファイル名_SKEL.CBL

(IDL定義により生成されないこともあります。)

翻訳オプション

[共通]

  • NAMEオプションを指定してください。

  • DLOADオプションは指定しないでください。

[スレッドモードの場合]

  • THREAD(MULTI)オプションを指定してください。

[プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]

  • RCSオプション(UCS2-Unicode(UCS2)を使用する)を指定してください。

  • スレッドモードの場合、THREAD(MULTI)オプションを指定してください。

翻訳時の「翻訳オプション」に関しては、NetCOBOLのマニュアルを参照してください。

登録集の指定

以下の環境変数を設定してください。

  COB_CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL
生成ファイル
  モジュール名-インタフェース名-オペレーション名.OBJ
  スケルトン、CDRソースで定義された目的オブジェクト

Solarisアプリケーション作成

  SolarisでCOBOLアプリケーションを作成する場合の注意点を以下に示します。


  開発環境として“NetCOBOL”を使用してUNICODEのアプリケーションを開発する場合、ソースファイルおよび登録集は、UNICODE(UTF-8)で作成してください。
  また、翻訳/リンク/実行を行う場合、コード系には“UNICODE”を設定してください。


  CORBAサービスのインストールディレクトリを“/opt/FSUNod”として説明します。


クライアントアプリケーションの作成

  クライアントアプリケーションを作成する場合の翻訳・リンク手順を以下に示します。

翻訳・リンク手順
  1. IDLコンパイルを実行します。
      IDLc -cobol IDLファイル名

  2. 登録集を指定します。環境変数CORBAに以下のディレクトリを指定してください。
      CORBA=/opt/FSUNod/include/COBOL

  3. 主プログラムを翻訳します。コンパイル方法を以下に示します(XXX_c.cbl: 主プログラムファイル名)。
    [プロセスモードの場合]
      cobol -M -c XXX_c.cbl
    [スレッドモードの場合]
      cobol -Tm -M -c XXX_c.cbl
    [プロセスモード(UNICODE、UTF8モジュール)の場合]
      cobol -M -c XXX_c.cbl
    [スレッドモード(UNICODE、UTF8モジュール)の場合]
      cobol -Tm -M -c XXX_c.cbl

  4. 1.で生成されたスタブ、CDRソースを翻訳します。コンパイル方法を以下に示します(A_cdr.cbl: CDRソースファイル名、B_stub.cbl: スタブファイル名)。
    [プロセスモードの場合]
      cobol -G -o libA_cdr.so A_cdr.cbl
      cobol -G -o libB_stub.so -lA_cdr B_stub.cbl
    [スレッドモードの場合]
      cobol -G -Tm -o libA_cdr.so A_cdr.cbl
      cobol -G -Tm -o libB_stub.so -lA_cdr B_stub.cbl
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]
      cobol -G -Tm -o libA_cdr.so A_cdr.cbl
      cobol -G -Tm -o libB_stub.so -lA_cdr B_stub.cbl

  5. COBOLライブラリをリンクしてクライアントアプリケーションを作成します(CAP_c:作成するクライアントアプリケーション名)。
    [プロセスモードの場合]  /opt/FSUNod/lib/libOMcbl.soをリンクします。
      cobol -L/opt/FSUNod/lib -lOMcbl -o CAP_c -lB_stub -lA_cdr XXX_c.o
    [スレッドモードの場合]  /opt/FSUNod/lib/libOMcblMT.soをリンクします。
      cobol -L/opt/FSUNod/lib -lOMcblMT -Tm -o CAP_c -lB_stub -lA_cdr XXX_c.o
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]  /opt/FSUNod/lib/libOMcblUC.soをリンクします。
      cobol -L/opt/FSUNod/lib -lOMcblUC -Tm -o CAP_c -lB_stub -lA_cdr XXX_c.o


サーバアプリケーションの作成

  サーバアプリケーションを作成する場合の翻訳・リンク手順を以下に示します。

翻訳・リンク手順
  1. IDLコンパイルを実行します。
    IDLc -cobol IDLファイル名

  2. 登録集を指定します。環境変数CORBAに以下のディレクトリを指定してください。
    CORBA=/opt/FSUNod/include/COBOL

  3. 主プログラムを翻訳します。コンパイル方法を以下に示します(XXX_s.cbl: 主プログラムファイル名)。
    [プロセスモードの場合]
      cobol -M -c XXX_s.cbl
    [スレッドモードの場合]
      cobol -Tm -M -c XXX_s.cbl
    [プロセスモード(UNICODE、UTF8モジュール)の場合]
      cobol -M -c XXX_s.cbl
    [スレッドモード(UNICODE、UTF8モジュール)の場合]
      cobol -Tm -M -c XXX_s.cbl

  4. サーバアプリケーション(初期化処理部)を作成します(SAP_s: サーバアプリケーション名)。
    [プロセスモードの場合]  /opt/FSUNod/lib/libOMcbl.soをリンクします。
      cobol -lOMcbl -o SAP_s XXX_s.o
    [スレッドモードの場合]  /opt/FSUNod/lib/libOMcblMT.soをリンクします。
      cobol -lOMcblMT -Tm -o SAP_s XXX_s.o
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]  /opt/FSUNod/lib/libOMcblUC.soをリンクします。
      cobol -lOMcblUC -Tm -o SAP_s XXX_s.o

  5. 1.で生成されたスケルトン、CDRソースを翻訳します。コンパイル方法を以下に示します(A_cdr.cbl: CDRソースファイル名、B_skel.cbl: スケルトンファイル名)。
    なお、IDL定義に基本データ型以外が含まれる場合、領域獲得用スケルトンファイルのコンパイルおよびリンクも必要です。
    [プロセスモードの場合]
      cobol -G -o libA_cdr.so A_cdr.cbl
      cobol -G -o libB_skel.so B_skel.cbl
    [スレッドモードの場合]
      cobol -G -Tm -o libA_cdr.so A_cdr.cbl
      cobol -G -Tm -o libB_skel.so B_skel.cbl
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]  
      cobol -G -Tm -o libA_cdr.so A_cdr.cbl
      cobol -G -Tm -o libB_skel.so B_skel.cbl

  6. COBOLライブラリをリンクしてサーバアプリケーション(インタフェース実装部分)を作成します(D_sa.cbl: COBOLファイル名、libD.so: ライブラリファイル名)。
    [プロセスモードの場合]  /opt/FSUNod/lib/libOMcbl.soをリンクします。
      cobol -G -lcobol -lOMcbl -o libD.so -lA_cdr -lB_skel D_sa.cbl
    [スレッドモードの場合]  /opt/FSUNod/lib/libOMcblMT.soをリンクします。
      cobol -G -Tm -lrcobol -lOMcblMT -o libD.so -lA_cdr -lB_skel D_sa.cbl
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]  /opt/FSUNod/lib/libOMcblUC.soをリンクします。
      cobol -G -Tm -lrcobol -lOMcblUC -o libD.so -lA_cdr -lB_skel D_sa.cbl


Linuxアプリケーション作成

  LinuxでCOBOLアプリケーションを作成する場合の注意点を以下に示します。


  UNICODEのアプリケーションを開発する場合、ソースファイルおよび登録集は、UNICODE(UTF-8)で作成してください。
  また、翻訳/リンク/実行を行う場合、コード系には“UNICODE”を設定してください。

  UNICODE でCOBOL翻訳を行う場合、RCSオプションで“UCS2”を指定してください。このときエンディアンが選択可能でビッグエンディアン(BE)、リトルエンディアン(LE)のいずれかを指定します。


  CORBAサービスのインストールディレクトリを“/opt/FJSVod”として説明します。


クライアントアプリケーションの作成

  クライアントアプリケーションを作成する場合の翻訳・リンク手順を以下に示します。

翻訳・リンク手順
  1. IDLコンパイルを実行します。
      IDLc -cobol IDLファイル名

  2. 登録集を指定します。環境変数CORBAに以下のディレクトリを指定してください。
      CORBA=/opt/FJSVod/include/COBOL

  3. 主プログラムを翻訳します。コンパイル方法を以下に示します(XXX_c.cbl: 主プログラムファイル名)。
    [プロセスモードの場合]
      cobol -M -c XXX_c.cbl
    [スレッドモードの場合]
      cobol -Tm -M -c XXX_c.cbl
    [プロセスモード(UNICODE、UTF8モジュール)の場合]
      cobol -M -c XXX_c.cbl
    [スレッドモード(UNICODE、UTF8モジュール)の場合]
      cobol -Tm -M -c XXX_c.cbl
    [プロセスモード(UNICODE、UTF8モジュールでビッグエンディアンを指定)の場合]
      cobol -WC,"RCS(UCS2,BE)" -M -c XXX_c.cbl
    [スレッドモード(UNICODE、UTF8モジュールでビッグエンディアンを指定)の場合]
      cobol -Tm -WC,"RCS(UCS2,BE)" -M -c XXX_c.cbl
    [プロセスモード(UNICODE、UTF8モジュールでリトルエンディアンを指定)の場合]
      cobol -WC,"RCS(UCS2,LE)" -M -c XXX_c.cbl
    [スレッドモード(UNICODE、UTF8モジュールでリトルエンディアンを指定)の場合]
      cobol -Tm -WC,"RCS(UCS2,LE)" -M -c XXX_c.cbl

  4. 1で生成されたスタブ、CDRソースを翻訳します。コンパイル方法を以下に示します(A_cdr.cbl: CDRソースファイル名、B_stub.cbl: スタブファイル名)。
    [プロセスモードの場合]
      cobol -G -o libA_cdr.so A_cdr.cbl
      cobol -G -o libB_stub.so -L. -lA_cdr B_stub.cbl
    [スレッドモードの場合]
      cobol -G -Tm -o libA_cdr.so A_cdr.cbl
      cobol -G -Tm -o libB_stub.so -L. -lA_cdr B_stub.cbl
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]
      cobol -G -Tm -o libA_cdr.so A_cdr.cbl
      cobol -G -Tm -o libB_stub.so -L. -lA_cdr B_stub.cbl
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュールでビッグエンディアンを指定)の場合]
      cobol -G -Tm -WC,"RCS(UCS2,BE)" -o libA_cdr.so A_cdr.cbl
      cobol -G -Tm -WC,"RCS(UCS2,BE)" -o libB_stub.so -L. -lA_cdr B_stub.cbl
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュールでリトルエンディアンを指定)の場合]
      cobol -G -Tm -WC,"RCS(UCS2,LE)" -o libA_cdr.so A_cdr.cbl
      cobol -G -Tm -WC,"RCS(UCS2,LE)" -o libB_stub.so -L. -lA_cdr B_stub.cbl

  5. COBOLライブラリをリンクしてクライアントアプリケーションを作成します(CAP_c:作成するクライアントアプリケーション名)。
    [プロセスモードの場合]  /opt/FJSVod/lib/libOMcbl.soをリンクします。
      cobol -L/opt/FJSVod/lib -lOMcbl -o CAP_c -L. -lB_stub -lA_cdr XXX_c.o
    [スレッドモードの場合]  /opt/FJSVod/lib/libOMcblMT.soをリンクします。
      cobol -L/opt/FJSVod/lib -lOMcblMT -Tm -o CAP_c -L. -lB_stub -lA_cdr XXX_c.o
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]  /opt/FJSVod/lib/libOMcblUC.soをリンクします。
      cobol -L/opt/FJSVod/lib -lOMcblUC -Tm -o CAP_c -L. -lB_stub -lA_cdr XXX_c.o
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュールでビッグエンディアンを指定)の場合]
      /opt/FJSVod/lib/libOMcblUCBE.soをリンクします。
      cobol -L/opt/FJSVod/lib -lOMcblUCBE -Tm -o CAP_c -L. -lB_stub -lA_cdr XXX_c.o
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュールでリトルエンディアンを指定)の場合]
      /opt/FJSVod/lib/libOMcblUCLE.soをリンクします。
      cobol -L/opt/FJSVod/lib -lOMcblUCLE -Tm -o CAP_c -L. -lB_stub -lA_cdr XXX_c.o


サーバアプリケーションの作成

  サーバアプリケーションを作成する場合の翻訳・リンク手順を以下に示します。

翻訳・リンク手順
  1. IDLコンパイルを実行します。
    IDLc -cobol IDLファイル名

  2. 登録集を指定します。環境変数CORBAに以下のディレクトリを指定してください。
    CORBA=/opt/FJSVod/include/COBOL

  3. 主プログラムを翻訳します。コンパイル方法を以下に示します(XXX_s.cbl: 主プログラムファイル名)。
    [プロセスモードの場合]
      cobol -M -c XXX_s.cbl
    [スレッドモードの場合]
      cobol -Tm -M -c XXX_s.cbl
    [プロセスモード(UNICODE、UTF8モジュール)の場合]
      cobol -M -c XXX_s.cbl
    [スレッドモード(UNICODE、UTF8モジュール)の場合]
      cobol -Tm -M -c XXX_s.cbl
    [プロセスモード(UNICODE、UTF8モジュールでビッグエンディアンを指定)の場合]
      cobol -WC,"RCS(UCS2,BE)" -M -c XXX_s.cbl
    [スレッドモード(UNICODE、UTF8モジュールでビッグエンディアンを指定)の場合]
      cobol -Tm -WC,"RCS(UCS2,BE)" -M -c XXX_s.cbl
    [プロセスモード (UNICODE、UTF8モジュールでリトルエンディアンを指定)の場合]
      cobol -WC,"RCS(UCS2,LE)" -M -c XXX_s.cbl
    [スレッドモード(UNICODE、UTF8モジュールでリトルエンディアンを指定)の場合]
      cobol -Tm -WC,"RCS(UCS2,LE)" -M -c XXX_s.cbl

  4. サーバアプリケーション(初期化処理部)を作成します(SAP_s: サーバアプリケーション名)。
    [プロセスモードの場合]  /opt/FJSVod/lib/libOMcbl.soをリンクします。
      cobol -L/opt/FJSVod/lib -lOMcbl -o SAP_s XXX_s.o
    [スレッドモードの場合]  /opt/FJSVod/lib/libOMcblMT.soをリンクします。
      cobol -L/opt/FJSVod/lib -lOMcblMT -Tm -o SAP_s XXX_s.o
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]  /opt/FJSVod/lib/libOMcblUC.soをリンクします。
      cobol -L/opt/FJSVod/lib -lOMcblUC -Tm -o SAP_s XXX_s.o
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュールでビッグエンディアンを指定)の場合]
      /opt/FJSVod/lib/libOMcblUCBE.soをリンクします。
      cobol -L/opt/FJSVod/lib -lOMcblUCBE -Tm -o SAP_s XXX_s.o
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュールでリトルエンディアンを指定)の場合]
      /opt/FJSVod/lib/libOMcblUCLE.soをリンクします。
      cobol -L/opt/FJSVod/lib -lOMcblUCLE -Tm -o SAP_s XXX_s.o

  5. 1で生成されたスケルトン、CDRソースを翻訳します。コンパイル方法を以下に示します(A_cdr.cbl: CDRソースファイル名、B_skel.cbl: スケルトンファイル名)。
    なお、IDL定義に基本データ型以外が含まれる場合、領域獲得用スケルトンファイルのコンパイルおよびリンクも必要です。
    [プロセスモードの場合の場合]
      cobol -G -o libA_cdr.so A_cdr.cbl
      cobol -G -o libB_skel.so B_skel.cbl
    [スレッドモードの場合]
      cobol -G -Tm -o libA_cdr.so A_cdr.cbl
      cobol -G -Tm -o libB_skel.so B_skel.cbl
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]
      cobol -G -Tm -o libA_cdr.so A_cdr.cbl
      cobol -G -Tm -o libB_skel.so B_skel.cbl
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュールでビッグエンディアンを指定)の場合]
      cobol -G -Tm -WC,"RCS(UCS2,BE)" -o libA_cdr.so A_cdr.cbl
      cobol -G -Tm -WC,"RCS(UCS2,BE)" -o libB_skel.so B_skel.cbl
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュールでリトルエンディアンを指定)の場合]
      cobol -G -Tm -WC,"RCS(UCS2,LE)" -o libA_cdr.so A_cdr.cbl
      cobol -G -Tm -WC,"RCS(UCS2,LE)" -o libB_skel.so B_skel.cbl

  6. COBOLライブラリをリンクしてサーバアプリケーション(インタフェース実装部分)を作成します(D_sa.cbl: COBOLファイル名、libD.so: ライブラリファイル名)。
    [プロセスモードの場合]  /opt/FJSVod/lib/libOMcbl.soをリンクします。
      cobol -G -L/opt/FJSVod/lib -lOMcbl -o libD.so -L. -lA_cdr -lB_skel D_sa.cbl
    [スレッドモードの場合]  /opt/FSUNod/lib/libOMcblMT.soをリンクします。
      cobol -G -Tm -L/opt/FJSVod/lib -lOMcblMT -o libD.so -L. -lA_cdr -lB_skel D_sa.cbl
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュール)の場合]  /opt/FJSVod/lib/libOMcblUC.soをリンクします。
      cobol -G -Tm -L/opt/FJSVod/lib -lOMcblUC -o libD.so -L. -lA_cdr -lB_skel D_sa.cbl
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュールでビッグエンディアンを指定)の場合]
      /opt/FJSVod/lib/libOMcblUCBE.soをリンクします。
      cobol -G -Tm -WC,"RCS(UCS2,BE)" -L/opt/FJSVod/lib -lOMcblUCBE -o libD.so -L. -lA_cdr -lB_skel D_sa.cbl
    [プロセスモード/スレッドモード(UNICODE、UTF8モジュールでリトルエンディアンを指定)の場合]
      /opt/FJSVod/lib/libOMcblUCLE.soをリンクします。
      cobol -G -Tm -WC,"RCS(UCS2,LE)" -L/opt/FJSVod/lib -lOMcblUCLE -o libD.so -L. -lA_cdr -lB_skel D_sa.cbl


対応可能な予約語の一覧

以下に対応可能な予約語を示します。

"ACCEPT"、 "ACCESS"、 "ACTUAL"、 "ADD"、 "ADDRESS"、 "ADVANCING"、 "AFTER"、 "ALL"、 "ALPHABET"、 "ALPHABETIC"、 "ALPHANUMERIC"、 "ALSO"、 "ALTER"、 "ALTERNATE"、 "AND"、 "ANY"、 "APPLY"、 "ARE"、 "AREA"、 "AREAS"、 "ARITHMETIC"、 "AS"、 "ASCENDING"、 "ASSIGN"、 "AT"、 "AUTHOR"、 "AUTO"、 "AUTOMATIC"、 "BASED"、 "BEFORE"、 "BEGINNING"、 "BELL"、 "BINARY"、 "BIT"、 "BITS"、 "BLANK"、 "BLINK"、 "BLOCK"、 "BOTTOM"、 "BY"、 "CALL"、 "CANCEL"、 "CBL"、 "CD"、 "CF"、 "CH"、 "CHANGED"、 "CHARACTER"、 "CHARACTERS"、 "CLASS"、 "CLOSE"、 "COBOL"、 "CODE"、 "COLLATING"、 "COLUMN"、 "COMMA"、 "COMMAND"、 "COMMIT"、 "COMMON"、 "COMMUNICATION"、 "COMP"、 "COMPLEX"、 "COMPUTATIONAL"、 "COMPUTE"、 "CONFIGURATION"、 "CONNECT"、 "CONSTANT"、 "CONTAINED"、 "CONTAINS"、 "CONTENT"、 "CONTINUE"、 "CONTROL"、 "CONTROLS"、 "CONVERTING"、 "COPY"、 "CORR"、 "CORRESPONDING"、 "COUNT"、 "CRP"、 "CRT"、 "CURRENCY"、 "CURRENT"、 "CURSOR"、 "DATA"、 "DATE"、 "DAY"、 "DB"、 "DE"、 "DEBUGGING"、 "DEFAULT"、 "DELETE"、 "DELIMITED"、 "DELIMITER"、 "DEPENDING"、 "DESCENDING"、 "DESTINATION"、 "DETAIL"、 "DEVICE"、 "DIRECT"、 "DISABLE"、 "DISCONNECT"、 "DISJOINING"、 "DISPLAY"、 "DIVIDE"、 "DIVISION"、 "DOWN"、 "DUPLICATE"、 "DUPLICATES"、 "DYNAMIC"、 "EGCS"、 "EGI"、 "EJECT"、 "ELSE"、 "EMI"、 "EMPTY"、 "ENABLE"、 "END"、 "ENDCOBOL"、 "ENDING"、 "ENTER"、 "ENTRY"、 "ENVIRONMENT"、 "EOL"、 "EOP"、 "EOS"、 "EQUAL"、 "EQUALS"、 "ERASE"、 "ERROR"、 "ESI"、 "EVALUATE"、 "EVERY"、 "EXACT"、 "EXAMINE"、 "EXCEEDS"、 "EXCEPTION"、 "EXCLUSIVE"、 "EXEC"、 "EXIT"、 "EXOR"、 "EXTEND"、 "EXTERNAL"、 "FD"、 "FETCH"、 "FILE"、 "FILES"、 "FILLER"、 "FINAL"、 "FIND"、 "FINISH"、 "FIRST"、 "FLADD"、 "FOOTING"、 "FOR"、 "FORM"、 "FORMAT"、 "FORMATTED"、 "FREE"、 "FROM"、 "FULL"、 "FUNCTION"、 "GENERATE"、 "GET"、 "GIVING"、 "GLOBAL"、 "GO"、 "GOBACK"、 "GREATER"、 "GRID"、 "GROUP"、 "HEADING"、 "HIGHLIGHT"、 "ID"、 "IDENTIFICATION"、 "IF"、 "IN"、 "INCLUDE"、 "INDEX"、 "INDEXED"、 "INDICATE"、 "INITIAL"、 "INITIALIZE"、 "INITIATE"、 "INPUT"、 "INSPECT"、 "INSTALLATION"、 "INTO"、 "INVALID"、 "IS"、 "JAPANESE"、 "JOB"、 "JOINING"、 "JUST"、 "JUSTIFIED"、 "KANJI"、 "KEEP"、 "KEY"、 "LABEL"、 "LAST"、 "LD"、 "LEADING"、 "LEFT"、 "LEFTLINE"、 "LENGTH"、 "LESS"、 "LIMIT"、 "LIMITED"、 "LIMITS"、 "LINAGE"、 "LINE"、 "LINES"、 "LINKAGE"、 "LOCALLY"、 "LOCK"、 "LOWLIGHT"、 "MANUAL"、 "MEMBER"、 "MEMORY"、 "MERGE"、 "MESSAGE"、 "MODE"、 "MODIFY"、 "MODULES"、 "MOVE"、 "MULTICON"、 "MULTIPLE"、 "MULTIPLY"、 "NAMED"、 "NATIONAL"、 "NATIVE"、 "NEGATIVE"、 "NEXT"、 "NO"、 "NOMINAL"、 "NONE"、 "NOT"、 "NOTE"、 "NULL"、 "NULLS"、 "NUMBER"、 "NUMERIC"、 "OCCURS"、 "OF"、 "OFF"、 "OMITTED"、 "ON"、 "ONLY"、 "OPEN"、 "OPTIONAL"、 "OR"、 "ORDER"、 "ORGANIZATION"、 "OTHER"、 "OTHERWISE"、 "OUTPUT"、 "OVERFLOW"、 "OVERLINE"、 "OWNER"、 "PADDING"、 "PAGE"、 "PASSWORD"、 "PERFORM"、 "PF"、 "PH"、 "PIC"、 "PICTURE"、 "PLUS"、 "POINTER"、 "POSITION"、 "POSITIONING"、 "POSITIVE"、 "PREFIX"、 "PRESENT"、 "PREVIOUS"、 "PRINTING"、 "PRIOR"、 "PROCEDURE"、 "PROCEDURES"、 "PROCEED"、 "PROCESSING"、 "PROGRAM"、 "PROMPT"、 "PROTECTED"、 "PURGE"、 "QUEUE"、 "QUOTE"、 "QUOTES"、 "RANDOM"、 "RANGE"、 "RD"、 "READ"、 "READY"、 "REALM"、 "RECEIVE"、 "RECONNECT"、 "RECORD"、 "RECORDING"、 "RECORDS"、 "REDEFINES"、 "REEL"、 "REFERENCE"、 "REFERENCES"、 "RELATION"、 "RELATIVE"、 "RELEASE"、 "RELOAD"、 "REMAINDER"、 "REMARKS"、 "REMOVAL"、 "RENAMES"、 "REPEATED"、 "REPLACE"、 "REPLACING"、 "REPORT"、 "REPORTING"、 "REPORTS"、 "RERUN"、 "REQUIRED"、 "RESERVE"、 "RESET"、 "RETAINING"、 "RETRIEVAL"、 "RETURN"、 "REVERSED"、 "REWIND"、 "REWRITE"、 "RF"、 "RH"、 "RIGHT"、 "ROLLBACK"、 "ROUNDED"、 "RUN"、 "SA"、 "SAME"、 "SCREEN"、 "SD"、 "SEARCH"、 "SECTION"、 "SECURITY"、 "SECURE"、 "SEEK"、 "SEGMENT"、 "SELECT"、 "SELECTED"、 "SELECTIVE"、 "SEND"、 "SENTENCE"、 "SEPARATE"、 "SEQUENCE"、 "SEQUENTIAL"、 "SERVICE"、 "SESSION"、 "SET"、 "SHARED"、 "SIGN"、 "SIMPLE"、 "SINGLE"、 "SIZE"、 "SKIP1"、 "SKIP2"、 "SKIP3"、 "SORT"、 "SOURCE"、 "SPACE"、 "SPACES"、 "STANDERD"、 "START"、 "STATION"、 "STATIONS"、 "STATUS"、 "STOP"、 "STORE"、 "STRING"、 "SUBRANGE"、 "SUBTRACT"、 "SUCCESSIVE"、 "SUFFIX"、 "SUM"、 "SUPPRESS"、 "SYMBOLIC"、 "SYNC"、 "SYNCHRONIZED"、 "TABLE"、 "TALLY"、 "TALLYING"、 "TAPE"、 "TENANT"、 "TERMINAL"、 "TERMINATE"、 "TEST"、 "TEXT"、 "THAN"、 "THEN"、 "THROUGH"、 "THRU"、 "TIME"、 "TIMES"、 "TITLE"、 "TO"、 "TOP"、 "TRACE"、 "TRACK"、 "TRACKS"、 "TRAILING"、 "TRANSACTION"、 "TYPE"、 "UNDERLINE"、 "UNEQUAL"、 "UNIT"、 "UNLOCK"、 "UNSTRING"、 "UNTIL"、 "UP"、 "UPDATE"、 "UPON"、 "USAGE"、 "USE"、 "USING"、 "VALID"、 "VALIDATE"、 "VALUE"、 "VALUES"、 "VARYING"、 "WAIT"、 "WHEN"、 "WITH"、 "WITHIN"、 "WORDS"、 "WRITE"、 "ZERO"、 "ZEROES"、 "ZEROS"