ソート・ファイルおよびマージ・ファイルは、環境部の SELECT ステートメントとデータ部の SD (ソート記述) 項目を使用して記述する必要があります。 例として 図 103 を参照してください。 SD 項目に記述されるソート・ファイルまたはマージ・ファイルは、ソートまたはマージの操作中に使用される作業用ファイルです。 このファイルについて入出力ステートメントを実行することはできません。
ソートまたはマージの操作の入出力用に使用されるファイルを記述するには、 データ部で FD (ファイル記述) 項目を指定してください。 WORKING-STORAGE SECTION か LINKAGE SECTION だけに定義されているレコードのソートまたはマージを行うこともできます。 WORKING-STORAGE SECTION または LINKAGE SECTION のデータ項目のソートまたはマージだけを行い、ソートまたはマージ操作の入出力としてファイルを使用しない場合でも、 ソート・ファイルまたはマージ・ファイルに SD 項目と FILE-CONTROL 項目が必要です。
どの SD 項目にもレコード記述が含まれていなければなりません。 たとえば、次のようにします。
SD SORT-WORK-1. 01 SORT-WORK-1-AREA. 05 SORT-KEY-1 PIC X(10). 05 SORT-KEY-2 PIC X(10). 05 FILLER PIC X(80).
5722WDS V5R4M0 060210 LN IBM ILE COBOL CBLGUIDE/SMPLSORT ISERIES1 06/02/15 13:54:42 ページ 2
ソ ー ス
STMT PL SEQNO -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN S コピー名 変更日付
1 000100 IDENTIFICATION DIVISION.
2 000200 PROGRAM-ID. SMPLSORT.
000300
3 000400 ENVIRONMENT DIVISION.
4 000500 CONFIGURATION SECTION.
5 000600 SOURCE-COMPUTER. IBM-ISERIES.
6 000700 OBJECT-COMPUTER. IBM-ISERIES.
7 000800 INPUT-OUTPUT SECTION.
8 000900 FILE-CONTROL.
001000*
001100* ソート・ファイルが文書として扱われるように名前を割り当てる
001200*
9 001300 SELECT SORT-WORK-1
10 001400 ASSIGN TO DISK-SORTFILE1.
11 001500 SELECT SORT-WORK-2
12 001600 ASSIGN TO DISK-SORTFILE1.
13 001700 SELECT INPUT-FILE
14 001800 ASSIGN TO DISK-INFILE.
001900
15 002000 DATA DIVISION.
16 002100 FILE SECTION.
17 002200 SD SORT-WORK-1.
18 002300 01 SORT-WORK-1-AREA.
19 002400 05 SORT-KEY-1 PIC X(10).
20 002500 05 SORT-KEY-2 PIC X(10).
21 002600 05 FILLER PIC X(80).
002700
22 002800 SD SORT-WORK-2.
23 002900 01 SORT-WORK-2-AREA.
24 003000 05 SORT-KEY PIC X(5).
25 003100 05 FILLER PIC X(25).
003200
26 003300 FD INPUT-FILE.
27 003400 01 INPUT-RECORD PIC X(100).
003500
003600* .
003700* .
003800* .
003900
28 004000 WORKING-STORAGE SECTION.
29 004100 01 EOS-SW PIC X.
30 004200 01 FILLER.
31 004300 05 TABLE-ENTRY OCCURS 100 TIMES
004400 INDEXED BY X1 PIC X(30).
004500* .
004600* .
004700* .
004800
* * * * * ソ ー ス 仕 様 の 終 わ り * * * * *
ソート・ファイルおよびマージ・ファイルは、手続き部 (PROCEDURE DIVISION) の SORT ステートメントまたは MERGE ステートメントを使用して処理します。 このステートメントでは、レコードのフィールドのうち、ソートまたはマージの順序を指定するキー・フィールドを指定します。 キーは昇順か降順に指定することができ、また複数キーを指定した場合にはその 2 つを組み合わせて使用するよう指定することができます。
同一の ILE COBOL プログラムで SORT ステートメントと MERGE ステートメントを混用できます。 1 つの ILE COBOL プログラムにいくつでもソート操作またはマージ操作を指定でき、 そのおのおのに独自の入力プロシージャーまたは出力プロシージャーを指定できます。
ILE COBOL プログラム中では、次の操作を含む複数のソート操作またはマージ操作を実行できます。
ただし、1 つの操作を完了してから別の操作を開始しなければなりません。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.