形式
CORBAサービスでインタフェースリポジトリを使用するアプリケーションプログラムを作成する場合に必要な登録集について説明します。なお、インタフェースリポジトリが提供する関数のうち、継承によって利用できる関数用のREPLACE関数は、継承用登録集の原文(REPLACE.cbl)を参照してください。
CORBA-REPOSITORYID USAGE IS POINTER. * リポジトリID CORBA-IDENTIFIER USAGE IS POINTER. * 識別名 CORBA-VERSIONSPEC USAGE IS POINTER. * バージョン情報 CORBA-SCOPEDNAME USAGE IS POINTER. * スコープ名 * オブジェクト種別 CORBA-DEFINITIONKIND PIC 9(9) COMP-5. 88 CORBA-DK-NONE VALUE 0. 88 CORBA-DK-ALL VALUE 1. 88 CORBA-DK-ATTRIBUTE VALUE 2. 88 CORBA-DK-CONSTANT VALUE 3. 88 CORBA-DK-EXCEPTION VALUE 4. 88 CORBA-DK-INTERFACE VALUE 5. 88 CORBA-DK-MODULE VALUE 6. 88 CORBA-DK-OPERATION VALUE 7. 88 CORBA-DK-TYPEDEF VALUE 8. 88 CORBA-DK-ALIAS VALUE 9. 88 CORBA-DK-STRUCT VALUE 10. 88 CORBA-DK-UNION VALUE 11. 88 CORBA-DK-ENUM VALUE 12. 88 CORBA-DK-PRIMITIVE VALUE 13. 88 CORBA-DK-STRING VALUE 14. 88 CORBA-DK-SEQUENCE VALUE 15. 88 CORBA-DK-ARRAY VALUE 16. 88 CORBA-DK-REPOSITORY VALUE 17. 88 CORBA-DK-WSTRING VALUE 18. 88 CORBA-DK-FIXED VALUE 19. *IROBJECTオブジェクトリファレンス CORBA-IROBJECT USAGE IS POINTER. *CONTAINEDオブジェクトリファレンス CORBA-CONTAINED USAGE IS POINTER. *CONTAINERオブジェクトリファレンス CORBA-CONTAINER USAGE IS POINTER. *MODULEDEFオブジェクトリファレンス CORBA-MODULEDEF USAGE IS POINTER. *CONSTANTDEFオブジェクトリファレンス CORBA-CONSTANTDEF USAGE IS POINTER. *IDLTYPEオブジェクトリファレンス CORBA-IDLTYPE USAGE IS POINTER. *EXCEPTIONDEFオブジェクトリファレンス CORBA-EXCEPTIONDEF USAGE IS POINTER. *STRUCTDEFオブジェクトリファレンス CORBA-STRUCTDEF USAGE IS POINTER. *UNIONDEFオブジェクトリファレンス CORBA-UNIONDEF USAGE IS POINTER. *ENUMDEFオブジェクトリファレンス CORBA-ENUMDEF USAGE IS POINTER. *ALIASDEFオブジェクトリファレンス CORBA-ALIASDEF USAGE IS POINTER. *INTERFACEDEFオブジェクトリファレンス CORBA-INTERFACEDEF USAGE IS POINTER. *ATTRIBUTEDEFオブジェクトリファレンス CORBA-ATTRIBUTEDEF USAGE IS POINTER. *OPERATIONDEFオブジェクトリファレンス CORBA-OPERATIONDEF USAGE IS POINTER. *REPOSITORYオブジェクトリファレンス CORBA-REPOSITORY USAGE IS POINTER. *PRIMITIVEDEFオブジェクトリファレンス CORBA-PRIMITIVEDEF USAGE IS POINTER. *STRINGDEFオブジェクトリファレンス CORBA-STRINGDEF USAGE IS POINTER. *SEQUENCEDEFオブジェクトリファレンス CORBA-SEQUENCEDEF USAGE IS POINTER. *ARRAYDEFオブジェクトリファレンス CORBA-ARRAYDEF USAGE IS POINTER. *TYPEDEFDEFオブジェクトリファレンス CORBA-TYPEDEFDEF USAGE IS POINTER. *INTERFACEREPオブジェクトリファレンス CORBA-INTERFACEREP USAGE IS POINTER. *FIXEDDEFオブジェクトリファレンス CORBA-FIXEDDEF USAGE IS POINTER. * CONTAINEDオブジェクト情報 CORBA-CONTAINED-DESCRIPTION.
   02 KIND PIC 9(9) COMP-5.                     * オブジェクト種別
     88 CORBA-DK-NONE VALUE 0.
     88 CORBA-DK-ALL VALUE 1.
     88 CORBA-DK-ATTRIBUTE VALUE 2.
     88 CORBA-DK-CONSTANT VALUE 3.
     88 CORBA-DK-EXCEPTION VALUE 4.
     88 CORBA-DK-INTERFACE VALUE 5.
     88 CORBA-DK-MODULE VALUE 6.
     88 CORBA-DK-OPERATION VALUE 7.
     88 CORBA-DK-TYPEDEF VALUE 8.
     88 CORBA-DK-ALIAS VALUE 9.
     88 CORBA-DK-STRUCT VALUE 10.
     88 CORBA-DK-UNION VALUE 11.
     88 CORBA-DK-ENUM VALUE 12.
     88 CORBA-DK-PRIMITIVE VALUE 13.
     88 CORBA-DK-STRING VALUE 14.
     88 CORBA-DK-SEQUENCE VALUE 15.
     88 CORBA-DK-ARRAY VALUE 16.
     88 CORBA-DK-REPOSITORY VALUE 17.
   02 IDL-VALUE.                                * オブジェクト固有情報
     03 ANY-TYPE USAGE POINTER.
     03 ANY-VALUE USAGE POINTER.
* Contained オブジェクトリファレンスのシーケンス
 CORBA-CONTAINEDSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.
* CONTAINEDオブジェクト情報
 CORBA-CONTAINER-DESCRIPTION.
                                                * オブジェクトリファレンス
   02 CONTAINED-OBJECT USAGE IS POINTER.
   02 KIND PIC 9(9) COMP-5.                     * オブジェクト種別
     88 CORBA-DK-NONE VALUE 0.
     88 CORBA-DK-ALL VALUE 1.
     88 CORBA-DK-ATTRIBUTE VALUE 2.
     88 CORBA-DK-CONSTANT VALUE 3.
     88 CORBA-DK-EXCEPTION VALUE 4.
     88 CORBA-DK-INTERFACE VALUE 5.
     88 CORBA-DK-MODULE VALUE 6.
     88 CORBA-DK-OPERATION VALUE 7.
     88 CORBA-DK-TYPEDEF VALUE 8.
     88 CORBA-DK-ALIAS VALUE 9.
     88 CORBA-DK-STRUCT VALUE 10.
     88 CORBA-DK-UNION VALUE 11.
     88 CORBA-DK-ENUM VALUE 12.
     88 CORBA-DK-PRIMITIVE VALUE 13.
     88 CORBA-DK-STRING VALUE 14.
     88 CORBA-DK-SEQUENCE VALUE 15.
     88 CORBA-DK-ARRAY VALUE 16.
     88 CORBA-DK-REPOSITORY VALUE 17.
     88 CORBA-DK-WSTRING VALUE 18.
     88 CORBA-DK-FIXED VALUE 19.
   02 IDL-VALUE.                                * オブジェクト固有情報
     03 ANY-TYPE USAGE POINTER.
     03 ANY-VALUE USAGE POINTER.
* CONTAINER-DESCRIPTIONのシーケンス
 CORBA-CONTAINER-DESCRIPTIONSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.
* MODULEDEF情報 
 CORBA-MODULEDESCRIPTION.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-ID USAGE IS POINTER.          * リポジトリID
   02 DEFINED-IN USAGE IS POINTER.      * 親オブジェクトのリポジトリID
   02 VERSION USAGE IS POINTER.         * バージョン情報
* CONSTANTDEF情報
 CORBA-CONSTANTDESCRIPTION.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-ID USAGE IS POINTER.          * リポジトリID
   02 DEFINED-IN USAGE IS POINTER.      * 親オブジェクトのリポジトリID
   02 VERSION USAGE IS POINTER.         * バージョン情報
   02 IDL-TYPE  USAGE IS POINTER.       * タイプコード
   02 IDL-VALUE.                        * 定数値
      03 ANY-TYPE  USAGE POINTER.
      03 ANY-VALUE USAGE POINTER.
* TYPEDEF情報
 CORBA-TYPEDESCRIPTION.
   02 NAME USAGE IS POINTER.
   02 IDL-ID USAGE IS POINTER.
   02 DEFINED-IN USAGE IS POINTER.
   02 VERSION USAGE IS POINTER.
   02 IDL-TYPE USAGE IS POINTER..
* STRUCTMEMBER情報
 CORBA-STRUCTMEMBER.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-TYPE USAGE IS POINTER.        * タイプコード
   02 TYPE-DEF USAGE IS POINTER.        * メンバのオブジェクトリファレンス
* 構造体メンバのシーケンス
 CORBA-STRUCTMEMBERSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.
* UNIONMEMBER情報
 CORBA-UNIONMEMBER.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-LABEL.                        * 弁別値
      03 ANY-TYPE   USAGE POINTER.
      03 ANY-VALUE  USAGE POINTER.
   02 IDL-TYPE      USAGE POINTER.      * タイプコード
   02 TYPE-DEF      USAGE POINTER.      * メンバのオブジェクトリファレンス
* 共用体メンバのシーケンス
 CORBA-UNIONMEMBERSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.
* Enumメンバのシーケンス
 CORBA-ENUMMEMBERSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.
* PRIMITIVEの種別
 CORBA-PRIMITIVEKIND  PIC 9(9) COMP-5.
   88 CORBA-PK-NULL VALUE 0.
   88 CORBA-PK-VOID VALUE 1.
   88 CORBA-PK-SHORT VALUE 2.
   88 CORBA-PK-LONG VALUE 3.
   88 CORBA-PK-USHORT VALUE 4.
   88 CORBA-PK-ULONG VALUE 5.
   88 CORBA-PK-FLOAT VALUE 6.
   88 CORBA-PK-DOUBLE VALUE 7.
   88 CORBA-PK-BOOLEAN VALUE 8.
   88 CORBA-PK-CHAR VALUE 9.
   88 CORBA-PK-OCTET VALUE 10.
   88 CORBA-PK-ANY VALUE 11.
   88 CORBA-PK-TYPECODE VALUE 12.
   88 CORBA-PK-PRINCIPAL VALUE 13.
   88 CORBA-PK-STRING VALUE 14.
   88 CORBA-PK-OBJREF VALUE 15.
   88 CORBA-PK-LONGLONG VALUE 16.
   88 CORBA-PK-WCHAR VALUE 19.
   88 CORBA-PK-WSTRING VALUE 20.
* EXCEPTIONDEF情報
 CORBA-EXCEPTIONDESCRIPTION.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-ID USAGE IS POINTER.          * リポジトリID
   02 DEFINED-IN USAGE IS POINTER.      * 親オブジェクトのリポジトリ
   02 VERSION USAGE IS POINTER.         * バージョン情報
   02 IDL-TYPE USAGE IS POINTER.        * タイプコード
* ATTRIBUTEの属性種別
 CORBA-ATTRIBUTEMODE  PIC 9(9) COMP-5.
   88 CORBA-ATTR-NORMAL VALUE 0.
   88 CORBA-ATTR-READONLY VALUE 1.
* ATTRIBUTEDEF情報
 CORBA-ATTRIBUTEDESCRIPTION.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-ID USAGE IS POINTER.          * リポジトリID
   02 DEFINED-IN USAGE IS POINTER.      * 親オブジェクトのリポジトリID
   02 VERSION USAGE IS POINTER.         * バージョン情報
   02 IDL-TYPE USAGE IS POINTER.        * タイプコード
   02 IDL-MODE PIC 9(9) COMP-5.         * 属性種別
     88 CORBA-ATTR-NORMAL VALUE 0.
     88 CORBA-ATTR-READONLY VALUE 1.
* パラメタの属性種別
 CORBA-PARAMETERMODE  PIC 9(9) COMP-5.
   88 CORBA-PARAM-IN VALUE 0.
   88 CORBA-PARAM-OUT VALUE 1.
   88 CORBA-PARAM-INOUT VALUE 2.
* パラメタ情報
 CORBA-PARAMETERDESCRIPTION.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-TYPE USAGE IS POINTER.        * タイプコード
   02 TYPE-DEF USAGE IS POINTER.        * オブジェクトリファレンス
   02 IDL-MODE.PIC 9(9) COMP-5.         * 属性
     88 CORBA-PARAM-IN VALUE 0.
     88 CORBA-PARAM-OUT VALUE 1.
     88 CORBA-PARAM-INOUT VALUE 2.
* パラメタ情報のシーケンス
 CORBA-PARDESCRIPTIONSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.
* コンテキスト
 CORBA-CONTEXTIDENTIFIER USAGE IS POINTER.
* コンテキストのシーケンス
 CORBA-CONTEXTIDSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.
* EXCEPTIONDEFオブジェクトリファレンスのシーケンス
 CORBA-EXCEPTIONDEFSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.
* EXCEPTIONDEF情報のシーケンス
 CORBA-EXCDESCRIPTIONSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.
* OPERATIONの属性種別
 CORBA-OPERATIONMODE  PIC 9(9) COMP-5.
   88 CORBA-OP-NORMAL VALUE 0.
   88 CORBA-OP-ONEWAY VALUE 1.
 CORBA-OPERATIONDESCRIPTION.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-ID USAGE IS POINTER.          * リポジトリID
   02 DEFINED-IN USAGE IS POINTER.      * 親オブジェクトのリポジトリID
   02 VERSION USAGE IS POINTER.         * バージョン情報
   02 RESULT USAGE IS POINTER.          * 復帰値のタイプコード
   02 IDL-MODE   PIC 9(9) COMP-5.               * 属性
     88 CORBA-OP-NORMAL VALUE 0.
     88 CORBA-OP-ONEWAY VALUE 1.
   02 CONTEXTS.                         * コンテキスト
     03 SEQ-MAXIMUM PIC S9(9) COMP-5.
     03 SEQ-LENGTH PIC S9(9) COMP-5.
     03 SEQ-BUFFER USAGE IS POINTER.
   02 PARAMETERS.                       * パラメタ情報
     03 SEQ-MAXIMUM PIC S9(9) COMP-5.
     03 SEQ-LENGTH PIC S9(9) COMP-5.
     03 SEQ-BUFFER USAGE IS POINTER.
   02 EXCEPTIONS.                       * 例外情報
     03 SEQ-MAXIMUM PIC S9(9) COMP-5.
     03 SEQ-LENGTH PIC S9(9) COMP-5.
     03 SEQ-BUFFER USAGE IS POINTER.
 CORBA-INTERFACEDEFSEQ.               * INTERFACEDEFオブジェクトのシーケンス
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.
 CORBA-REPOSITORYIDSEQ.               * REPOSITORYIDのシーケンス
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.
 CORBA-OPDESCRIPTIONSEQ.              * OPERATIONDESCRIPTION情報クラスのシーケンス
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.
 CORBA-ATTRDESCRIPTIONSEQ.           * ATTRIBUTEDEF情報クラスのシーケンス
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.
 CORBA-INTERFACEDEF-FULLINTERFA.    * インタフェース情報クラス
   02 NAME USAGE IS POINTER.           * 識別名
   02 IDL-ID USAGE IS POINTER.          * リポジトリID
   02 DEFINED-IN USAGE IS POINTER.     * 親オブジェクトのリポジトリID
   02 VERSION USAGE IS POINTER.        * バージョン情報
   02 OPERATIONS.                       * オペレーション情報クラスのシーケンス
     03 SEQ-MAXIMUM PIC S9(9) COMP-5.
     03 SEQ-LENGTH PIC S9(9) COMP-5.
     03 SEQ-BUFFER USAGE IS POINTER.
   02 ATTRIBUTES.                       * アトリビュート情報クラスのシーケンス
     03 SEQ-MAXIMUM PIC S9(9) COMP-5.
     03 SEQ-LENGTH PIC S9(9) COMP-5.
     03 SEQ-BUFFER USAGE IS POINTER.
   02 BASE-INTERFACES.                  * 継承インタフェースの
                                        * REPOSITORYIDのシーケンス
     03 SEQ-MAXIMUM PIC S9(9) COMP-5.
     03 SEQ-LENGTH PIC S9(9) COMP-5.
     03 SEQ-BUFFER USAGE IS POINTER.
   02 IDL-TYPE USAGE IS POINTER.        * タイプコード
 CORBA-INTERFACEDESCRIPTION.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-ID USAGE IS POINTER.          * リポジトリID
   02 DEFINED-IN USAGE IS POINTER.      * 親オブジェクトのリポジトリID
   02 VERSION USAGE IS POINTER.         * バージョン情報
   02 BASE-INTERFACES.                  * 継承インタフェースの
                                        * REPOSITORYIDのシーケンス
     03 SEQ-MAXIMUM PIC S9(9) COMP-5.
     03 SEQ-LENGTH PIC S9(9) COMP-5.
     03 SEQ-BUFFER USAGE IS POINTER.