ソートマージ

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

2.12 キー位置のチェック緩和機能(SORT EEの機能)

ソート機能,マージ機能,または集約機能を使用する場合,可変長順編成ファイル,およびテキストファイルのキーの指定範囲が実レコード長を超えていてもエラーにしません。コマンドオプションの指定方法については,「5.5.11 キー位置のチェックオプション(POSNOCHKオプション)」を参照してください。

実レコード長を超えたキー部分には,NULL値を仮定してキーを比較します。

キー位置のチェック緩和機能 キーの扱い
指定なし キーの範囲が実レコード長を超えている場合,exsortコマンドが異常終了する。
指定あり 1. キー位置+キー長が実レコード長以下の場合 実レコード内のキーが,ソートキー,マージキー,または集約キーとなる。
2. キー位置が実レコード長より小さく,キー位置+キー長が実レコード長より大きく最大レコード長以下の場合
 
3. キー位置が実レコード長より小さく,キー位置+キー長が最大レコード長より大きい場合
実レコード内のキーと,実レコードを超えている部分にNULL値を仮定したキーがソートキー,マージキー,または集約キーとなる。
4. キー位置が実レコード長より大きく,キー位置+キー長が最大レコード長以下の場合
 
5. キー位置が最大レコード長より小さく,キー位置+キー長が最大レコード長より大きい場合
 
6. キー位置が最大レコード長より大きい場合
NULL値を仮定したキーが,ソートキー,マージキー,または集約キーとなる。

(凡例)

レコード長の種類 可変長順編成ファイル テキストファイル
最小レコード長 COBOLでファイル作成時にユーザが指定した最小レコード長 1
実レコード長 実際の入力レコード長 実際の入力レコード長(改行文字を除く)
最大レコード長 COBOLでファイル作成時にユーザが指定した最大レコード長 -inpfile,-splitinp,または-catinpパラメタのreclenオペランドで指定したレコード長(改行文字を除く)

注※
1.〜6.は,次の図の1.〜6.に対応しています。
[図データ]