MERGE(併合)文は、指定されたキーの組に従って同じようにそろえられているいくつかのファイルを、1つのファイルに併合する。そして、併合された順番に従って、出力手続きまたは出力ファイルへレコードを引き渡す。
この制約は解除されている。
ファイル名-1のファイルのレコードが可変長であると、ファイル名-1のファイルに書き出されるレコードの大きさは、ファイル名-2またはファイル名-3から読み込んだときのレコードの大きさとなる。このことは、ファイル名-1のファイルの整列併合ファイル記述項に指定した、RECORD IS VARYING句またはOCCURS句のDEPENDING ON指定の対象となっているデータ項目の内容にかかわらず適用される。
相対ファイルに関しては、相対キー・データ項目の内容がMERGE文の実行後にどうなっているかはわからない。
USE AFTER EXCEPTION/ERROR手続きを指定してあれば、この暗黙のCLOSE処理において、それも対象となる。
ファイル名-2またはファイル名-3のファイル記述項中に指定した、RECORD IS VARYING句のDEPENDING ON指定の対象となっているデータ項目の内容は、MERGE MERGE文の完了時点でどのようになっているかわからない。
ファイル名-4のファイルのレコードが可変長であると、ファイル名-4のファイルに書き出されるレコードの大きさは、ファイル名-1から読み込んだときのレコードの大きさとなる。このことは、ファイル名-4のファイルの整列併合ファイル記述項に指定した、RECORD IS VARYING句またはOCCURS句のDEPENDING ON指定の対象となっているデータ項目の内容にかかわらず適用される。
相対ファイルに関しては、相対キー・データ項目の値は、最初のレコードが引き取られたときは"1" 、2番目のレコードが引き取られたときは"2" という具合いに設定される。MERGE文の実行が終了した後で、相対キー・データ項目の内容がどうなっているかはわからない。
USE AFTER EXCEPTION/ERROR手続きを指定してあれば、上記の暗黙の処理において、それも対象となる。しかし、そのUSE手続きの中から、ファイル名-4のファイルを操作したりそのレコード領域をアクセスしたりするような文が実行されるようなことがあってはならない。外部的に定義されているファイルの境界を超えて最初にレコードが書き出されると、そのファイルに指定してあるUSE AFTER EXCEPTION/ERROR手続きが実行される。そのUSE手続きから制御が戻されたとき、またはそのようなUSE手続きが指定されていないときは、上記の11cと同様にファイルの処理が終了される。
ファイル名-1のファイル記述項中に指定した、RECORD IS VARYING句のDEPENDING ON指定の対象となっているデータ項目の内容は、GIVINGを指定したMERGE文が完了した時点でどのようになっているかはわからない。