データ行の構造
出力レコードのデータ・フィールドは、テンプレート内では表の行によって表されます。
FIXED_POSITION_BASEDテンプレートの各行には、次の属性(または列)があります。
最初の5つの列は必須で、ここに示されている順序で表示する必要があります。
DELIMITER_BASEDテンプレートの各データ行には、次の属性(列)があります。
最初の3つの列は必須で、ここに示されている順序で宣言する必要があります。
どちらのテンプレート・タイプでも、コメント列はオプションになり、システムで無視されます。必須列の後にある列はすべて無視されるため、追加の情報列を挿入できます。
各列の使用ルールは次のとおりです。
長さ/最大長
フィールドの長さを指定します。
単位は文字数です。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 |
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タグ名を含めることも、式と関数を含めることもできます。
詳細は、「式、制御構造および関数」を参照してください。