Interstage Application Server リファレンスマニュアル(API編)
目次 索引 前ページ次ページ

第4章 COBOLインタフェース> 4.2 ORBインタフェース

4.2.1 CORBA-ORB-INIT

名前

 CORBA-ORB-INIT

形式

 ENVIRONMENT DIVISION.
 CONFIGURATION SECTION.
 SPECIAL-NAMES.
   ARGUMENT-NUMBER IS ARG-C
   ARGUMENT-VALUE  IS ARG-V.
  DATA DIVISION.
  WORKING-STORAGE SECTION.
   COPY CONST IN CORBA.
   01 ORB-IDENTIFIER USAGE POINTER.
   01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV.
 01 COPY ORB IN CORBA REPLACING CORBA-ORB BY ORB
 01 COPY ULONG IN CORBA REPLACING CORBA-UNSIGNED-LONG BY C-ARG-C.
 01 C-ARG-V.
    02 FILLER OCCURS n.
       03 C-ARG-V-VALUE USAGE POINTER.
 01 APLI-NAME PIC X(m) VALUE "アプリケーション名".
 PROCEDURE DIVISION.
 CALL "CORBA-ORB-INIT" USING
         C-ARG-C
         C-ARG-V 
         ORB-IDENTIFIER
         ENV
         ORB.

機能説明

 ORBを初期化し、ORBのオブジェクトリファレンスを返します。本関数を発行することにより、以降の節に記述する各関数を使用できます。返されたオブジェクトリファレンスは、他のORBインタフェースを呼び出す場合のパラメタに使用します。COBOLの場合に他言語とインタフェースの整合性をとるため、C-ARG-CおよびC-ARG-Vには、プログラムに渡されるARG-CおよびARG-Vを以下のように加工して渡す必要があります。

* パラメタ数の設定
         ACCEPT CURRENT-ARG-C FROM ARG-C.
           COMPUTE CURRENT-ARG-C = CURRENT-ARG-C + 1.

* パラメタの取り出しと設定
         PERFORM VARYING ARG-COUNT FROM 1 BY 1 UNTIL ARG-COUNT > C-ARG-C
                   IF ARG-COUNT = 1
                      MOVE APLI-NAME TO TMP-STRING-BUF
                   ELSE
                      ACCEPT TMP-STRING-BUF FROM ARG-V
                   END-IF

                   MOVE FUNCTION LENG (TMP-STRING-BUF) TO STRING-LENGTH
                   CALL "CORBA-STRING-SET" USING
                          C-ARG-V-VALUE (ARG-COUNT)
                          STRING-LENGTH
                          TMP-STRING-BUF
        END-PERFORM.
          SET C-ARG-V-VALUE (ARG-COUNT) TO NULL.

 CORBA-ORB-RESOLVE-INITIAL-REFERENCES関数によってクライアント固有のイニシャルサービスのオブジェクトリファレンスを獲得したい場合、“アプリケーション作成ガイド(CORBAサービス編)”の“ネーミングサービスのイニシャルリファレンスの獲得”にしたがってARG-C, ARG-Vに値を設定する必要があります。
 また、ORB-IDENTIFIERはORBを識別するための名前として、FJ-OM-ORBIDを指定します。

復帰値

 正常終了した場合は、ORBのオブジェクトリファレンスが設定されます。
 異常終了した場合は、ENV構造体のMAJORにはCORBA-SYSTEM-EXCEPTIONが設定され、IDとMINORに詳細情報が設定されます。

 IDとMINORの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

注意事項

 本関数は、1プロセスで2回以上呼び出さないでください。

備考

 形式中のn,mの意味は以下のとおりです。
 n: 起動パラメタの数
 m:プログラム名の長さ

 sharedサーバ、またはunsharedサーバの場合、サーバアプリケーションの起動パラメタ(OD_impl_instコマンドの-axオプションで指定する定義ファイル内のparamで定義される)は、C-ARG-Vに以下のORBの制御パラメタに続いて設定されます。

 第1パラメタ     "-ORB_FJ_PROC_ID"
 第2パラメタ     プロセス番号
 第3パラメタ     "-ORB_FJ_HOME_DIR"
 第4パラメタ     $OD_HOMEの設定値

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

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