FASTSRT を指定しても、FASTSRT の要件が満たされていないと、コンパイラーはメッセージを出し、代わりに COBOL ランタイムが入出力を実行します。 その場合、プログラムはパフォーマンスの向上を望めなくなります。
FASTSRT を使用するためには、ソートへの入力ファイルおよびソートからの出力ファイルを、次のように記述し、処理してください。
入力または出力プロシージャーを使用する代わりに、次の DFSORT 制御ステートメントを使用できます。
多くの DFSORT の機能では、入力または出力プロシージャーでよく使用されるのと同様の操作を実行します。代わりに適切な DFSORT 制御ステートメントをコーディングし、それらを IGZSRTCD または SORTCNTL データ・セットに入れてください。
出力ファイルに RELATIVE KEY 節をコーディングしても、これはソートでは設定されません。
パフォーマンスのヒント: 入出力レコードをブロック化すると、ソート処理のパフォーマンスが大幅に向上する可能性があります。
SELECT FILE-IN ASSIGN INPUTF. SELECT FILE-OUT ASSIGN OUTPUTF.
DATA DIVISION で、FILE-IN と FILE-OUT の両方についての FD 記入項目を持つことになります。この場合、FILE-IN と FILE-OUT は、それらの名前を除いて同じです。
PROCEDURE DIVISION では、SORT ステートメントを次のように記述します。
SORT file-name ASCENDING KEY data-name-1 USING FILE-IN GIVING FILE-OUT
そうすると JCL では、データ・セット INOUT がカタログされていると想定して、次のようにコーディングします。
//INPUTF DD DSN=INOUT,DISP=SHR //OUTPUTF DD DSN=INOUT,DISP=SHR
これに反して、USING 句と GIVING 句に同じファイル名をコーディングするか、または入力ファイルと出力ファイルに同じ DD 名を割り当てた場合は、そのファイルは入力と出力のいずれかについて FASTSRT に受け入れられますが、両方については受け入れられません。ファイルが入力について FASTSRT に不適格となるような条件が特になければ、ファイルは入力について FASTSRT に受け入れられますが、出力については受け入れられません。ファイルが入力について FASTSRT に不適格である場合でも、出力について FASTSRT に適格である可能性があります。
FASTSRT に対して適格である QSAM ファイルは、SORT ステートメントの実行中に COBOL プログラムからアクセスすることができます。例えば、ファイルが入力で FASTSRT に使用されている場合には、それを出力プロシージャーでアクセスすることができ、ファイルが出力で FASTSRT に使用されている場合には、それを入力プロシージャーでアクセスすることができます。