データ行の構造
出力レコードのデータ・フィールドは、テンプレート内で表の行で表されます。
FIXED_POSITION_BASEDテンプレートでは、各行に次の属性(または列)があります:
最初の5つの列は必須で、リストされた順序で表示する必要があります。
DELIMITER_BASEDテンプレートの場合、各データ行には次の属性(列)があります:
最初の3つの列は必須で、指定されている順序で宣言する必要があります。
どちらのテンプレート・タイプでも、コメント列はオプションで、システムでは無視されます。 必要な列の後にあるすべての列は無視されるため、追加情報列を挿入できます。
これらの列の使用ルールは次のとおりです:
長さ/最大長
フィールドの長さを指定します。
単位は文字数です。 FIXED_POSITION_BASEDテンプレートの場合、すべてのフィールドは固定長です。 指定した長さより小さいデータはパディングされます。 データが長い場合は切り捨てられます。 切捨ては常に右側で行われます。
DELIMITER_BASEDテンプレートの場合、この値はフィールドの最大長を指定します。 データが最大長を超える場合は切り捨てられます。 最大長未満のデータはパディングされません。
数値データ型
数値データには3つのオプション書式設定があります: 整数、小数、または書式マスクを定義できます。
数値データ型のオプション設定を次のように指定します:
-
数値、整数
-
数値、小数
-
Number, <format mask>
たとえば:
Number, ###,###.00
「整数」書式では、数値の整数部分のみを使用し、小数を破棄します。 「小数」書式では、数値の小数部分のみを使用し、整数部分を破棄します。
次の表に、書式マスクの設定方法の例を示します。 マスクを指定する場合、#はデータに存在するときに数字が表示されることを表します。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 - アルファベット |
アルファ |
AN -英数字 |
アルファ |
B - バイナリ |
数値 |
CD - 複合データ要素 |
該当なし |
CH - 文字 |
アルファ |
DT - 日付 |
日付 |
FS - 固定長文字列 |
アルファ |
ID - 識別子 |
アルファ |
IV - 増分値 |
数値 |
Nn - 数値 |
数値 |
PW - パスワード |
アルファ |
R - 小数 |
数値 |
TM - 時間 |
日付 |
次の表に示す設定コマンドを想定します。
名前 | コマンド |
---|---|
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」が左側に埋められ、英字フィールドには空白が右側に埋められます。
使用例:
-
フィールドを左側に0を埋め込むには、「パッド列」フィールドに次のように入力します:
L, '0'
-
フィールドを右側にスペースを埋め込むには、パッド列フィールドに次のように入力します:
R, ' '
データ
フィールドに移入するデータ抽出からのXML要素を指定します。 データ列には、単にXMLタグ名を含めることも、式および関数を含めることもできます。
詳細は、「式、制御構造および関数」を参照してください。