バージョン 4.2.5
 —  パラメータリファレンス  —

SORT - ソートプログラムの制御

この Natural プロファイルパラメータは、SORT ステートメントの処理に使用されるソートプログラムを制御するために使用します。 Natural パラメータモジュール NATPARMNTSORT マクロに対応します。

SORT または NTSORT では、SORT ステートメントの実行時に使用されるソートプログラムの処理を制御する各種オプションを指定できます。

ソートプログラムとしては、Natural の内部プログラム(すべての環境でデフォルト)または外部プログラムを使用できます。 使用されるソートのタイプは、キーワードサブパラメータ EXT の設定によって異なります。

可能な設定   個々のオプションおよび可能な設定については、下記の「SORT パラメータの構文」を参照してください。
デフォルト設定   WRKSIZE=10,STORAGE=MAIN,EXT=OFF,EXTNAME=SORT,EXTEOJ=OFF
ダイナミックな指定

このパラメータはダイナミックに指定することしかできません。 Natural パラメータモジュール NATPARM では、代わりにマクロ NTSORT を使用する必要があります。

セッション内の指定 不可  

以下では次のトピックについて説明します。


SORT パラメータの構文

SORT パラメータは次のように指定します。

SORT=(WRKSIZE=nnn,STORAGE=medium,EXT=ON/OFF,EXTNAME=name,EXTOPT=(options,...),EXTEOJ=ON/OFF)

Top of page

NTSORT マクロの構文

NTSORT マクロは次のように指定します。

NTSORT WRKSIZE=nnn,STORAGE=medium,EXT=ON/OFF,EXTNAME=name,EXTOPT=(options,...),EXTEOJ=ON/OFF

個々のキーワードサブパラメータについて次に説明します。

Top of page

キーワードサブパラメータ

次のキーワードサブパラメータが利用可能です。

WRKSIZE | STORAGE | EXT | EXTNAME | EXTOPT | EXTEOJ

WRKSIZE - ソートプログラムで使用されるワークバッファのサイズ

WRKSIZE では、ソートプログラムで使用されるワークバッファのサイズ nnnnnnn(KB 単位)を指定します。

設定可能値: 102097151、または 0
デフォルト値: 10

WRKSIZE=0 を指定した場合、ソート処理は実行できません。

WRKSIZE で指定したワークバッファには、内部ソート制御データが格納されます。 残りのストレージは、レコードを収集およびソートするために使用されます。 ソート制御データのサイズは、各種要因(WRKSIZE 自体、ソートレコードの長さ、ソートキーの数、そのサイズとフォーマット)によって異なるため、形式的な方法で計算することはできません。

STORAGE - ストレージ媒体のタイプ

STORAGE では、Natural の内部ソートプログラムで使用されるストレージ medium のタイプを指定します。

一般に、SORT ステートメントでは、最初に WRKSIZE の残りのストレージを使用しようとします。 レコードの数がこのストレージを超過した場合、SORT ステートメントではレコードをさらに処理するために中間ストレージを使用しようとします。

MAIN WRKSIZE の残りのストレージのみが使用され、他の中間ストレージは使用できません。

これはデフォルト設定です。

BP SORT バッファプールが中間ストレージとして使用されます。 下記の注を参照してください。
SD SD ファイルが中間ストレージとして使用されます。 この値は Com-plete でのみ有効です。
SMARTS SMARTS ポータブルファイルシステムが使用されます。

Com-plete/SMARTS での SD ファイルに関する注

ソートバッファプールの使用方法に関する注

ソートバッファプールを使用する場合、SORT キーワードサブパラメータ STORAGE=BP を定義し、定義済みの WRKSIZE とは別の追加ストレージにソートバッファプールを使用することを指定します。 同時に、プロファイルパラメータ BPI またはパラメータマクロ NTBPI を使用して、TYPE=SORT および NAME=name のバッファプールを Natural に認識させる必要があります(例:BPI=(TYPE=SORT,NAME=XYZ))。 名前を BPI キーワードサブパラメータ NAME で指定した場合、グローバルソートバッファプールが参照されます。一方で、ローカルバッファプールは NAME=' '(空白)で指定できます。

EXT - 外部ソートプログラムの使用

EXT では、外部ソートプログラムを使用するかどうかを指定します。

ON 外部ソートプログラムが使用されます。 外部ソートプログラムは、バッチ環境(IMS/BMP、TSO、TIAM、および CMS を含む)でのみ使用できます。
OFF Natural SORT プログラムが使用されます(デフォルト)。

EXTNAME - 外部ソートプログラムの名前

このサブパラメータは BS2000/OSD では適用されません。

EXTNAME では、使用する外部ソートプログラムの name(1~8 文字)を指定します。 デフォルトの名前は SORT です。

EXTOPT - 外部ソートプログラム用の追加オプション

このサブパラメータは BS2000/OSD では適用されません。

EXTOPT では、外部ソートプログラム用の追加の options を指定します。

Natural は、必要なフィールドおよびフォーマットパラメータを生成し、それらを外部ソートプログラムに渡します。 EXTOPT では、外部ソートプログラムに渡される追加のパラメータを指定できます。 パラメータを指定する際は、外部ソートプログラムの制御ステートメント構文の一部として指定する必要があります。

最大 2 つのオプション文字列をスラッシュ(/)で区切って指定できます。 最初のオプション文字列は SORT 制御ステートメントに追加され、2 番目のオプション文字列は OPTION 制御ステートメントを構築するために使用されます。 スラッシュの前後のオプション文字列を省略することもできます。 スラッシュの後のオプション文字列を省略した場合、OPTION 制御ステートメントはまったく生成されません。

オプション文字列全体を一重引用符('...')で囲む必要があります。 互換性の理由から、オプション文字列を代わりに角カッコで囲むこともできます。

互換性の理由から、先頭または末尾のスラッシュなしの単一のオプション文字列は異なる方法で処理されます。 基礎となるオペレーティングシステムに応じて、オプションは次の制御ステートメントに追加されます。

z/OS および VM/CMS: SORT 制御ステートメント
z/VSE: OPTION 制御ステートメント

EXTOPT の例:

追加のパラメータは次の例のように指定できます。

EXTOPT=(SIZE=E2000000,NOEQUALS,DYNALLOC=(3350,8))
EXTOPT='SIZE=E2000000,NOEQUALS,DYNALLOC=(3350,8)'
EXTOPT='SIZE=E2000000,NOEQUALS,DYNALLOC=(3350,8)/NOCHECK'
EXTOPT='/NOCHECK'
EXTOPT='WORK=4/'

EXTEOJ - エラーが発生した場合の対処

EXTEOJ では、外部ソートプログラムの実行中にエラーが検出された場合の処理を指定します。

ON エラーが検出された場合、SORT 処理は終了します。 ON では、使用する SORT プログラムで E15 および E35 SORT 出口ルーチンの両方からリターンコード 16 を検出できる必要があります。
OFF エラーが検出された場合、Natural はソートプログラムへのその後のコールを控え、E35 SORT 出口ルーチンに渡される各レコードを無視します(デフォルト)。

Top of page