ソートファイル制御記述

呼び出し可能ソートモジュールで使用されるファイル制御記述 (FCD) には、ファイルハンドラで使用される FCD に含まれていないフィールドや、より優先されるフィールドがあります。それらのフィールドを次に示します。

オフセット サイズ フィールドの説明
52 1 ソート操作用に USING 句で指定するファイルの数 (ゼロも可)
53 1 ソート操作用に GIVING 句で指定するファイルの数 (ゼロも可)
68 4 文字の大小順序へのポインタ (使用しない場合はヌル)
72 4 USING 句と GIVING 句で指定されるファイルを定義しているファイル定義ブロックへのポインタ

FCD のオフセット 64 で位置指定されるキー定義ブロックは、ソート操作で使用されるキーの構造を定義しています。 ソート操作で使用できるキーは 1 つだけですが、1 つのキーは多数の構成要素を含む場合があります。 これらの各構成要素は、昇順、降順のいずれかで、数値形式もさまざまです。 構成要素定義の先頭 2 バイトは次のように使用されます。

オフセット サイズ 説明
0 1
ビット 7 (x"80") : 重複が順次戻されることを示します。
ビット 6 (x"40") : DESCENDING キーを示します。
ビット 1 (x"02") : SIGN が EBCDIC 形式であることを示します。
ビット 0 (x"01") : データが EBCDIC 形式であることを示します。
1 1
ビット 7 (x"80") は、フィールドが NUMERIC であることを示します。

ビット 7 が 1 の場合 (数値フィールド)

ビット 6 (x"40") : フィールドが SIGNED NUMERIC であることを示します。
ビット 5 (x"20") : フィールドが非表示フィールドであることを示します。

ビット 5 が 1 の場合 (非表示フィールド)

ビット 0~1 次のように使用されます。
0 フィールドが BINARY であることを示します。
1 フィールドが PACKED-DECIMAL であることを示します。
2 フィールドが COMP-X 形式であることを示します。
3 フィールドが COMP-5 形式であることを示します。
ビット 2 (x"04") : 浮動小数点形式を示します。

ビット 5 が 0 (DISPLAYフィールド)、ビット 6 が 1 (SIGNED) の場合

ビット 0~1 次のように使用されます。
0 SIGN TRAILING INCLUDED を示します。
1 SIGN TRAILING SEPARATE を示します。
2 SIGN LEADING INCLUDED を示します。
3 SIGN LEADING SEPARATE を示します。
ビット 7 が 0 の場合 (数値以外)
ビット 1 : このフィールドに FCD で指定された大小順序が適用される場合、1 に設定されます。

FCD のオフセット 72 で位置指定されるファイル定義ブロックは、USING 句と GIVING 句で指定され、ソート操作で使用される各ファイルの FCD へのポインタを含むテーブルです。 ファイル定義ブロックの長さは、オフセット 52 と 53 のフィールドの内容を合計した長さの 4 倍になります。