Interstage Application Server アプリケーション作成ガイド (CORBAサービス編)
目次 索引 前ページ次ページ

第7章 アプリケーションの開発(COBOL)

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

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

メッセージについて

関数名/変数名の扱い

予約語の扱

NVList使用方

文字列の設定について

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

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

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

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

備考

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

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

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

翻訳・リンク手順

  1. IDLコンパイルを実行します。
     IDLc -cobol IDLファイル名
  2. 1.で生成されたスタブ、CDRソースをCOBOLソースファイルに登録し、主プログラムと合わせて翻訳します。翻訳時に「翻訳オプション」として以下のフォルダ配下の登録集を指定します。
     CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL
  3. 「翻訳オプション」には以下のファイルを指定します。
    [プロセスモードの場合]
     
    C:\Interstage\ODWIN\LIB\ODCOBCBL.LIB
    [スレッドモードの場合]
     
    C:\Interstage\ODWIN\LIB\ODCOBCBLMT.LIB
    [UNICODEの場合]
     
    C:\Interstage\ODWIN\LIB\ODCOBCBLUC.LIB

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

 サーバアプリケーション作成時の翻訳・リンク手順と指定するファイル・オプションを以下に示します。

翻訳・リンク手順

  1. IDLコンパイルを実行します。
     IDLc -cobol IDLファイル名
  2. 1で生成されたスケルトン、CDRソースを翻訳し、オブジェクトファイル(*.obj)を作成します。プロジェクトマネージャを起動し、「ツール」の「翻訳」を選択して「翻訳時の指定」のファイル・オプションを指定します。
  3. サーバアプリケーションのメソッド部(サーバの実処理)を、同様の手順で翻訳します。(Windows(R)アプリケーション作成時/運用時の注意事項を参照)
  4. 翻訳したオブジェクトを結合し、DLLファイルを作成します。DLLファイル名は、モジュール名-インタフェース名.DLLです。「ツール」の「リンク」を選択し、以下のファイルと共に指定します。
    [プロセスモードの場合]
     
    C:\Interstage\ODWIN\LIB\ODCOBCBLSV.LIB
    [スレッドモードの場合]
     
    C:\Interstage\ODWIN\LIB\ODCOBCBLMTSV.LIB
    [UNICODEの場合]
     
    C:\Interstage\ODWIN\LIB\ODCOBCBLSVUC.LIB
  5. サーバアプリケーションのメイン処理を主プログラムとして、実行プログラムを作成します。この際以下のファイルと共に指定します。
    [プロセスモードの場合]
     
    C:\Interstage\ODWIN\LIB\ODCOBCBLSV.LIB
    [スレッドモードの場合]
     
    C:\Interstage\ODWIN\LIB\ODCOBCBLMTSV.LIB
    [UNICODEの場合]
     
    C:\Interstage\ODWIN\LIB\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定義により生成されないこともあります。)

翻訳オプション

[共通]

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

[UNICODEの場合]

登録集の指定

 CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL

生成ファイル

 モジュール名-インタフェース名-オペレーション名.OBJ
 スケルトン、CDRソースで定義された目的オブジェクト

Solaris OEアプリケーションの作成

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


 開発環境として“Sun日本語COBOL”を使用している場合、スレッドプログラムの作成には“COBOL拡張オプション2.0”が必要です。
 また、cobolコマンドでスレッドプログラムのファイルは作成できませんので、ldコマンドで作成してください。詳細は“COBOL拡張オプション2.0 インストールガイド”を参照してください。

 開発環境として“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: 主プログラムファイル名)。
    [プロセスモードの場合/スレッドモード(Sun 日本語COBOL)の場合]
     
    cobol -M -c XXX_c.cbl
    [スレッドモード(PowerCOBOL97)の場合/UNICODEモジュール(NetCOBOL)の場合]
     
    cobol -Tm -M -c XXX_c.cbl
  4. 1で生成されたスタブ、CDRソースを翻訳します。コンパイル方法を以下に示します(A_cdr.cbl: CDRソースファイル名、B_stub.cbl: スタブファイル名)。
    [プロセスモードの場合/スレッドモード(Sun 日本語COBOL)の場合]
     
    cobol -G -o libA_cdr.so A_cdr.cbl
     cobol -G -o libB_stub.so -lA_cdr B_stub.cbl
    [スレッドモード(PowerCOBOL97)の場合/UNICODEモジュール(NetCOBOL)の場合]
     
    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
    [スレッドモード(Sun 日本語COBOL)の場合] /opt/FSUNod/lib/libOMcbl.soをリンクします。
     ld /opt/SUNWnsun/lib/crti.o /opt/SUNWnsun/lib/crt1.o /opt/SUNWnsun/lib/crtn.o /opt/SUNWnsun/lib/cblstr.o
       -L/opt/FSUNod/lib -lOMcbl -lB_stub -lA_cdr XXX_c.o -o CAP_c -lrFJBASE
       -L/opt/FJSVCOBop/lib -lrcobol -lthread -lc -ldl
    [スレッドモード(PowerCOBOL97)の場合] /opt/FSUNod/lib/libOMcblMT.soをリンクします。
     cobol -L/opt/FSUNod/lib -lOMcblMT -Tm -o CAP_c -lB_stub -lA_cdr XXX_c.o
    [UNICODEモジュール(NetCOBOL)の場合] /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: 主プログラムファイル名)。
    [プロセスモードの場合/スレッドモード(Sun 日本語COBOL)の場合]
     
    cobol -M -c XXX_s.cbl
    [スレッドモード(PowerCOBOL97)の場合/UNICODEモジュール(NetCOBOL)の場合]
     
    cobol -Tm -M -c XXX_s.cbl
  4. サーバアプリケーション(初期化処理部)を作成します(SAP_s: サーバアプリケーション名)。
    [プロセスモードの場合] /opt/FSUNod/lib/libOMcbl.soをリンクします。
     cobol -lOMcbl -o SAP_s XXX_s.o
    [スレッドモード(Sun 日本語COBOL)の場合] /opt/FSUNod/lib/libOMcbl.soをリンクします。
     ld /opt/SUNWnsun/lib/crti.o /opt/SUNWnsun/lib/crt1.o /opt/SUNWnsun/lib/crtn.o /opt/SUNWnsun/lib/cblstr.o
       -L/opt/FSUNod/lib -lOMcbl XXX_s.o -o SAP_s -lFJBASE
       -L/opt/FJSVCOBop/lib -lrcobol -lthread -lc -ldl
    [スレッドモード(PowerCOBOL97)の場合] /opt/FSUNod/lib/libOMcblMT.soをリンクします。
     cobol -lOMcblMT -Tm -o SAP_s XXX_s.o
    [UNICODEモジュール(NetCOBOL)の場合] /opt/FSUNod/lib/libOMcblUC.soをリンクします。
     cobol -lOMcblUC -Tm -o SAP_s XXX_s.o
  5. 1で生成されたスケルトン、CDRソースを翻訳します。コンパイル方法を以下に示します(A_cdr.cbl: CDRソースファイル名、B_skel.cbl: スタブファイル名)。
    [プロセスモードの場合/スレッドモード(Sun 日本語COBOL)の場合]
     
    cobol -G -o libA_cdr.so A_cdr.cbl
     cobol -G -o libB_skel.so B_skel.cbl
    [スレッドモード(PowerCOBOL97)の場合/UNICODEモジュール(NetCOBOL)の場合]
     
    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
    [スレッドモード(Sun 日本語COBOL)の場合] /opt/FSUNod/lib/libOMcbl.soをリンクします。
     cobol -G -lrcobol -lOMcbl -o libD.so -lA_cdr -lB_skel D_sa.cbl
    [スレッドモード(PowerCOBOL97)の場合] /opt/FSUNod/lib/libOMcblMT.soをリンクします。
     cobol -G -Tm -lrcobol -lOMcblMT -o libD.so -lA_cdr -lB_skel D_sa.cbl
    [UNICODEモジュール(NetCOBOL)の場合] /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”を設定してください。


 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
    [スレッドモードの場合/UNICODEモジュールの場合]
     
    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 -L. -lA_cdr B_stub.cbl
    [スレッドモードの場合/UNICODEモジュールの場合]
     
    cobol -G -Tm -o libA_cdr.so A_cdr.cbl
     cobol -G -Tm -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モジュールの場合] /opt/FJSVod/lib/libOMcblUC.soをリンクします。
     cobol -L/opt/FJSVod/lib -lOMcblUC -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
    [スレッドモードの場合/UNICODEモジュールの場合]
     
    cobol -Tm -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モジュールの場合] /opt/FJSVod/lib/libOMcblUC.soをリンクします。
     cobol -L/opt/FJSVod/lib -lOMcblUC -Tm -o SAP_s XXX_s.o
  5. 1で生成されたスケルトン、CDRソースを翻訳します。コンパイル方法を以下に示します(A_cdr.cbl: CDRソースファイル名、B_skel.cbl: スタブファイル名)。
    [プロセスモードの場合の場合]
     
    cobol -G -o libA_cdr.so A_cdr.cbl
     cobol -G -o libB_skel.so B_skel.cbl
    [スレッドモードの場合/UNICODEモジュールの場合]
     
    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/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モジュールの場合] /opt/FJSVod/lib/libOMcblUC.soをリンクします。
     cobol -G -Tm -L/opt/FJSVod/lib -lOMcblUC -o libD.so -L. -lA_cdr -lB_skel D_sa.cbl

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005