ソートマージ

[目次][用語][索引][前へ][次へ]

10.2.2 オペランドの意味

オペランドには,必ず指定するオペランドと任意に指定できるオペランドの2種類があります。

<この項の構成>
(1) 集約オプション
(2) 入力ファイルのファイル編成
(3) 出力ファイルのファイル編成
(4) -Lレコード長
(5) -o出力ファイル名
(6) キー属性
(7) +キー位置-キー長
(8) -a集約項目情報
(9) 入力ファイル名

(1) 集約オプション

集約処理で使用する機能上のオプションを指定します。集約オプションのパラメタを次の表に示します。

表10-9 集約オプションのパラメタ

パラメタ 意味
-e 入力ファイルを排他モードでオープンする(ファイル排他)。
-i 出力ファイルと同じ名前のファイルがすでにある場合,そのファイルの内容が書き換えられるのを防ぐ(既存ファイルの書き換え防止)。
-v EBCDIKコードの体系に従ってキーを比較する。
-b 集約項目に2進項目を指定した場合,集約結果のオーバーフローの判定をバイト長から桁数に変更する(2進項目の10進表示桁判定)。
-q 出力データがキャッシュファイルに残っている場合,すべてのデータをファイル出力したあと,コマンドを終了する(キャッシュファイルの同期出力)。
-if 集約項目に内部10進数を指定した場合,演算符号が(F)16(絶対値)である項目の集約結果を同じ演算符号(絶対値)にする。
このパラメタを指定しない場合,集約した結果の演算符号は(C)16(正)になる。
-B※1 集約キーおよび集約項目が数値項目の場合,big endian※2の数値として扱う。

「-q」を指定した場合,コマンドの実行時間が長くなることがあるため注意してください。
また,入力ファイルが索引ファイルの場合は,「-e」を指定した方が処理時間が短くなります。

注※1
Linuxの場合だけ有効なオプションです。また,集約キーは,2進項目「-n」,「-m」,または内部浮動小数点項目「-f」の場合だけ有効です。集約項目は,2進項目「-n」または「-m」の場合だけ有効です。

注※2
big endianとは,上位バイトを下位番地とする数値のことです。
Linuxで「-B」を指定しなかった場合は,little endian(上位バイトを上位番地とする数値)として扱います。

複数のオプションを指定する場合は,次に示すどれかの方法で指定します。

この指定は省略できます。省略した場合は,次のようになります。

なお,集約オプションを指定する場合は,次の点に注意してください。

(2) 入力ファイルのファイル編成

入力ファイルのファイル編成を指定します。

この指定は,省略できません。必ず指定してください。入力ファイルのファイル編成のパラメタを次の表に示します。

表10-10 入力ファイルのファイル編成のパラメタ(集約機能)

パラメタ 意味
-S 固定長順ファイルを指定する。
-V 可変長順ファイルを指定する。
-R 固定長相対ファイルを指定する。
-W 可変長相対ファイルを指定する。
-A テキストファイルを指定する。

(3) 出力ファイルのファイル編成

出力ファイルのファイル編成を指定します。出力ファイルのレコードの形式(固定長,可変長またはテキスト)は,入力ファイルと同じにしなければなりません。

この指定は,省略できます。指定を省略した場合は,入力ファイルと同じファイル編成が設定されます。

出力ファイルのファイル編成のパラメタを次の表に示します。

表10-11 出力ファイルのファイル編成のパラメタ(集約機能)

パラメタ 意味
:S 固定長順ファイルを指定する。
:V 可変長順ファイルを指定する。
:R 固定長相対ファイルを指定する。
:W 可変長相対ファイルを指定する。
:A テキストファイルを指定する。

(4) -Lレコード長

入力ファイル編成ごとのレコード長の指定方法を次の表に示します。

表10-12 入力ファイル編成ごとのレコード長の指定方法(集約機能)

入力ファイル編成 レコード長の指定方法
固定長順ファイル ファイルのレコード長を「1〜65,535」バイトの範囲で指定します。
可変長順ファイル 指定は不要です。指定しても無視されます。
ただし,入力できるレコード長の範囲は,1〜65,535バイトです。
固定長相対ファイル
可変長相対ファイル
テキストファイル ファイルの最大レコード長を「1〜65,535」バイトの範囲で指定します。レコード長には,改行文字「X'0A'」は含みません。
この指定は省略できます。指定を省略した場合は,「65535」バイトが設定されます。
なお,レコード長を指定した方が,ソート時間が短くなります。

(5) -o出力ファイル名

集約結果の出力先ファイルをファイル名で指定します。

この指定は,省略できます。指定を省略した場合は,集約結果を標準出力ファイルに出力します。

(6) キー属性

集約キーの属性を指定します。キー属性のパラメタを次の表に示します。

表10-13 キー属性のパラメタ(集約機能)

パラメタ 意味
-c キーが文字であることを指定する。
-j キーが文字(JIS8単位コード)であることを指定する。
-n キーが符号付き固定小数点2進数であることを指定する。
-m キーが符号なし2進数であることを指定する。
-p キーが内部10進数であることを指定する。
-z キーが外部10進数であることを指定する。
-x キーが左符号付き外部10進数であることを指定する。
-s キーが右分離符号付き外部10進数であることを指定する。
-t キーが左分離符号付き外部10進数であることを指定する。
-f キーが内部浮動小数点であることを指定する。
-g キーが日付(英数字)であることを指定する。

注※
ASCIIコード(0x00〜0x7F)を含む,JIS8単位コード(0x00〜0xFF)を意味します。入力データに日本語などのマルチバイト文字が含まれている場合,マルチバイト文字として扱わず,シングルバイト文字として扱います。EBCDIKコードの体系に従ってキー・項目を比較する「-vオプション(Windowsは/vオプション)」を使用できます。

(7) +キー位置-キー長

キーの開始バイト位置を5桁以内の数字で指定します。開始バイト位置はレコードの先頭からのバイト位置(先頭を0とする)とします。開始バイト位置に指定できる値の範囲は,「0〜65,534」です。

また,キーのバイト長を4桁以内の数字「1〜4,096」で指定します。

この指定は,省略できません。必ず指定してください。

キーの指定範囲
キーは,次に示す範囲で指定してください。
  • 入力ファイルが固定長ファイルのとき,キーは,レコード長の範囲
  • 入力ファイルが可変長ファイルのとき,キーは,最小レコード長の範囲
  • 入力ファイルがテキストファイルのとき,キーは,最小レコード長の範囲

(8) -a集約項目情報

レコードを集約するための集約項目情報を指定します。指定できる集約項目の個数は,0〜64個です。集約項目情報の形式を次の図に示します。

図10-5 集約項目情報の形式

[図データ]

無条件レコード抽出機能を使用する場合,集約項目の個数を0個(-aだけを指定)にします。無条件レコード抽出機能については,「2.4 無条件レコード抽出機能」を参照してください。

(a) -a集約項目の属性

集約項目の属性を指定します。集約項目の属性のパラメタを次の表に示します。

集約項目を複数個指定する場合は,集約項目同士が重なってはなりません。

また,集約項目は,集約キーと重なってはなりません。

表10-14 集約項目の属性のパラメタ

パラメタ 意味
n 集約項目が符号付き固定小数点2進数であることを指定する。
m 集約項目が符号なし2進数であることを指定する。
p 集約項目が内部10進数であることを指定する。
z 集約項目が外部10進数であることを指定する。
x 集約項目が左符号付き外部10進数であることを指定する。
s 集約項目が右分離符号付き外部10進数であることを指定する。
t 集約項目が左分離符号付き外部10進数であることを指定する。
(b) +項目位置-項目長

集約項目の開始バイト位置を5桁以内の数字で指定します。開始バイト位置はレコードの先頭からのバイト位置(先頭を0とする)とします。開始バイト位置に指定できる値の範囲は,「0〜65,534」です。

また,集約項目のバイト長を2桁以内の数字「1〜19」で指定します。

この指定は,省略できません。必ず指定してください。

集約項目の指定範囲
集約項目は,次の範囲で指定してください。
  • 入力ファイルが固定長ファイルのとき,集約項目はレコード長の範囲
  • 入力ファイルが可変長ファイルのとき,集約項目は最小レコード長の範囲
  • 入力ファイルがテキストファイルのとき,集約項目は最小レコード長の範囲

(9) 入力ファイル名

集約機能の入力ファイルを指定します。出力ファイルの指定と同じファイルの指定はできません。

この指定は,省略できます。省略した場合は,入力ファイルに標準入力ファイルが設定されます。