可変長順編成ファイルのキーの指定範囲が最小レコード長を超えていてもエラーにしません。また,テキストファイルのキーの指定範囲が実レコード長を超えていてもエラーにしません。
実レコード長を超えたキー部分には,NULL値(0x00)を仮定してキーを比較します。
このオプションを指定しない場合,環境変数「EXSORTMGTOPT(64ビット版は「EXSORT64MGTOPT」)」にVKEY_POS_NOCHKオプションが指定されていればPOSNOCHK指定ありと同じ扱いとなります。
POSNOCHKオプションのキーの扱いについて次の表に示します。
POSNOCHK | キーの扱い | |
---|---|---|
指定なし | 可変長順編成ファイルのキーの範囲が最小レコード長を超えている場合,KBLS1208-Eメッセージを表示し,exsortコマンドが異常終了します。 テキストファイルのキーの範囲が実レコード長を超えている場合,KBLS1208-Eメッセージを表示し,exsortコマンドが異常終了します。 | |
指定あり※1 | 1. キー位置+キー長が実レコード長以下の場合 | 実レコード内のキーが,ソートキー,マージキー,または集約キーとなります。 |
2. キー位置が実レコード長より小さく,キー位置+キー長が実レコード長より大きく最大レコード長以下の場合 3. キー位置が実レコード長より小さく,キー位置+キー長が最大レコード長より大きい場合 | 実レコード内のキーと,実レコードを超えている部分にNULL値を仮定したキーがソートキー,マージキー,または集約キーとなります。 | |
4. キー位置が実レコード長より大きく,キー位置+キー長が最大レコード長以下の場合 5. キー位置が最大レコード長より小さく,キー位置+キー長が最大レコード長より大きい場合 6. キー位置が最大レコード長より大きい場合 | NULL値を仮定したキーが,ソートキー,マージキー,または集約キーとなります。 |
レコード長※2 | 可変長順編成ファイル | テキストファイル |
---|---|---|
最小レコード長 | COBOLでファイル作成時にユーザが指定した最小レコード長 | 1 |
実レコード長 | 実際の入力レコード長 | 実際の入力レコード長(改行文字を除く) |
最大レコード長 | COBOLでファイル作成時にユーザが指定した最大レコード長 | -inpfile,-splitinpまたは-catinpパラメタのreclenオペランドで指定したレコード長(改行文字を除く)※3 |