データ行の構造

出力レコードのデータ・フィールドは、テンプレート内では表の行によって表されます。

FIXED_POSITION_BASEDテンプレートの各行には、次の属性(または列)があります。

最初の5つの列は必須で、ここに示されている順序で表示する必要があります。

DELIMITER_BASEDテンプレートの各データ行には、次の属性(列)があります。

最初の3つの列は必須で、ここに示されている順序で宣言する必要があります。

どちらのテンプレート・タイプでも、コメント列はオプションになり、システムで無視されます。必須列の後にある列はすべて無視されるため、追加の情報列を挿入できます。

各列の使用ルールは次のとおりです。

位置

レコード内のフィールドの開始位置を指定します。単位は文字数です。

この列は、FIXED_POSITION_BASEDテンプレートでのみ使用されます。

長さ/最大長

フィールドの長さを指定します。

単位は文字数です。FIXED_POSITION_BASEDテンプレートでは、すべてのフィールドが固定長になります。指定された長さよりもデータが短い場合は埋込みが行われます。データが長い場合は切り捨てられます。切捨ては、常に右端で行われます。

DELIMITER_BASEDテンプレートでは、この値はフィールドの最大長を指定します。データが最大長を超える場合は切り捨てられます。データが最大長より短くても、埋込みは行われません。

書式列

書式列は、データ型と書式設定を指定します。

許容されているデータ型は次の3つです。

  • Alpha

  • Number

  • Date

これらの使用方法については、「フィールドレベル・キーワード」を参照してください。

Numberデータ型

数値データには、Integer、Decimal、書式マスク定義、という3つのオプションの書式設定があります。

Numberデータ型のこれらのオプション設定は、次のように指定します。

  • Number, Integer

  • Number, Decimal

  • Number, <format mask>

    次に例を示します。

    Number, ###,###.00

Integer書式では、数値の整数部分のみを使用し、小数を破棄します。Decimal書式では、数値の小数部分のみを使用し、整数部分を破棄します。

次の表に、書式マスクの設定方法の例を示します。マスクを指定するとき、#はデータに存在する桁を表示することを表し、0は、データが存在するかどうかに関係なく、桁のプレースホルダを表示することを表します。

書式マスクを指定するときは、グループ・セパレータに","を、小数のセパレータには"."を必ず使用する必要があります。これらを実際の出力で変更するには、NUMBER THOUSANDS SEPARATORおよびNUMBER DECIMAL SEPARATORの設定コマンドを使用する必要があります。これらのコマンドの詳細は、設定コマンド表を参照してください。

次の表に、サンプルのデータ、書式指定子および出力を示します。出力では、デフォルトのグループ・セパレータと小数セパレータが使用されています。

データ 書式指定子 出力

123456789

###,###.00

123,456,789.00

123456789.2

###.00

123456789.20

1234.56789

###.000

1234.568

123456789.2

#

123456789

123456789.2

#.##

123456789.2

123456789

#.##

123456789

Dateデータ型

Dateデータ型の書式設定は、常に明示的に指定する必要があります。この書式設定は、MMDDYYなどのSQL日付スタイルに従います。

EDIデリミタベースのデータ型からeTextデータ型へのマッピング

一部のEDI(DELIMITER_BASED)書式では、より説明的なデータ型を使用します。

これらは次の表に示す3種類のテンプレート・データ型にマッピングされます。

ASC X12データ型 フォーマット・テンプレートのデータ型

A - 英字

Alpha

AN - 英数字

Alpha

B - バイナリ

Number

CD - コンポジット・データ要素

なし

CH - 文字

Alpha

DT - 日付

Date

FS - 固定長文字列

Alpha

ID - 識別子

Alpha

IV - 増分値

Number

Nn - 数値

Number

PW - パスワード

Alpha

R - 小数

Number

TM - 時間

Date

次の表に示されている設定コマンドが想定されます。

名前 コマンド

NUMBER THOUSANDS SEPARATOR

.

NUMBER DECIMAL SEPARATOR

,

次の表に、この場合のデータ、書式指定子および出力を示します。書式指定子には、設定コマンドのエントリに関係なく、デフォルトのセパレータを使用する必要があることに注意してください。

データ 書式指定子 出力

123456789

###,###.00

123.456.789,00

123456789.2

###.00

123456789,20

1234.56789

###.000

1234,568

123456789.2

#

123456789

123456789.2

#.##

123456789,2

123456789

#.##

123456789

埋込み

埋込みは、FIXED_POSITION_BASEDテンプレートにのみ適用されます。埋込み側(L = 左またはR = 右)および文字を指定します。埋込みは、数値および英数字の両方のフィールドで可能です。このフィールドを指定しない場合、数値フィールドでは左側に0が埋め込まれ、Alphaフィールドでは右側に空白が埋め込まれます。

使用例:

  • フィールドの左側に"0"を埋め込むには、Pad列フィールドに次のように入力します。

    L, '0'

  • フィールドの右側に空白を埋め込むには、Pad列フィールドに次のように入力します。

    R, ' '

データ

フィールドに移入する、データ抽出からのXML要素を指定します。データ列には、単にXMLタグ名を含めることも、式と関数を含めることもできます。

詳細は、「式、制御構造および関数」を参照してください。

タグ

DELIMITER_BASEDテンプレートのコメント列として機能します。

EDIFACT書式で参照タグを指定し、ASC X12で参照IDを指定します。

コメント

この列を使用して、自由書式コメントをテンプレートに追加します。通常、この列は、ビジネス要件やデータ・フィールドの使用方法の記述に使用します。