ソートマージ
| 項目1,項目2,項目3 |
format={ val{ (alias-name.field-name)|(alias-name)|(insertdata) }
|calc(calculation formula) }
[△pos(position) ]
[△len(length) ]
[△rounding-method ]
[△padding(C'padding-character'|X'hex-digit') ]val{ (alias-name.field-name)|(alias-name)|(insertdata) }
表5-77 valに指定する内容
| 項目 | 指定値 |
|---|---|
| (alias-name.field-name) | aliasオペランドで指定された別名が示すファイルから,fieldオペランドで指定されたフィールド名のフィールドのデータを挿入します。 |
| (alias-name) | 1レコードを挿入します。 |
| (insertdata) | 指定されたデータを挿入します。 |
表5-78 指定できるフィールド名の属性
| 指定できる属性※1 | 属性コード | |
|---|---|---|
| 文字 | 文字(JIS8単位コード) | j |
| 文字 | c | |
| 文字(文字順序変更機能で指定した文字) | q | |
| 文字(ワイド文字)※2 | w | |
| 文字(マルチバイト文字)※2 | u | |
| 文字(マルチバイト文字で,UnicodeのIVSに対応した属性)※2 | v | |
| 文字(左分離符号付き数字) | d | |
| 2進数 | 符号付き固定小数点2進数 | n |
| 符号なし2進数(0から始まる整数) | m | |
| 内部浮動小数点 | f | |
| 10進数 | 内部10進数 | p |
| 外部10進数 | z | |
| 左符号付き外部10進数 | x | |
| 右分離符号付き外部10進数 | s | |
| 左分離符号付き外部10進数 | t | |
| 日付 | 日付(英数字) | g |
表5-79 挿入データ指定内容
| 指定値 | 指定内容 |
|---|---|
| C'文字列' | 任意の文字列(改行文字は指定できません) |
| X'16進数' | 「0〜9」,「A〜F」,「a〜f」の偶数桁の16進数 |
表5-80 フォーマットの挿入データ
| len指定 | 比較 | フォーマットの挿入データ |
|---|---|---|
| なし | 実>P | フィールドに指定された長さ分,データを挿入 |
| 実<P+L | 実レコード長の範囲にあるデータだけ挿入 | |
| 実<P | フィールドに指定された長さ分,パディング | |
| あり | 実>P | lenで指定された長さ分,データを挿入 |
| 実<P+L | 実レコード長の範囲にあるデータを挿入し,lenに足りない分はパディング | |
| 実<P | lenで指定された長さ分,パディング |
図5-14 フォーマットの挿入データ
表5-81 結合条件が一致しなかったレコードまたはフィールド挿入時の扱い
| val指定 | 挿入位置 | 結合条件が一致しなかったレコードまたはフィールド挿入時の扱い |
|---|---|---|
| (insertdata) | 出力レコードの先頭 | エラー。 |
| 出力レコードの中間 | エラー。 | |
| 出力レコードの最終 |
|
|
| (alias-name.field-name)数値属性 | 任意の個所 | ゼロ(0x30)を出力する。 【出力する長さの優先順位】
|
| (alias-name.field-name)文字属性 | 任意の個所 | 指定されたパディング文字を出力する。 【出力する長さの優先順位】
|
calc = { calculation formula | alias-name.field-name | 数値 }表5-82 calcで指定できる内容
| 項目 | 指定値 |
|---|---|
| calculation formula | 指定された計算式の演算結果を挿入します。 |
| alias-name.field-name | aliasオペランドで指定された別名が示すファイルから,fieldオペランドで指定されたフィールド名のフィールドのデータを挿入します(10進数項目)。 |
| 数値 | 指定された数値データを挿入します。 符号付き数値は,括弧で囲みます。 |
表5-83 計算式に指定できる組み合わせ
| 指定種類 | 指定例 |
|---|---|
| 10進数項目※と10進数項目 | 10進数項目A+10進数項目B |
| 10進数項目と数値 | 10進数項目A*100 |
| 数値と数値 | 100*0.25 100*(-0.25) |
表5-84 計算式に指定できる10進数項目
| ファイル編成 | 10進数項目※ | 属性コード |
|---|---|---|
| 固定長順編成ファイル(S) テキストファイル(A) |
内部10進数 | p |
| 外部10進数 | z | |
| 左符号付き外部10進数 | x | |
| 右分離符号付き外部10進数 | s | |
| 左分離符号付き外部10進数 | t |
表5-85 計算式で指定できる内容
| 指定内容 | 意味 | 指定最大 |
|---|---|---|
| +(加算),-(減算),*(乗算),/(除算) | 演算子 | 該当しない |
| 「0〜9」の数字 | 数値データ | 16個 |
| ( ), ({+|- } 「0〜9」の数字) |
優先順位,符号付き数値 | 24ネスト |
| alias-name.field-name※ | fieldオペランドで指定された,10進数項目のフィールド名 | 16個 |
表5-86 挿入するフィールド属性の形式
| field-name指定 | 演算結果を挿入するフィールド属性 |
|---|---|
| あり | 入力レコードのフィールド属性の形式を継承 |
| なし | 外部10進数 |
出力フィールドの出力位置を指定します。
詳細については,「5.10.14(3) posサブオペランド」を参照してください。
出力フィールドの長さを指定します。
詳細については,「5.10.14(4) lenサブオペランド」を参照してください。
数値属性の入力フィールドに対する桁丸め(端数処理)方式を指定します。
詳細については,「5.10.14(5) 桁の丸め方式サブオペランド」を参照してください。
文字属性の入力フィールドに対するパディング文字を指定します。
詳細については,「5.10.14(6) paddingサブオペランド」を参照してください。
All Rights Reserved. Copyright (C) 2008, 2019, Hitachi, Ltd.