クライアント/サーバアプリケーションでパラメタ受渡しに使用するデータ型を以下に示します。
CORBAデータ型  | in  | out  | inout  | 復帰値  | |
|---|---|---|---|---|---|
long  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | |
short  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | |
unsigned long  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | |
unsigned short  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | |
long long  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | |
float  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | |
double  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | |
char  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | |
wchar  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | |
octet  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | |
boolean  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | |
enum  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | |
string  | bound  | TEXT  | TEXT  | TEXT  | TEXT  | 
unbound  | STRING  | STRING  | STRING  | STRING  | |
wstring  | bound  | TEXT  | TEXT  | TEXT  | TEXT  | 
unbound  | STRING  | STRING  | STRING  | STRING  | |
any  | BY REFERENCE  | POINTER  | POINTER  | POINTER  | |
sequence  | BY REFERENCE  | POINTER  | POINTER  | POINTER  | |
struct  | 固定長  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | 
可変長  | BY REFERENCE  | POINTER  | POINTER  | POINTER  | |
union  | 固定長  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | 
可変長  | BY REFERENCE  | POINTER  | POINTER  | POINTER  | |
array(配列)  | 固定長  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | BY REFERENCE  | 
可変長  | BY REFERENCE  | POINTER  | POINTER  | POINTER  | |
Object  | BY REFERENCE  | POINTER  | POINTER  | POINTER  | |
TypeCode  | BY REFERENCE  | POINTER  | POINTER  | POINTER  | |
注)POINTERは、POINTERがBY REFERENCEで渡されます。
    TEXTは、COBOLの固定長テキストでNULL文字を含みません。
    STRINGは、NULLで終わる可変長文字列のポインタです。
注意
サーバアプリケーションでのout/inoutパラメタ、復帰値、およびクライアントアプリケーションでのin/inoutパラメタでは、文字列型、シーケンス型、構造体、共用体、配列データ型でNULLポインタを設定できません。
固定長sequenceの場合、lengthにmaximumを超える値を設定した場合、システム例外が通知されます。また、固定長のsequenceの変数は以下のようにマッピングされます。
IDLファイル
module mod {
    typedef sequence<long,10> seq_fix; 
};COBOL
   DATA DIVISION.
   WORKING-STORAGE SECTION.
     01 MOD-SEQ-FIX.
        02 COPY LONG IN CORBA REPLACING CORBA-LONG BY SEQ-MAXIMUM.
        02 COPY LONG IN CORBA REPLACING CORBA-LONG BY SEQ-LENGTH.
        02 SEQ-BUFFER USAGE IS POINTER.
        02 FILLER OCCURS 10.
           03 COPY LONG IN CORBA REPLACING CORBA-LONG BY SEQ-VALUE.可変長sequenceの場合、sequenceの変数は以下のようにマッピングされます。各要素にアクセスする場合、CORBA-SEQUENCE-ELEMENT-SET関数/CORBA-SEQUENCE-ELEMENT-GET関数を使用します。
IDLファイル
module mod {
    typedef sequence<long> seq_val;
};COBOL
   DATA DIVISION.
   WORKING-STORAGE SECTION.
     01 MOD-SEQ-VAL.
        02 COPY LONG IN CORBA REPLACING CORBA-LONG BY SEQ-MAXIMUM.
        02 COPY LONG IN CORBA REPLACING CORBA-LONG BY SEQ-LENGTH.
        02 SEQ-BUFFER USAGE IS POINTER.arrayの場合、arrayの各要素は以下のようにマッピングされます。
IDLファイル
module mod {
    typedef long S_array[2][3][4];
};COBOL
   DATA DIVISION.
   WORKING-STORAGE SECTION.
     01 MOD-S-ARRAY.
        02 FILLER OCCURS 2.
           03 FILLER OCCURS 3.
              04 FILLER OCCURS 4.
                 05 COPY LONG IN CORBA REPLACING CORBA-LONG BY MOD-S-ARRAY-V.arrayの場合、例外処理は以下のようにマッピングされます。
IDLファイル
module mod {
    exception foo {
        long ex_val;
    };
};COBOL
   DATA DIVISION.
   WORKING-STORAGE SECTION.
     01 EX-MOD-FOO PIC X(15) VALUE "IDL:mod/foo:1.0".
     01 MOD-FOO.
        02 COPY LONG IN CORBA REPLACING CORBA-LONG BY EX-VAL.floatは、以下の構文で対応します。
[USAGE IS] [COMP-1] : 4 Byte
doubleは、以下の構文で対応します。
[USAGE IS] [COMP-2] : 8 Byte
constは、以下の構文で対応します。
OMG仕様
>> CONSTANT constant-name IS literal
COBOL仕様
SYMBOLIC CONSTANT
    { 記号定数-1 IS定数-1 }typedefは、以下の構文で対応します(基本型のみ)。
CORBA登録集として以下の定義を用意します(longの場合)。
long-type usage(local long type)/
ユーザは、COPY句でtypedefを使用します。
    WORKING STORAGE SECTION.
        :
    01 COPY LONG IN CORBA
        REPLACING long-type WITH ws--long-1
    01 COPY LONG IN CORBA
        REPLACING long-type WITH ws--long-2構造体などのtypedefは、COBOLで未サポートのため、使用できません。