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