BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Integration > DI トピック > WebLogic Integration データの変換 > サポートされるデータ型 |
WebLogic Integration データの変換
|
サポートされるデータ型
WebLogic Integration は、次のデータ型をサポートします。
この節では、これらのデータ型について説明します。
MFL のデータ型
表 A-1 では WebLogic Integration によってサポートされる MFL データ型を一覧で表記しています。これらの型は、FieldFormat 要素のtype属性に指定されます。
COBOL Copybook Importer データ型
COBOL データ型と Importer によるサポートの有無を次の表で示します。
これらのデータ型のサポートは、限定されています。次のいずれかのフォーマットで提供されたデータは、符号なし 4 バイト整数型にコンバートされます。
次のフォーマットで提供されるデータはエラーを発生させます。
上記のサンプルでは、pic9(5) を pic x(5) の代わりに使用できます。
次の表に、これらのデータ型サポートについての 3 つのレベルを定義します。
ベンダ固有の一部の拡張子は、Importer で認識されません。ただし、ANSI 標準 COBOL に準拠するコピーブック ステートメントは正しく解析されます。IBM のメインフレーム モデルを基にした Importer のデフォルト データ モデルを Format Builder で変更することで、文字セットやデータのエンディアン特性を補正できます。
これらのフィールドは特定のデータ型として容易に識別できますが、コピーブックをインポートする際、Importer がこれらのフィールドを一般的に識別することがあります。このためにコピーブックの Importer は、コピーブック内の各フィールドに対してコメントを作成します。MFL データを編集する際、この情報は有用で、元のコピーブックのフォーマットの改善に役立ちます。たとえば、元のコピーブックに次のエントリがあるとします。
05 birth-date picxx/xx/xx
コピーブックがインポートされた後、このエントリは、8 バイト長の EBCDIC 型のフィールドに表示されます。よく調べると、このエントリが、次のいずれかの方法でフォーマットできる日付であることがわかります。
メタデータのインポートからの 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
}
}
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |