ソートマージ


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

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

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

キー位置のチェック緩和機能

キーの扱い

指定なし

キーの範囲が実レコード長を超えている場合,exsortコマンドが異常終了する。

指定あり

1. キー位置+キー長が実レコード長以下の場合

実レコード内のキーが,ソートキー,マージキー,または集約キーとなる。

2. キー位置が実レコード長より小さく,キー位置+キー長が実レコード長より大きく最大レコード長以下の場合

3. キー位置が実レコード長より小さく,キー位置+キー長が最大レコード長より大きい場合

実レコード内のキーと,実レコードを超えている部分にNULL値を仮定したキーがソートキー,マージキー,または集約キーとなる。

4. キー位置が実レコード長より大きく,キー位置+キー長が最大レコード長以下の場合

5. キー位置が最大レコード長より小さく,キー位置+キー長が最大レコード長より大きい場合

6. キー位置が最大レコード長より大きい場合

NULL値を仮定したキーが,ソートキー,マージキー,または集約キーとなる。

(凡例)

レコード長の種類

可変長順編成ファイル

テキストファイル

最小レコード長

COBOLでファイル作成時にユーザが指定した最小レコード長

1

実レコード長

実際の入力レコード長

実際の入力レコード長(改行文字を除く)

最大レコード長

COBOLでファイル作成時にユーザが指定した最大レコード長

-inpfile,-splitinp,-catinp,または-joininpパラメタのreclenオペランドで指定したレコード長(改行文字を除く)

注※

1.〜6.は,次の図の1.〜6.に対応しています。

[図データ]