Cobol-internal-sort
提供:Dev Guides
COBOL-内部ソート
ファイル内のデータのソートまたは2つ以上のファイルのマージは、ほとんどすべてのビジネス指向のアプリケーションで共通の必要性です。 ソートは、レコードを昇順または降順で配列するために使用されるため、順次処理を実行できます。 COBOLでファイルをソートするために使用される2つの技術があります-
- *外部ソート*は、JCLのSORTユーティリティを使用してファイルをソートするために使用されます。 これについては、JCLの章で説明しました。 今のところ、内部ソートに焦点を当てます。
- 内部ソート*は、COBOLプログラム内のファイルをソートするために使用されます。 *SORT 動詞は、ファイルのソートに使用されます。
動詞の並べ替え
COBOLのソートプロセスでは3つのファイルが使用されます-
- *入力ファイル*は、昇順または降順でソートする必要があるファイルです。
- *ワークファイル*は、ソートプロセスの進行中にレコードを保持するために使用されます。 入力ファイルのレコードは、ソートプロセスのためにワークファイルに転送されます。 このファイルは、SDエントリの下のファイルセクションで定義する必要があります。
- *出力ファイル*は、ソート処理後に取得されるファイルです。 これは、ソート動詞の最終出力です。
構文
以下は、ファイルをソートするための構文です-
SORTは次の操作を実行します-
- ワークファイルをI-Oモードで、入力ファイルをINPUTモードで、出力ファイルをOUTPUTモードで開きます。
- 入力ファイルにあるレコードをワークファイルに転送します。
- SORT-FILEをrec-keyで昇順/降順でソートします。
- ワークファイルから出力ファイルにソートされたレコードを転送します。
- 入力ファイルと出力ファイルを閉じて、ワークファイルを削除します。
例
次の例では、INPUTは入力ファイルであり、昇順でソートする必要があります-
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-
動詞を結合
Mergeステートメントを使用して、2つ以上の同じ順序のファイルを結合します。 マージプロセスで使用されるファイル-
- 入力ファイル-入力1、入力2
- ワークファイル
- 出力ファイル
構文
以下は、2つ以上のファイルをマージするための構文です-
Mergeは次の操作を実行します-
- ワークファイルをI-Oモードで、入力ファイルをINPUTモードで、出力ファイルをOUTPUTモードで開きます。
- 入力ファイルにあるレコードをワークファイルに転送します。
- SORT-FILEをrec-keyで昇順/降順でソートします。
- ワークファイルから出力ファイルにソートされたレコードを転送します。
- 入力ファイルと出力ファイルを閉じて、ワークファイルを削除します。
例
次の例では、INPUT1とINPUT2は、昇順でマージされる入力ファイルです-
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-