ページの先頭行へ戻る
Interstage Business Application Server アプリケーション開発ガイド
FUJITSU Software

9.2.6 クライアントアプリケーションで利用するデータについて

クライアントアプリケーションでは、以下のデータが利用できます。

ポイント

beanとMapとIndexedRecordでは、以下の違いがあります。MappedRecordの特性はMapと同様です。

データの種類

Bean

Map

IndexedRecord

変換処理

アプリケーション連携実行基盤で変換する必要がないため、処理効率は高くなります。

アプリケーション連携実行基盤で変換処理が実行されます。

アプリケーション連携実行基盤で変換処理が実行されます。

拡張性

サーバアプリケーションのパラメタに変更があった場合に、再作成が必要です。

サーバアプリケーションのパラメタに依存しないため、パラメタの増減に柔軟に対応できます。

サーバアプリケーションのパラメタに変更があった場合に、再作成が必要です。

プログラム記述

サーバアプリケーションのパラメタに合ったメソッドや型となるため、記述性が高くなります。

サーバアプリケーションのパラメタ名を文字列で指定、参照時にキャストが必要など、記述性が低くなります。

サーバアプリケーションのパラメタに合ったメソッドや型となるため、記述性が高くなります。

安全性

サーバアプリケーションのパラメタに対応したメソッドを利用するため、パラメタ名の誤りはコンパイル時にチェックされます。

サーバアプリケーションのパラメタ名の誤りや設定内容などをチェックすることはできません。

サーバアプリケーションのパラメタ名の誤りや設定内容などをチェックすることはできません。

以降では、クライアントアプリケーションで用いるデータ型について説明します。

利用可能なデータ型

JavaクライアントAPIへ指定するサーバアプリケーションのデータは、beanの場合とMapの場合で異なります。IndexedRecordの場合はMapの場合とclass(構造体/集団項目)以外に同様です。以下にbeanの場合とMap、IndexedRecordの場合にそれぞれ指定可能なデータ型を示します。MappedRecordで利用可能な型はMapと同様です。

データ型識別

クライアントアプリケーションで利用可能な型

概要

詳細

beanの場合

Map、IndexedRecordの場合

整数型

8ビット符号付整数

byte

java.lang.Byte

16ビット符号付整数

short

java.lang.Short

32ビット符号付整数

int

java.lang.Integer

64ビット符号付整数

long

java.lang.Long

非整数型

32ビット符号付浮動小数

float

java.lang.Float

64ビット符号付浮動小数

double

java.lang.Double

真偽値

boolean

java.lang.Boolean

文字列

java.lang.String

java.lang.String

class(構造体/集団項目)

class(注1)

java.util.Map(Mapの場合)

IndexedRecord (IndexedRecordの場合)(注8)

配列(注2)(注3)(注4)

XXX[](注5)

XXX[](注6)

バイナリ(注7)

byte[]

byte[]

注1)classは、bean生成ツールまたはCOBOL開発支援ツールで生成されたクラスに限ります。
注2)バイナリの配列は使用できません。
注3)利用可能な最大次元数は5次元まで、設定可能な要素数は1~65535までです。多次元配列の各次元における配列要素数が異なる配列は指定できません。
注4)java.lang.Stringの配列以外で要素にnullを指定することはできません。
注5)配列は、「beanの場合」で示すデータ型に限ります。
注6)配列は、「Mapの場合」で示すデータ型に限ります。
注7)バイナリは、byte[]で表します。
注8)Mapの場合とIndexedRecordの場合、それぞれ混在して設定することができません。
備考.XXXには表で記載しているJavaデータ型が入ります。

データ型とアプリケーションの初期値

クライアントで扱うデータの初期値は、Javaの仕様により設定されます。クライアントでデータが設定されなかった場合、サーバアプリケーションへ渡される値(初期値)は、以下のようになります。MappedRecordの場合はMapと同様です。IndexedRecordの場合、初期値が設定されないため、必ず値を設定してください。

表9.1 データ型と引数に設定される初期値(C言語)

クライアントのデータ型

サーバで設定される初期値

beanの場合

Mapの場合

データ型

初期値

java.lang.String

java.lang.String

char *
unsigned short*

NULL
NULL

Byte

java.lang.Byte

unsigned char

0

Short

java.lang.Short

short

0

Int

java.lang.Integer

int

0

Long

java.lang.Long

long long

0

Float

java.lang.Float

float

0.0

Double

java.lang.Double

double

0.0

boolean

java.lang.Boolean

unsigned char

0

配列型

配列型

配列型

NULL

byte[]

byte[]

バイナリ

NULL

bean

java.util.Map

構造体

NULL

表9.2 データ型と引数に設定される初期値(COBOL)

クライアントのデータ型

サーバで設定される初期値

beanの場合

Mapの場合

データ型

初期値

未設定データの判定処理(なし)

未設定データの判定処理(あり)

未設定データの初期化(ON)

未設定データの初期化(OFF)

java.lang.String
(注)

java.lang.String

PIC X(n).
PIC N(n).

不定
不定

n個の半角空白
n個の全角空白

INVALID_MARKER
INVALID_MARKER

PIC S9(1~18)
PIC 9(1~18)
PIC S9(1~18) COMP-3
PIC 9(1~18) COMP-3
PIC S9(1~18) COMP
PIC 9(1~18) COMP
PIC S9(1~18) COMP-5
PIC 9(1~18) COMP-5

+000000000 (S9(9)のとき)
000000000 (9(9)のとき)
+000000000 (S9(9)のとき)
000000000 (9(9)のとき)
+000000000 (S9(9)のとき)
000000000 (9(9)のとき)
+000000000 (S9(9)のとき)
000000000 (9(9)のとき)

小数点付き数字データ

00000 (9(4)V9(1)のとき)

byte

java.lang.Byte

使用不可

short

java.lang.Short

PIC S9(1~4) COMP
PIC S9(1~4) COMP-5

+0 (S9(1)のとき)
+0 (S9(1)のとき)

int

java.lang.Integer

PIC S9(5~9) COMP
PIC S9(5~9) COMP-5

+00000 (S9(5)のとき)
+00000 (S9(5)のとき)

long

java.lang.Long

PIC S9(10~18) COMP
PIC S9(10~18) COMP-5

+0000000000 (S9(10)のとき)
+0000000000 (S9(10)のとき)

float

java.lang.Float

COMP-1

.00000000E 00

double

java.lang.Double

COMP-2

.00000000000000000E 00

boolean

java.lang.Boolean

使用不可

配列型

配列型

OCCURS句付きの項目

不定

従属するデータ項目の初期値

INVALID_MARKER

byte[]

byte[]

バイナリ

不定

長さゼロ

INVALID_MARKER

bean

java.util.Map

集団項目

不定

集団項目の初期値

INVALID_MARKER

注)数字項目をjava.lang.Stringとして利用する場合は、COBOL実行基盤インタフェースの生成時に、COBOL実行基盤インタフェースの形式として2進項目整数データをString型にマッピングするよう指定する必要があります。COBOL実行基盤インタフェースの形式の指定方法については、“14.4.5.3 COBOL実行基盤インタフェースを生成するアプリケーション情報の追加”の“■オプション情報”を参照してください。