• 検索結果がありません。

進数 : Trailing separate sign

ドキュメント内 diuser.book (ページ 148-175)

65000 は

ゾーン 10 進数 : Trailing separate sign

符号 イ ン ジ ケータ が最終バ イ ト に 含まれ る 符号付き の

IBM

ゾーン

10

進数形式。 最終バ イ ト には符号 イ ン ジ ケー タ のみが含まれ、 数値 と 分離 さ れ る。 長 さ 、 長 さ フ ィ ール ド、 区切 り 記号、 ま たは区切 り 記 号フ ィ ール ドを指定す る必要があ る。 長 さ ま たは長 さ フ ィ ール ドに は、 こ の フ ィ ール ドのサ イ ズ をバ

イ ト 数で指定する 。

ゾーン

10

進数

:

符号な し 符号な し の

IBM

ゾーン

10

進数形 式。 長 さ 、 長 さ フ ィ ール ド 、 区切 り 記号、 ま たは区切 り 記号フ ィ ー ル ドを指定す る必要があ る 。 長 さ ま たは長 さ フ ィ ール ド には、 こ の フ ィ ール ドのサ イ ズ をバ イ ト 数で 指定する 。

表 A-1 サポー ト される MFL データ型 (続き)

デー タ型 説明 例

A-2 COBOL

のデー タ型

COBOL の型

サポー ト の有無

BLANK WHEN ZERO (

ゾーン

10

進数

)

サポー ト する

COMP-1

COMP-2 (

浮動小数点

)

サポー ト する

COMP-3

、 パ ッ ク

10

進数 サポー ト する

COBOL Copybook Importer

デー タ 型

COMP

COMP-4

、 バ イ ナ リ (整数) サポー ト する

COMP

COMP-4

、 バ イ ナ リ (固定長) サポー ト する

COMP-5

COMP-X

サポー ト する

DISPLAY (

英数字

)

サポー ト する

DISPLAY

数値 (ゾーン

10

進数) サポー ト する

編集済み英数字 サポー ト する

編集済み浮動小数点数値 サポー ト する

編集済み数値 サポー ト する

グループレ コー ドサポー ト する

INDEX

サポー ト する

JUSTIFIED RIGHT

無視 さ れ る

OCCURS (

固定配列

)

サポー ト する

OCCURS DEPENDING (

可変長

)

サポー ト する

OCCURS INDEXED BY

無視 さ れ る

OCCURS KEY IS

無視 さ れ る

POINTER

サポー ト する

PROCEDURE-POINTER

サポー ト する

REDEFINES

サポー ト する

SIGN IS LEADING SEPARATE (

ゾーン

10

進数

)

サポー ト する

SIGN IS TRAILING (

ゾーン

10

進数

)

サポー ト する

SIGN IS TRAILING SEPARATE (

ゾーン

10

進数

)

サポー ト する

SIGN IS LEADING (

ゾーン

10

進数

)

サポー ト する

表 A-2 COBOL のデー タ型 (続き)

COBOL

の型 サポー ト の有無

こ れ ら のデータ型のサポー ト は、 限定さ れています。 次のいずれかのフ ォーマ ッ ト で提供さ れたデータは、 符号な し 4 バイ ト 整数型にコ ンバー ト さ れます。

05 pic 9(5) comp-5 05 pic 9(5) comp-x

次のフ ォーマ ッ ト で提供 さ れるデータはエ ラーを発生さ せます。

05 pic X(5) comp-5 05 pic X(5) comp-x

上記のサンプルでは、pic9(5)pic x(5)の代わ り に使用で き ます。

次の表に、 こ れ ら のデータ型サポー ト についての 3 つのレベルを定義し ます。

SYNCHRONIZED

無視 さ れ る

66 RENAMES

無視 さ れ る

66 RENAMES THRU

無視 さ れ る

77

レベル サポー ト する

88

レベル

(

条件付き

)

無視 さ れ る

A-3

デー タ型サポー ト のレベル サポー ト の

レベル 定義

サポー ト する こ のデータ 型は

Importer

に よ っ て正 し く 解析 さ れ、 メ ッ セージ フ ォーマ ッ ト フ ィ ール ドま たはグループに コ ンバー ト さ れ る 。 サポー ト し ない こ のデータ 型はサポー ト さ れず、

Importer

に よ っ て コ ピーブ ッ

ク の イ ン ポー ト 時にエ ラ ーが報告 さ れ る。

無視 さ れ る こ のデータ 型は解析 さ れ、 メ ッ セージフ ォーマ ッ ト に コ メ ン ト が追加 さ れ る。 対応する フ ィ ール ド やグループは作成 さ れない。

表 A-2 COBOL のデー タ型 (続き)

COBOL

の型 サポー ト の有無

メ タ デー タ の イ ン ポー ト か らの

C Structure Importer

ベンダ固有の一部の拡張子は、 Importer で認識さ れません。 ただ し 、 ANSI 標準

COBOL

に準拠する コ ピーブ ッ ク ス テー ト メ ン ト は正し く 解析さ れます。 IBM の メ イ ン フ レーム モデルを基に し た Importer のデフ ォル ト データ モデルを

Format Builder

で変更する こ と で、 文字セ ッ ト やデータ のエンデ ィ アン特性を補 正でき ます。

こ れ ら のフ ィ ール ド は特定のデータ型 と し て 容易に識別でき ますが、 コ ピーブ ッ ク を イ ンポー ト する際、 Importer が こ れ ら のフ ィ ール ド を一般的に識別する こ と があ り ます。 こ のためにコ ピーブ ッ ク の Importer は、 コ ピーブ ッ ク 内の各 フ ィ ール ド に対し てコ メ ン ト を作成し ます。 MFL データ を編集する際、 こ の情 報は有用で、 元の コ ピーブ ッ ク のフ ォーマ ッ ト の改善に役立ち ます。 た と えば、

元の コ ピーブ ッ ク に次のエン ト リ があ る と し ます。

05 birth-date picxx/xx/xx

コ ピーブ ッ ク が イ ンポー ト さ れた後、 こ のエン ト リ は、 8 バ イ ト 長の EBCDIC型 のフ ィ ール ド に表示 さ れます。 よ く 調べる と 、 こ のエン ト リ が、 次のいずれかの 方法でフ ォーマ ッ ト で き る日付であ る こ と がわか り ます。

MM/DD/YY DD/MM/YY

メ タデータのイ ンポー ト からの C Structure Importer

C Structure Importer

では、 匿名ユニオン、 ビ ッ ト フ ィ ール ド 、 ま たはイ ン ラ イ ン アセンブ ラ コー ド を含むフ ァ イ ルは解析 さ れません。 以下のサポー ト さ れない 構造体のサンプルは #include <windows.h>ス テー ト メ ン ト を含む hello.c フ ァ イ ルのプ リ プ ロセ ッ サ出力か ら の ものです。

匿名ユニオン

#line 353 “e:\\program files\\microsoft visual studio\\vc98\\include\\winnt.h”

typedef union_LARGE_INTEGER{

struct {

DWORD LowPart;

LONG HighPart;

};

struct {

DWORD LowPart;

LONG HighPart;

} u;

#line 363 “e:\\program files\\microsoft visual studio\\vc98\\include\\winnt.h”

LONGLONG QuadPart;

} LARGE_INTEGER ビ ッ ト フ ィ ール ド

typedef struct_LDT_ENTRY { WORD LimitLow;

WORD BaseLow;

union { struct {

BYTE BaseMid;

BYTE Flags1;

BYTE Flags2;

BYTE BaseHi;

} Bytes;

struct

DWORD BaseMid : 8;

DWORD Type : 5;

DWORD Dpl : 2;

DWORD Pres : 1;

DWORD LimitHi : 4;

DWORD Sys : 1;

DWORD Reserved_0 : 1;

DWORD Default_Big : 1;

DWORD Granularity : 1;

DWORD BaseHi : 8;

} Bits;

} HighWord;

} LDT_ENTRY, *PLDT_ENTRY;

イ ン ラ イ ン アセンブ ラ コー ド _inline ULONGLONG

_stdcall

Int64ShrlMod32(

ULONGLONG Value, DWORD ShiftCount )

{

_asm {

mov ecx, ShiftCount

mov eax, dword ptr [Value]

mov edx, dword ptr [Value+4]

shrd eax, edx, cl shr edx, cl

メ タ デー タ の イ ン ポー ト か らの

C Structure Importer

} }

B カス タム デー タ型の作成

WebLogic Integration

は、 データ統合を行 う 際、 XML に基づ く MFL (Message

Format Language :

メ ッ セージ フ ォーマ ッ ト 言語 ) と 呼ばれ る メ タデータ言語を 使用し て、 バ イナ リ データの構造について記述し ます。 Format Builder は メ タ データ をデータ フ ァ イル と し て 、 すなわち MFL ド キ ュ メ ン ト と し て 作成し、 リ ポジ ト リ 内に維持し ます。

MFL

では、 以下の メ タデータに よ り バ イナ リ フ ィ ール ド が記述さ れます。

データ型

長さ / 区切 り 記号

省略可能 / 必須

デフ ォル ト 値

コー ド ページ エン コーデ ィ ング

こ の情報の う ち、 データ型が最 も重要です。 選択 さ れたデータ型に よ り 、 有効な メ タデータ属性 と その解釈方法が決ま り ます。

WebLogic Integration

の Data Integration コ ンポーネン ト には、 自分だけに必要な カ ス タ ム データ型を作成でき る ユーザ定義型機能が含まれます。 ユーザ定義型 機能に よ り 、 こ れ ら のカ ス タ ム データ型をデータ変換実行時エンジンにプ ラ グ イ ンで き ます。 いっ たんプ ラ グ イ ン さ れたユーザ定義のデータ型は、 特徴や機能 の面で組み込みデータ型 と 区別で き ません。

以下の各節では、 ユーザ定義型の使用法について説明し ます。

ユーザ定義型のサンプル

ユーザ定義型の登録

ユーザ定義型の作成

Data Integration

プ ラ グ イ ン用ユーザ定義型の コ ン フ ィ グ レーシ ョ ン

ユーザ定義型コーデ ィ ン グ要件

com.bea.wlxt.mfl.MFLField

ク ラ ス

ユーザ定義型のサンプル

次の表では、 ユーザ定義型を使用し てイ ン ス ト ール さ れたサンプル フ ァ イルに ついて説明し ます。 すべてのデ ィ レ ク ト リ 名は、 WebLogic Integration サンプル デ ィ レ ク ト リ (SAMPLES_HOME\integration) か ら の相対パスで示し ます。 こ

こ で、SAMPLES_HOME

は、 WebLogic Platform を イ ン ス ト ール し た位置にあ るサ

ンプル デ ィ レ ク ト リ を示し ます。

B-1

ユーザ定義型のサンプル

デ ィ レ ク ト リ フ ァ イル 説明

samples\di\userdef CapString.java 文字列を大文字に変換する ユーザデータ 型の ソ ース samples\di\userdef Dddmmyy.java 欧州の日付書式をサポー ト す

る ユーザ定義型の ソース samples\di\userdef Makefile サンプルソ ース を ビル ド す る

ための メ イ ク フ ァ イ ル samples\di\userdef ParseUserDef.java サンプルユーザ定義型の イ ン

ス ト ール と 実行時エン ジ ンで の使用を示す ソース

samples\di\userdef readme.txt サンプルを コ ンパ イ ル し て実 行す る方法に関す る説明 samples\di\userdef sample.data ParseUserDataサ ンプ ルの

デー タ

samples\di\userdef sample.mfl ParseUserDataサ ンプ ルに 関す る メ ッ セージフ ォーマ ッ

ト 言語 (

MFL

) フ ァ イル

ユーザ定義型の登録

ユーザ定義型の登録

新し いユーザ定義型を登録する手順は次の と お り です。

1. [

ス ター ト |プロ グ ラ ム| BEA WebLogic Platform 7.0 | WebLogic

Integration 7.0

| Format Builder] を選択し て Format Builder を呼び出し ます。

Format Builder の メ イ ン ウ ィ ン ド ウ が表示さ れます。

2. [Tools

| User Defined Types] を選択し ます。 [Add/Remove User Defined

Types]

ダ イ ア ロ グ ボ ッ ク スが表示 さ れます。

B-1 [Add/Remove User Defined Types]

ダイ アログ ボ ッ ク ス

3. [Class Name] フ ィ ール ド に、 指定し た型を実装する ク ラ スの ク ラ ス名を入力

し ます。

注意

:

入力する ク ラ ス名には、 必ずモジ ュールの定義にあ るパ ッ ケージ名が 含まれます。 ま た、 命名さ れた ク ラ スは、 Format Builder の

CLASSPATHに存在する必要があ り ます。 WebLogic Integration に よ り

Format Builder

が イ ン ス ト ール さ れる と 、 特にユーザ定義型を格納す る ための WLI_HOME/extデ ィ レ ク ト リ が作成 さ れます。 こ こ で、

WLI_HOMEデ ィ レ ク ト リ は、 WebLogic Integration が イ ン ス ト ール さ れ て い るデ ィ レ ク ト リ です。

4. [View]

を ク リ ッ ク し ます。 指定 さ れた ク ラ スに関する情報が、 次の よ う に複 数の表示専用フ ィ ール ド に取 り 込まれます。

B-2 [Add/Remove User Defined Types]

ダイアログボ ッ ク ス

[Type Name ] -

getTypeName()

への呼び出し に よ っ て返 さ れる。

[Display Name] - リ テ ラ ル

User Defined:

でプレ フ ィ ッ ク ス さ れた

getDisplayName()の戻 り 値。

[Description] -

getDescriptionText()

に よ っ て戻さ れる。

指定さ れた ク ラ スが ロー ド で き ない場合、 あ る いはユーザ定義型の要件に準 拠し ない場合には、 エ ラー メ ッ セージが表示さ れます。 [OK] を ク リ ッ ク し

[Add/Remove User Defined Types]

ダ イ ア ロ グ ボ ッ ク スに戻 り ます。

ユーザ定義型の作成 ユーザ定義型で使用で き る必須の イ ン タ フ ェース メ ソ ッ ド と 省略可能な イ ン タ フ ェース メ ソ ッ ド、 およびユーテ ィ リ テ ィ メ ソ ッ ド の一覧については、

「ユーザ定義型コーデ ィ ング要件」 を参照し て く だ さ い。

5.

有効なユーザ定義型が表示 さ れた ら、 [Add] を ク リ ッ ク し て Format Builder 内で使用で き る よ う に し ます。

新し いデータ型を定義する と 、 フ ィ ール ド の詳細ウ ィ ン ド ウ の [Type] ド ロ ッ プ ダウ ン リ ス ト に新し い表示名が表れます。 [Type] ド ロ ッ プダウ ン リ ス ト ボ ッ ク スに表示さ れる ユーザ定義型にはすべて、 [DisplayName] テキ ス ト フ ィ ール ド と 同じ よ う に [User Defined] のプレ フ ィ ッ ク スが付き ます。

Format Builder

は、 ユーザ定義型で示 さ れる正確な型を認識で き ないので、 XML 出力の コ ンテン ツ モデルの記述のために生成 さ れる XML ス キーマでは、

xsd::string型を使用し てユーザ定義型を表し ます。

こ のデータ型を使用する こ と は、 Format Tester に も影響を及ぼ し ます。 ユーザ 定義型を含む MFL ド キ ュ メ ン ト に対するデータ を生成する場合、 文字列データ が対応する フ ィ ール ド に対し て生成さ れます。 生成さ れたデータは、 ユーザ定義 型に応じ て解析で き る よ う に調整する必要があ り ます。

ユーザ定義型の作成

データ変換エンジンへの イ ン タ フ ェースは Java プロ グ ラ ムに よ っ て呼び出さ れ る API です。 プ ロセ ス エンジンの新し いユーザ定義型の作成は、

com.bea.wlxt.WLXT ク ラ スの静的 メ ソ ッ ド に よ っ て 実行さ れます。

データ変換エンジンでのユーザ定義型の イ ン ス ト ールは永続的ではあ り ません。

現在の JVM プ ロ セ スが終了する と 、 ユーザ定義型の コ ン フ ィ グ レーシ ョ ン情報 は破棄さ れます。 そのため、 ス タ ン ド ア ロ ン エンジン を使用する ク ラ イ アン ト では、 各プ ロ グ ラ ムの開始時にユーザ定義型をすべてイ ン ス ト ールする必要があ

り ます。

ユーザ定義型には、 以下のパブ リ ッ ク 機能が定義 さ れています。

public static void addNewDataType(String name, Bintype binType)

name

は、 MFL におけ る新し いデータ型の名前を指定する。

binTypeは、 新し いユーザ定義型オブジ ェ ク ト を参照する。

ドキュメント内 diuser.book (ページ 148-175)

関連したドキュメント