データのソート
SORT 基本コマンドを使用すれば、データをソートすることができます。このコマンドを使用すると、次のいずれかの方法でデータをソートすることができます。
- 5 つまでの指定した列範囲を基準にする (CHAR、HEX、または LHEX 表示形式のみ)。
- フィールド参照番号を指定して 5 つまでのフィールドを基準にする (TABL 表示形式のみ)。
- データ・セットの KEY または SLOT NUMBER の順序にする (KSDS、VRDS、および RRDS VSAM データ・セット)。
注: SORT を使用するには、すべてのデータ・セット・レコードがメモリー常駐型でなければなりません。データ・セット全体が領域ストレージに収まらない場合、エラーが報告され、SORT の実行は打ち切られます。必要に応じて、データ・セット全体が入るように領域サイズを増やしてください。
データを昇順 (デフォルト) にソートするか、降順にソートするかを指定できます。また編集ではソートを除外レコードまたは非除外レコードだけに制限できます。
列範囲でソートするには、次のようにします。
- データを CHAR、HEX、または LHEX 形式で表示します。
- SORT 基本コマンドと、その後に列範囲値の 5 個までのペアを入力します。例:
56 から 70 までの範囲を最初のキーとし、3 から 22 までの範囲を 2 番目のキーとして使用し、データ・セットを昇順でソートします。SORT 56 70 3 22
フィールド参照でソートするには、次のようにします。
- データを TABL 形式で表示します (テンプレートを指定しておく必要があります)。
- SORT 基本コマンドと、その後に 5 個までのフィールド参照を入力します。例:
フィールド #6 を最初のキーとし、フィールド #3 を 2 番目のキーとして使用し、データ・セットを降順でソートします。SORT #6 D #3 D
KEY または SLOT NUMBER の順序にリストを復元するには、次のようにします (KSDS、VRDS、および RRDS VSAM データ・セットの場合)。
- KSDS、VRDS、または RRDS VSAM データ・セットをいずれかの表示形式で表示します。
- SORT コマンドを発行するか、レコードを移動または追加するか、「Key (キー)」フィールド (KSDS のみ) を編集することにより、KEY または SLOT NUMBER の順序と関係なくデータをソートします。レコードの編集が完了したら、SAVE コマンドを発行します。
- 例えば次のように、SORT コマンドと、その後に続けて KEY パラメーターを発行することにより、KEY または SLOT NUMBER の順序にデータを復元します。
フィールド #6 を最初のキーとし、フィールド #3 を 2 番目のキーとして使用し、データ・セットを降順でソートします。SORT KEY.
例(X)
- テンプレートを使用中でない場合は、次のようになります。
SORT 23 36
- 23 から 36 列目ですべてのレコードを昇順にソートします。
SORT 77 80 D NX
- (編集のみ)77 から 80 列目で非除外レコード降順に (除外レコードが存在しなものとして) ソートします。
SORT 77 80 D 23 36 3 21
- 77 から 80 列目 (基本ソート・キー) ですべてのレコードを降順にソートしてから、23 から 36 列目 (2 次ソート・キー) で昇順に、さらに 3 から 21 列目 (マイナー・ソート・キー) で昇順にソートします。
SORT KEY
- KSDS、VRDS、または RRDS VSAM データ・セットのレコードを元のキー順に復元します。
RRDS および KSDS ファイルの場合には、SORT KEY の動作が異なります。RRDS ファイルでは VSAM スロット値がソート・キーとして使用されますが、KSDS ファイルではキー・フィールドが使用されます。RRDS ファイルに新しいレコードが追加されると、SORT KEY の実行時にファイルの終わりでソートされるように、そのレコードはスロット値を割り振られます。KSDS に追加された新規レコードは、新規キー値でソートされ、新規レコードは、ファイル内の適切な位置にソートされます。
- テンプレートを使用している場合 (TABL 表示形式):
SORT #7 D #6 #3
- フィールド参照番号 7 (基本ソート・キー) のフィールドですべてのレコードを降順にソートしてから、フィールド参照番号 6 (2 次ソート・キー) のフィールドで昇順に、さらにフィールド参照番号 3 (マイナー・ソート・キー) のフィールドで昇順にソートします。
SORT #6 X
- (編集のみ)すべての除外レコードをフィールド参照番号 6 のフィールドで昇順に (非除外レコードが存在しないものとして) ソートします。
関連トピック