| Interstage Application Server アプリケーション作成ガイド (CORBAサービス編) | 
			目次
			索引
			![]()  
		 | 
	
| 第7章 アプリケーションの開発(COBOL) | > 7.8 データ型に対するマッピング | 
クライアント/サーバアプリケーションでパラメタ受渡しに使用するデータ型を以下に示します。
| 
 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ポインタを設定することができません。
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.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.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.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.
			目次
			索引
			![]()  
		 |