ソートマージ
オペランドには,必ず指定するオペランドと任意に指定できるオペランドの2種類があります。
集約処理で使用する機能上のオプションを指定します。集約オプションのパラメタを次の表に示します。
表10-1 集約オプションのパラメタ
パラメタ | 意味 |
---|---|
/i | 出力ファイルと同じ名前のファイルがすでにある場合,そのファイルの内容が書き換えられるのを防ぐ(既存ファイルの書き換え防止)。 |
/v | EBCDIKコードの体系に従ってキーを比較する。 |
/b※1 | 集約項目が数値項目の場合,big endian※2の数値として扱う。 |
/h | 集約項目が2進数の場合,10進数の桁数でオーバーフロー判定をする。 |
/if | 集約項目に内部10進数を指定した場合,演算符号が(F)16(絶対値)である項目の集約結果を同じ演算符号(絶対値)にする。 このパラメタを指定しない場合,集約した結果の演算符号は(C)16(正)になる。 |
複数のオプションを指定する場合は,次に示すどれかの方法で指定します。
また,この指定は省略できます。省略した場合は,次のようになります。
なお,集約オプションを指定する場合は,次の点に注意してください。
「/h」の指定による,集約結果の範囲の違いを次の表に示します。
「/h」の指定は,集約項目が2進項目「/n」,「/m」の場合だけ有効となります。集約結果がこの範囲を超えると,オーバーフローとなります。
集約項目のバイト長 | 集約結果の値の範囲 | |
---|---|---|
「/h」指定なし | 「/h」指定あり | |
2 | -32,768 〜 +32,767 | -9,999 〜 +9,999 |
4 | -2,147,483,648 〜 +2,147,483,647 | -999,999,999 〜 +999,999,999 |
8 | -9,223,372,036,854,775,808 〜 +9,223,372,036,854,775,807 |
-999,999,999,999,999,999 〜 +999,999,999,999,999,999 |
図10-2 集約結果がオーバーフローした場合の例
入力ファイルのファイル編成を「/g+オペランド」の形式で指定します。
また,この指定は,省略できません。入力ファイルのファイル編成のオペランドを次の表に示します。
表10-3 入力ファイルのファイル編成のオペランド(集約機能)
オペランド | 意味 |
---|---|
s | 固定長順編成ファイルを指定する。 |
v | 可変長順編成ファイルを指定する。 |
r | 固定長相対ファイルを指定する。 |
w | 可変長相対ファイルを指定する。 |
a | テキストファイルを指定する。 |
出力ファイルのファイル編成のオペランドを,コロンで区切って指定します。出力ファイルのレコードの形式(固定長,可変長またはテキスト)は,入力ファイルと同じにしてください。
この指定は省略できます。指定を省略した場合は,入力ファイルと同じファイル編成が設定されます。
出力ファイルのファイル編成のオペランドを次の表に示します。
表10-4 出力ファイルのファイル編成のオペランド(集約機能)
オペランド | 意味 |
---|---|
s | 固定長順編成ファイルを指定する。 |
v | 可変長順編成ファイルを指定する。 |
r | 固定長相対ファイルを指定する。 |
w | 可変長相対ファイルを指定する。 |
a | テキストファイルを指定する。 |
入力ファイルのファイル編成ごとのレコード長の指定方法を次の表に示します。
表10-5 入力ファイルのファイル編成ごとのレコード長の指定方法(集約機能)
入力ファイル編成 | レコード長の指定方法 |
---|---|
固定長順編成ファイル | ファイルのレコード長を「1〜65,535」バイトの範囲で指定します。 |
可変長順編成ファイル | 指定は不要です。指定しても無視されます。 ただし,入力できるレコード長の範囲は,1〜65,535バイトです。 |
固定長相対ファイル | |
可変長相対ファイル | |
テキストファイル | ファイルの最大レコード長を「1〜65,535」バイトの範囲で指定します。レコード長には,改行文字「X'0A'」は含みません。 省略できます。省略した場合「65,535」バイトが設定されます。 レコード長を指定した方がソート時間が短くなります。 |
集約結果の出力先ファイルをファイル名で指定します。
この指定は,省略できます。指定を省略した場合は,集約結果を標準出力ファイルに出力します。
集約キーのキー属性を指定します。キー属性のパラメタを次の表に示します。
表10-6 キー属性のパラメタ(集約機能)
パラメタ | 意味 |
---|---|
/c | キーが文字であることを指定する。 |
/j | キーが文字(JIS8単位コード※)であることを指定する。 |
/n | キーが符号付き固定小数点2進数であることを指定する。 |
/m | キーが符号なし2進数であることを指定する。 |
/p | キーが内部10進数であることを指定する。 |
/z | キーが外部10進数であることを指定する。 |
/x | キーが左符号付き外部10進数であることを指定する。 |
/s | キーが右分離符号付き外部10進数であることを指定する。 |
/t | キーが左分離符号付き外部10進数であることを指定する。 |
/f | キーが内部浮動小数点であることを指定する。 |
/e | キーが日付(英数字)であることを指定する。 |
キーの開始バイト位置を5桁以内の数字で指定します。開始バイト位置はレコードの先頭からのバイト位置(先頭を0とする)とします。開始バイト位置に指定できる値の範囲は,「0〜レコード長-1」です。
また,キーのバイト長を「1〜4,096」の範囲で指定します。
この指定は,省略できません。
無条件レコード抽出機能を使用する場合は,「/a」だけを指定します。また,集約項目は,集約項目の属性と「+項目位置-項目長」で指定します。
集約項目の属性を指定します。集約項目の属性のオペランドを次の表に示します。
表10-7 集約項目の属性のオペランド
オペランド | 意味 |
---|---|
n | 集約項目が符号付き固定小数点2進数であることを指定する。 |
m | 集約項目が符号なし2進数であることを指定する。 |
p | 集約項目が内部10進数であることを指定する。 |
z | 集約項目が外部10進数であることを指定する。 |
x | 集約項目が左符号付き外部10進数であることを指定する。 |
s | 集約項目が右分離符号付き外部10進数であることを指定する。 |
t | 集約項目が左分離符号付き外部10進数であることを指定する。 |
集約項目の開始バイト位置を5桁以内の数字で指定します。開始バイト位置はレコードの先頭からのバイト位置(先頭を0とする)とします。開始バイト位置に指定できる値の範囲は,「0〜レコード長-1」です。
また,集約項目のバイト長を「1〜19」の範囲で指定します。
この指定は,省略できません。
集約項目を複数指定する場合は,集約項目の属性と「+項目位置-項目長」をひとまとめにして指定してください。
集約機能の入力ファイルを指定します。出力ファイルの指定と同じファイルの指定はできません。
入力ファイルが順ファイルまたは相対ファイルの場合,この指定は,省略できます。省略した場合は,入力ファイルに標準入力ファイルが設定されます。
All Rights Reserved. Copyright (C) 2008, 2016, Hitachi, Ltd.