ナビゲーションをスキップ

Format Builder

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

サポート対象のデータ型

この節では、以下のトピックを扱います。

 


MFL のデータ型

表 A-1 は、データ トランスフォーマでサポートされている MFL のデータ型を示します。これらのデータ型は FieldFormat 要素の "type" 属性で指定します。


 

表 A-1 サポート対象の MFL のデータ型

データ型

説明

Binary (Base64 encoding)

任意の文字の値を入力できる。長さ、長さフィールド、区切り記号、または区切り記号フィールドが必要。このフィールドの変換後の XML データは base-64 でエンコードされている。

Binary (Hex encoding)

任意の文字の値を入力できる。長さ、長さフィールド、区切り記号、または区切り記号フィールドが必要。このフィールドの変換後の XML データは base-16 でエンコードされている。

Date: DD-MMM-YY

日付を定義する文字列 (例 : 22-JAN-00)。

Date: DD-MMM-YYYY

日付を定義する文字列 (例 : 22-JAN-2000)。

Date: DD/MM/YY

日付を定義する文字列 (例 : 22/01/00)。

Date: DD/MM/YYYY

日付を定義する文字列 (例 : 22/01/2000)。

Date: DDMMMYY

日付を定義する文字列 (例 : 22JAN00)。

Date: DDMMMYYYY

日付を定義する文字列 (例 : 22JAN2000)。

Date: MM/DD/YY

日付を定義する文字列 (例 : 01/22/00)。

Date: MM/DD/YYYY

日付を定義する文字列 (例 : 01/22/2000)。

Date: MMDDYY

日付を定義する 6 桁の数字列 (例 : 012200)。

Date: MMDDYYYY

日付を定義する 8 桁の数字列 (例 : 01222000)。

Date: MMM-YY

日付を定義する文字列 (例 : JAN-00)。

Date: MMM-YYYY

日付を定義する文字列 (例 : JAN-2000)。

Date: MMMDDYYYY

日付を定義する文字列 (例 : JAN222000)。

Date: MMMYY

日付を定義する文字列 (例 : JAN00)。

Date: MMMYYYY

日付を定義する文字列 (例 : JAN2000)。

Date: Wed Nov 15 10:55:37 CST 2000

Java プラットフォームのデフォルトの日付フォーマット (例 : 'WED NOV 15 10:55:37 CST 2000')。

Date: YY-MM-DD

日付を定義する文字列 (例 : 00-01-22。この文字列で定義される日付は 2000 年 1 月 22 日)。

Date: YY/MM/DD

日付を定義する文字列 (例 : 00/01/22。この文字列で定義される日付は 2000 年 1 月 22 日)。

Date: YYMMDD

日付を定義する文字列 (例 : 000122。この文字列で定義される日付は 2000 年 1 月 22 日)。

Date: YYYY-MM-DD

日付を定義する文字列 (例 : 2000-01-22。この文字列で定義される日付は 2000 年 1 月 22 日)。

Date: YYYY/MM/DD

日付を定義する文字列 (例 : 2000/01/22。この文字列で定義される日付は 2000 年 1 月 22 日)。

Date: YYYYMMDD

YYYYMMDD フォーマットの 8 バイトの数字列。文字エンコーディングを表す String または EBCDIC の基本データ型を指定できる。

DateTime: DD/MM/YY hh:mm

日付と時刻を定義する文字列 (例 : 22/01/00 12:24)。

DateTime: DD/MM/YY hh:mm AM

日付と時刻を定義する文字列 (例 : 22/01/00 12:24 AM)。

DateTime: DD/MM/YY hh:mm:ss

日付と時刻を定義する文字列 (例 : 22/01/00 12:24:00)。

DateTime: DD/MM/YY hh:mm:ss AM

日付と時刻を定義する文字列 (例 : 22/01/00 12:24:00 AM)。

DateTime: MM/DD/YY hh:mm

日付と時刻を定義する文字列 (例 : 01/22/00 12:24)。

DateTime: MM/DD/YY hh:mi AM

日付と時刻を定義する文字列 (例 : 01/22/00 12:24 AM)。

DateTime: MM/DD/YY hh:mm:ss

日付と時刻を定義する文字列 (例 : 01/22/00 12:24:00)。

DateTime: MM/DD/YY hh:mm:ss AM

日付と時刻を定義する文字列 (例 : 01/22/00 12:24:00 AM)。

DateTime: MMDDYYhhmm

日付と時刻を定義する数字列 (例 : 0122001224)。

DateTime: YYYYMMDDhhmmss

YYYYMMDDHHMISS フォーマットの 14 バイトの数字列。基本データ型を指定できる。

DateTime: MMDDYYhhmmss

日付と時刻を定義する数字列 (例 : 012200122400)。

EBCDIC

IBM の Extended Binary Coded Decimal Interchange Code の文字列。長さ、長さフィールド、区切り記号、または区切り記号フィールドが必要。

Filler

XML に変換されないバイト シーケンス。非 XML データから XML への変換では、このフィールドはスキップされる。XML から非 XML データへの変換では、このフィールドはスペースのシーケンスとしてバイナリ出力ストリームに書き込まれる。

FloatingPoint: 4 bytes, Big-Endian

IEEE 標準 754 に準拠する 4 バイト ビッグ エンディアンの浮動小数点数。

FloatingPoint, 4 bytes, Little-Endian

IEEE 標準 754 に準拠する 4 バイト リトル エンディアンの浮動小数点数。

FloatingPoint: 8 bytes, Big-Endian

IEEE 標準 754 に準拠する 8 バイト ビッグ エンディアンの浮動小数点数。

FloatingPoint: 8 bytes, Little-Endian

IEEE 標準 754 に準拠する 8 バイト リトル エンディアンの浮動小数点数。

Integer: Signed, 1 byte

1 バイトの符号付き整数 (例 : 56 は 0x38)。

Integer: Unsigned, 1 byte

1 バイトの符号なし整数 (例 : 128 は 0x80)。

Integer: Signed, 2 byte, Big-Endian

ビッグ エンディアン フォーマットの 2 バイトの符号付き整数 (例 : 4660 は 0x1234)。

Integer: Signed, 4 byte, Big-Endian

ビッグ エンディアン フォーマットの 4 バイトの符号付き整数 (例 : 4660 は 0x00001234)。

Integer: Signed, 8 bytes, Big-Endian

ビッグ エンディアン フォーマットの 8 バイトの符号付き整数 (例 : 4660 は 0x0000000000001234)。

Integer: Unsigned, 2 byte, Big-Endian

ビッグ エンディアン フォーマットの 2 バイトの符号なし整数 (例 : 65000 は 0xFDE8)。

Integer: Unsigned, 4 byte, Big-Endian

ビッグ エンディアン フォーマットの 4 バイトの符号なし整数 (例 : 65000 は 0x0000FDE8)。

Integer: Unsigned, 8 bytes, Big-Endian

ビッグ エンディアン フォーマットの 8 バイトの符号なし整数 (例 : 65000 は 0x000000000000FDE8)。

Integer: Signed, 2 bytes, Little-Endian

リトル エンディアン フォーマットの 2 バイトの符号付き整数 (例 : 4660 は 0x3412)。

Integer: Signed, 4 bytes, Little-Endian

リトル エンディアン フォーマットの 4 バイトの符号付き整数 (例 : 4660 は 0x34120000)

Integer: Signed, 8 bytes, Little-Endian

リトル エンディアン フォーマットの 8 バイトの符号付き整数 (例 : 4660 は 0x3412000000000000)。

Integer: Unsigned, 2 bytes, Little-Endian

リトル エンディアン フォーマットの 2 バイトの符号なし整数 (例 : 65000 は 0xE8FD)。

Integer: Unsigned, 4 bytes, Little-Endian

リトル エンディアン フォーマットの 4 バイトの符号なし整数 (例 : 65000 は 0xE8FD0000)。

Integer: Unsigned, 8 bytes, Little-Endian

リトル エンディアン フォーマットの 8 バイトの符号なし整数 (例 : 65000 は 0xE8FD000000000000)。

Literal

value 属性の内容によって決定されるリテラル値。非 XML データから XML への変換時、指定されたリテラルが非 XML データに存在するかどうかが WLXT によって検証される。リテラルは読み込まれるが XML データには変換されない。XML データから非 XML フォーマットへの変換で、リテラルが非 XML フォーマットの一部として定義されている場合、リテラルは変換後の非 XML バイト ストリームに書き込まれる。

Numeric

数値 (0 ~ 9) のみの文字列。長さ、長さフィールド、区切り記号、または区切り記号フィールドが必要。

Packed Decimal: Signed

IBM の符号付きパック形式。長さ、長さフィールド、区切り記号、または区切り記号フィールドを指定する必要がある。長さまたは長さフィールドでは、このフィールドのサイズをバイト単位で指定する必要がある。

Packed Decimal: Unsigned

IBM の符号なしパック形式。長さ、長さフィールド、区切り記号、または区切り記号フィールドを指定する必要がある。長さまたは長さフィールドでは、このフィールドのサイズをバイト単位で指定する必要がある。

String

文字列。長さ、長さフィールド、区切り記号、または区切り記号フィールドが必要。String データ型に長さ、長さフィールド、区切り記号のいずれも指定されていない場合は、「\x00」 (NUL 文字) が指定されているものと見なされる。

String: NUL terminated

固定長フィールド内に含まれ、必要に応じて NUL (\x00) で終了される文字列。このフィールドのデータ型には、読み込むデータ量を決定する長さ属性または長さフィールドが必要。このデータの NUL 区切り記号の有無が調べられる。区切り記号が検出されるとそれ以降のデータが破棄される。NUL 区切り記号が存在しない場合、固定長データがフィールドの値として使用される。

Time: hhmmss

時刻を定義する文字列 (例 : 122400)。

Time: hh:mm AM

時刻を定義する文字列 (例 : 12:24 AM)。

Time: hh:mm

時刻を定義する文字列 (例 : 12:24)。

Time: hh:mm:ss AM

時刻を定義する文字列 (例 : 12:24:00 AM)。

Time: hh:mm:ss

時刻を定義する文字列 (例 : 12:24:00)。

Zoned Decimal: Leading sign

符号付きゾーン 10 進数形式 (US-ASCII または EBCDIC)。符号は最初のニブルに含まれる。長さ、長さフィールド、区切り記号、または区切り記号フィールドを指定する必要がある。長さまたは長さフィールドでは、このフィールドのサイズをバイト単位で指定する必要がある。

注意 : このデータ型は Message Format Language バージョン 2.02 の US-ASCII データでのみサポートされる。

Zoned Decimal: Leading separate sign

符号付きゾーン 10 進数形式 (US-ASCII または EBCDIC)。符号は最初のバイトに含まれる。最初のバイトには符号のみが含まれ、数値とは分離されている。長さ、長さフィールド、区切り記号、または区切り記号フィールドを指定する必要がある。長さまたは長さフィールドでは、このフィールドのサイズをバイト単位で指定する必要がある。

注意 : このデータ型は Message Format Language バージョン 2.02 の US-ASCII データでのみサポートされる。

Zoned Decimal: Signed

符号付きゾーン 10 進数形式 (US-ASCII または EBCDIC)。長さ、長さフィールド、区切り記号、または区切り記号フィールドを指定する必要がある。長さまたは長さフィールドでは、このフィールドのサイズをバイト単位で指定する必要がある。

注意 : このデータ型は Message Format Language バージョン 2.02 の US-ASCII データでのみサポートされる。

Zoned Decimal: Trailing separate sign

符号付きゾーン 10 進数形式 (US-ASCII または EBCDIC)。符号は最後のバイトに含まれる。最後のバイトには符号のみが含まれ、数値とは分離されている。長さ、長さフィールド、区切り記号、または区切り記号フィールドを指定する必要がある。長さまたは長さフィールドでは、このフィールドのサイズをバイト単位で指定する必要がある。

注意 : このデータ型は Message Format Language バージョン 2.02 の US-ASCII データでのみサポートされる。

Zoned Decimal: Unsigned

符号なしゾーン 10 進数形式 (US-ASCII または EBCDIC)。長さ、長さフィールド、区切り記号、または区切り記号フィールドを指定する必要がある。長さまたは長さフィールドでは、このフィールドのサイズをバイト単位で指定する必要がある。

注意 : このデータ型は Message Format Language バージョン 2.02 の US-ASCII データでのみサポートされる。


 

 


COBOL Copybook Importer のデータ型

表 A-2 は、COBOL のデータ型と Importer によるサポートの有無を示します。これらのデータ型のサポートには制限があります。以下のフォーマットは 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

これらの例では、pic x(5) の代わりに pic9(5) を使用できます。

表 A-2 COBOL のデータ型

COBOL のデータ型

サポート

BLANK WHEN ZERO (ゾーン 10 進数)

サポート対象

COMP-1、COMP-2 (浮動小数点)

サポート対象

COMP-3、パック 10 進数

サポート対象

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 進数)

サポート対象

SYNCHRONIZED

無視

66 RENAMES

サポート対象外

66 RENAMES THRU

サポート対象外

77 レベル

サポート対象

88 レベル (条件付き)

無視


 

この表でのサポートの定義は次のとおりです。

Importer では、ベンダ固有の一部の拡張が認識されませんが、ANSI 標準 COBOL に準拠するコピーブック ステートメントはすべて正しく解析されます。Importer のデフォルトのデータ モデルは IBM のメインフレーム モデルに基づいており、Format Builder で変更することによって文字セットとデータの「エンディアン特性」を補正できます。

コピーブックのインポート時、フィールドは一般的なデータ型として識別されますが、目視で調べるとより詳細なデータ型を簡単に特定できる場合があります。そのため、Copybook Importer では、コピーブックで検出された各フィールドにコメントが作成されます。この情報は、MFL データを編集して元のコピーブックのデータをより適切に表す場合に役立ちます。次に例を示します。

元のコピーブックのエントリ :

05 birth-date    picxx/xx/xx

インポート後 :

8 バイト長の EBCDIC 型のフィールド

詳しく調べると、このフィールドが日付フォーマットであり、以下のデータ型のフィールドとして定義できることがわかります。

Date: MM/DD/YY 型のフィールド

または

Date: DD/MM/YY 型のフィールド

 


サポートされていない C 言語機能

C Struct Importer ユーティリティでは、匿名ユニオン、ビット フィールド、またはインライン アセンブラ コードを含むファイルは解析されません。ここでは、#include <windows.h> ステートメントを含む hello.c ファイルのプリプロセッサ出力の一部を例にサポートされていない機能を示します。

 

ナビゲーション バーのスキップ  ページの先頭 前 次