1. MERGE
MERGEステートメントは、ソートされたファイルをマージします。各ファイルのレコードは、キーに従ってソートされている必要があります。
以下は、ステートメントの各設定項目についての説明です。
-
file-name-1
SD項目に記述された名前です。
-
ASCENDING KEY句およびDESCENDING KEY句
マージ・キーが昇順なのか降順なのかを指定します。
項目 説明 data-name-1
MERGEステートメントで使用されるKEYデータ項目を記述します。data-name-1は、file-name-1に関連するレコードに含まれたデータ項目である必要があります。
データ項目は、キーのレベルが高い順に左から右へ記述されます。つまり、左端に記述されたデータ項目が最もレベルの高いキーとなり、その次のデータ項目が2番目のレベルのキーとなります。
-
KEYデータ項目は、各入力ファイルの中で物理的に同じ位置に存在する必要があり、データ形式も同じである必要があります。ただし、データ名は同じである必要はありません。
-
file-name-1が1つ以上のレコード記述を有する場合、KEYデータ項目は、その中のいずれかのレコードに記述されている必要があります。
-
KEYデータ項目は、OCCURS節を含むことができず、OCCURS節を含む項目に従属されてはなりません。
-
KEYデータ項目は、修飾することができます。
KEYデータ項目は、以下のデータ・カテゴリのいずれかになります。
-
英字、英数字、英数字編集
-
数字
-
数字編集(with USAGE DISPLAY)
-
内部浮動小数点またはDISPLAY浮動小数点
-
-
-
COLLATING SEQUENCE句
MERGEステートメントの動作で、KEYデータ項目に対して行われる英数字比較で使用される照合シーケンスを指定します。
項目 説明 alphabet-name-1
SPECIAL-NAMES段落のALPHABET節に定義されている必要があります。
-
USING句
入力ファイルを記述します。
項目 説明 file-name-2、...
入力ファイルを定義します。USING句が使用されると、入力ファイル(file-name-2、...)のすべてのレコードがfile-name-1に自動転送されます。
すべての入力ファイルは、データ部のFD項目に記述されている必要があります。
-
GIVING句
出力ファイルを記述します。
項目 説明 file-name-3、...
出力ファイルを記述します。
GIVING句が記述されると、ソートされたすべてのレコードは出力ファイルに自動転送されます。
すべての出力ファイルは、データ部のFD項目に記述されている必要があります。
-
OUTPUT PROCEDURE句
マージ処理を実行した後、出力レコードを選択および変更するプロシージャ名を記述します。
項目 説明 procedure-name-1
出力プロシージャの最初の(または一意の)セクションまたは段落を記述します。
procedure-name-2
出力プロシージャの最後のセクションまたは段落を記述します。
出力プロシージャにはRETURNステートメントがあり、file-name-1が参照するファイルから一度に1つのレコードを受け取ります。そのほか、多様なステートメント(OPEN、WRITE、CLOSEなど)を使用して、出力レコードを選択、コピー、変更することができます。
|
MERGEステートメントが実行されると、file-name2、file-name3、...に含まれたすべてのレコードが、記述されたキーに従ってマージされます。 |