COBOLでは、CORBAのデータ型を扱うために、以下の登録集を提供します。
文字定数用:CONST.cbl
SYMBOL IC CONSTANT用:SYMBOL-CONST.cbl
その他データ型:データ型名.cbl
データ型のCOBOLでの定義を以下に示します。
CORBAデータ型  | COBOLでの定義  | 備考  | |||
|---|---|---|---|---|---|
基本データ型  | 整数型  | long  | CORBA-LONG  | PIC S9(9) COMP-5.  | 
  | 
short  | CORBA-SHORT  | PIC S9(4) COMP-5.  | 
  | ||
unsigned long  | CORBA-UNSIGNED-LONG  | PIC 9(9) COMP-5.  | 
  | ||
unsigned short  | CORBA-UNSIGNED-SHORT  | PIC 9(4) COMP-5.  | 
  | ||
long long  | CORBA-LONG-LONG  | PIC S9(18) COMP-5.  | 
  | ||
浮動小数点型  | float  | CORBA-FLOAT  | COMP-1.  | 
  | |
double  | CORBA-DOUBLE  | COMP-2.  | 
  | ||
文字型  | char  | CORBA-CHAR  | PIC X(1).  | 
  | |
オクテッド  | octet  | CORBA-OCTET  | PIC 9(4) COMP-5.  | 
  | |
ブーリアン  | boolean  | CORBA-BOOLEAN  | PIC 9(9) COMP-5.  | 
  | |
文字列型  | string  | 
  | PIC X(n).  | “6.8.1 文字列型”参照  | |
wstring  | 
  | PIC N(n).  | “6.8.2 ワイド文字列型”参照  | ||
列挙型  | enum  | CORBA-ENUM  | PIC 9(9) COMP-5.  | 
  | |
any型  | any  | 
  | 集団項目  | “6.8.3 any型”参照  | |
シーケンス型  | sequence  | 
  | OCCURS句  | “6.8.4 シーケンス型”参照  | |
構造体  | struct  | 
  | 集団項目  | “6.8.5 構造体”参照  | |
共用体  | union  | 
  | REDEFINES文節  | “6.8.6 共用体”参照  | |
固定小数点型  | fixed  | 
  | PIC xx(n) PACKED-DECIMAL.  | “6.8.7 固定小数点型”参照  | |
配列  | array  | 
  | OCCURS句  | “6.8.8 配列”参照  | |
オブジェクトリファレンス  | Object  | CORBA-OBJECT  | USAGE POINTER  | 
  | |
タイプコード  | TypeCode  | CORBA-TYPECODE  | USAGE POINTER  | 
  | |
注意
整数型を扱う場合
CORBA-SHORT、CORBA-UNSIGNED-SHORTで扱う値は2バイトで管理されますが、そのまま表示すると4桁以上の値は表示されません。符号を含めて4桁以上の値を表示する場合は、いったんCORBA-LONGなどの変数に代入してから扱ってください。
また、5桁以上の値が代入されていると、コンパイル時に桁あふれの警告が表示されます。5桁以上の値を使用する場合は、CORBA-LONG型を使用してください。
同様に、CORBA-LONG、CORBA-UNSIGNED-LONGに対して9桁以上の値を代入する場合は、桁あふれになるので注意してください。
共用体の翻訳時の注意事項
共用体のメンバにデータの長さの異なるものが存在した場合、COBOL翻訳時に、JMN2232I-Wのメッセージが表示されます。
CORBAサービスでは、共用体のサンプルとしてlong型とstring型の長さの異なるサンプルを提供しています。このサンプルの翻訳時に、JMN2232I-Wのメッセージが出力されます。