Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, プログラミング・ガイド

ソート・タイプの選択

ソート・プログラムを最大限活用するためには、ソート・プログラムの働きについても多少の知識が必要です。 PL/I プログラム内で、ソート・インターフェース・サブルーチン  PLISRTx に 対して CALL ステートメントを使うことによって、ソートを指定します。 このサブルーチンは x=A、B、C、および D の 4 つのエントリー・ポイントを 持っています。それぞれが未ソート・データの異なるソースおよびソートが完了したときの データの宛先を指定します。例えば、PLISRTA の呼び出しは、未ソート・データ (ソートへの入力) が、ある 1 つのデータ・セット上にあることを指定し、 ソート済みデータ (ソートからの出力) を別のデータ・セットに置くことを指定します。 CALL PLISRTx ステートメントに含めなければならないものは、 ソートしようとするデータ・セットに関するソート・プログラム情報を示した引数リスト、 ソートを行うフィールド、使用可能なスペースの大きさ、 ソートが成功したかまたは失敗したかを示すための戻りコードを ソート・プログラムが入れる変数の名前、および使用可能な出力または入力の処理プロシージャーがあればその名前です。

ソート・インターフェース・ルーチンは、ソート・プログラム用の引数リストを、 PLISRTx 引数リストが提供する情報と、選択した  PLISRTx エントリー・ポイント から作成します。 次に、制御はソート・プログラムに移されます。 出力または入力の処理ルーチンを指定していれば、それぞれの未ソートまたは ソート済みレコードを処理するのに必要な回数だけ、 処理ルーチンがソート・プログラムによって呼び出されます。 ソート操作が完了するとソート・プログラムは、戻りコードで ソートが成功したか失敗したかを知らせて、PL/I 呼び出しプロシージャーに戻ります。 なお、その戻りコードは、インターフェース・ルーチンに 渡される引数のうちの 1 つに入れられています。 次に戻りコードは、処理を継続すべきかどうかを 判別するために、PL/I ルーチン中でテストすることができます。図 46 は、この操作を示す単純化されたフローチャートです。

図 46. ソート・プログラムの制御の流れ
ソート・プログラムの制御の流れ

ソート・プログラムそのものにおいては、 ソート・プログラムと入力および出力処理ルーチン との間の制御の流れは、 戻りコードで制御されます。 ソート・プログラムは、その処理の途中で、適切な時点でこれらのルーチンを呼び出します。 (ソート・プログラムとそれに関連した資料では、これらのルーチンは ユーザー出口 と呼ばれます。 ソートされる入力を渡すルーチンは、E15 ソート・ユーザー出口です。 ソート済み出力を処理する ルーチンは、E35 ソート・ユーザー出口です。) これらのルーチンから、ソート・プログラムは、そのルーチンをもう一度呼び出すべきか、 または次の処理段階に進むべきかを示す戻りコードがくることを予期します。

ソート・プログラムに関して覚えておくべき重要点は次の 2 つです。 (1) ソート・プログラムは、完全なソート操作を処理する自己完結型プログラムである。 (2) ソート・プログラムは、呼び出し側との連絡、および呼び出しを行うユーザー出口との連絡を、 戻りコードを使って行う。

この章の後半では、PL/I からどのようにソート・プログラムを使用するかについて 詳しく説明します。まず、必要な PL/I ステートメントについて説明し、 次にデータ・セット要件について説明します。この章の終わりには、ソート・インターフェース・ルーチンの 4 つの エントリー・ポイントを示す一連の例を挙げてあります。


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)