ページの先頭行へ戻る
Interstage Application Server リファレンスマニュアル(API編)

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の設定値