この Natural プロファイルパラメータは、SORT
ステートメントの処理に使用されるソートプログラムを制御するために使用します。 Natural パラメータモジュール NATPARM
の NTSORT
マクロに対応します。
SORT
または NTSORT
では、SORT
ステートメントの実行時に使用されるソートプログラムの処理を制御する各種オプションを指定できます。
ソートプログラムとしては、Natural の内部プログラム(すべての環境でデフォルト)または外部プログラムを使用できます。 使用されるソートのタイプは、キーワードサブパラメータ EXT
の設定によって異なります。
可能な設定 | 個々のオプションおよび可能な設定については、下記の「SORT パラメータの構文」を参照してください。 | |
---|---|---|
デフォルト設定 | WRKSIZE=10,STORAGE=MAIN,EXT=OFF,EXTNAME=SORT,EXTEOJ=OFF |
|
ダイナミックな指定 | 可 |
このパラメータはダイナミックに指定することしかできません。 Natural パラメータモジュール |
セッション内の指定 | 不可 |
以下では次のトピックについて説明します。
SORT
パラメータは次のように指定します。
SORT=(WRKSIZE=nnn,STORAGE=medium,EXT=ON/OFF,EXTNAME=name,EXTOPT=(options,...),EXTEOJ=ON/OFF) |
NTSORT
マクロは次のように指定します。
NTSORT WRKSIZE=nnn,STORAGE=medium,EXT=ON/OFF,EXTNAME=name,EXTOPT=(options,...),EXTEOJ=ON/OFF |
個々のキーワードサブパラメータについて次に説明します。
次のキーワードサブパラメータが利用可能です。
WRKSIZE
| STORAGE
| EXT
| EXTNAME
| EXTOPT
| EXTEOJ
WRKSIZE
では、ソートプログラムで使用されるワークバッファのサイズ nnnnnnn
(KB 単位)を指定します。
設定可能値: | 10 ~2097151 、または 0 |
デフォルト値: | 10 |
WRKSIZE=0
を指定した場合、ソート処理は実行できません。
WRKSIZE
で指定したワークバッファには、内部ソート制御データが格納されます。 残りのストレージは、レコードを収集およびソートするために使用されます。 ソート制御データのサイズは、各種要因(WRKSIZE
自体、ソートレコードの長さ、ソートキーの数、そのサイズとフォーマット)によって異なるため、形式的な方法で計算することはできません。
STORAGE
では、Natural の内部ソートプログラムで使用されるストレージ medium のタイプを指定します。
一般に、SORT
ステートメントでは、最初に WRKSIZE
の残りのストレージを使用しようとします。 レコードの数がこのストレージを超過した場合、SORT
ステートメントではレコードをさらに処理するために中間ストレージを使用しようとします。
MAIN |
WRKSIZE の残りのストレージのみが使用され、他の中間ストレージは使用できません。
これはデフォルト設定です。 |
BP |
SORT バッファプールが中間ストレージとして使用されます。 下記の注を参照してください。
|
SD |
SD ファイルが中間ストレージとして使用されます。 この値は Com-plete でのみ有効です。 |
SMARTS |
SMARTS ポータブルファイルシステムが使用されます。 |
ファイルは一時 SD ファイルとして割り当てられます。 ファイルはスタックレベルに割り当てられます。 つまり、SORT
SD ファイルの名前の構文は &&STsnnn
になります。
&& |
一時 SD ファイルのインジケータ |
ST | SD ソートファイルの標準接頭辞 |
S | スタックレベル |
nnn | 1 回の SORT 実行におけるシーケンス番号
|
SMARTS ワークファイルは、SMARTS ポータブルファイルシステム内にあります。 パスは SMARTS 環境変数 $NAT_WORK_ROOT
で指定する必要があります。 SORT
ワークファイル用に SORT
という名前の特別なディレクトリが追加され、ユーザーごとにユーザー ID に基づいて別々のディレクトリが作成されます。 結果として得られるディレクトリは $NAT_WORK_ROOT/sort/userid
になります。 SORT
ワークファイルの名前は Com-plete での SD ファイルに対応します。
ソートバッファプールを使用する場合、SORT
キーワードサブパラメータ STORAGE=BP
を定義し、定義済みの WRKSIZE
とは別の追加ストレージにソートバッファプールを使用することを指定します。 同時に、プロファイルパラメータ BPI
またはパラメータマクロ NTBPI
を使用して、TYPE
=SORT
および NAME
=name
のバッファプールを Natural に認識させる必要があります(例:BPI=(TYPE=SORT,NAME=XYZ)
)。 名前を BPI
キーワードサブパラメータ NAME
で指定した場合、グローバルソートバッファプールが参照されます。一方で、ローカルバッファプールは NAME=' '
(空白)で指定できます。
EXT
では、外部ソートプログラムを使用するかどうかを指定します。
ON |
外部ソートプログラムが使用されます。 外部ソートプログラムは、バッチ環境(IMS/BMP、TSO、TIAM、および CMS を含む)でのみ使用できます。 |
OFF |
Natural SORT プログラムが使用されます(デフォルト)。
|
このサブパラメータは BS2000/OSD では適用されません。
EXTNAME
では、使用する外部ソートプログラムの name
(1~8 文字)を指定します。 デフォルトの名前は SORT
です。
このサブパラメータは BS2000/OSD では適用されません。
EXTOPT
では、外部ソートプログラム用の追加の options
を指定します。
Natural は、必要なフィールドおよびフォーマットパラメータを生成し、それらを外部ソートプログラムに渡します。 EXTOPT
では、外部ソートプログラムに渡される追加のパラメータを指定できます。 パラメータを指定する際は、外部ソートプログラムの制御ステートメント構文の一部として指定する必要があります。
最大 2 つのオプション文字列をスラッシュ(/)で区切って指定できます。 最初のオプション文字列は SORT
制御ステートメントに追加され、2 番目のオプション文字列は OPTION
制御ステートメントを構築するために使用されます。 スラッシュの前後のオプション文字列を省略することもできます。 スラッシュの後のオプション文字列を省略した場合、OPTION
制御ステートメントはまったく生成されません。
オプション文字列全体を一重引用符('...')で囲む必要があります。 互換性の理由から、オプション文字列を代わりに角カッコで囲むこともできます。
互換性の理由から、先頭または末尾のスラッシュなしの単一のオプション文字列は異なる方法で処理されます。 基礎となるオペレーティングシステムに応じて、オプションは次の制御ステートメントに追加されます。
z/OS および VM/CMS: | SORT 制御ステートメント
|
z/VSE: | OPTION 制御ステートメント
|
追加のパラメータは次の例のように指定できます。
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
では、外部ソートプログラムの実行中にエラーが検出された場合の処理を指定します。
ON |
エラーが検出された場合、SORT 処理は終了します。 ON では、使用する SORT プログラムで E15 および E35 SORT 出口ルーチンの両方からリターンコード 16 を検出できる必要があります。
|
OFF |
エラーが検出された場合、Natural はソートプログラムへのその後のコールを控え、E35 SORT 出口ルーチンに渡される各レコードを無視します(デフォルト)。
|