突き合わせレコードの処理

2 つ以上のファイルのレコードの突き合わせは、以下の方法で処理されます。
  • 1 次ファイルのレコードと 2 次ファイルのレコードが 一致した場合には、常に 1 次ファイルが先に処理されます。 その後で 、一致した 2 次ファイルが処理されます。 選択されたばかりのレコー ド・タイプを識別するレコード識別標識は、レコードが処理される時点でオンに なっています。 この標識は、行われる処理のタイプを制御するためによく使用されます。
  • 昇順ファイルのレコードが一致しない場合には、常に突き合わせフィールドの内 容が最低のレコードが先に処理されます。 降順ファイルのレコードが一致しない 場合には、常に突き合わせフィールドの内容が最高のレコードが先に処理されます。
  • 突き合わせフィールドの指定のないレコードは、前のレコードの直後に続けて処 理されます。 MR 標識はオフになっています。 このレコード・タイプがファイル中の最初のもの である場合には、1 次ファイルの中のものでなくても先に処理されま す。
  • レコードの突き合わせによって、1 次レコードは一致した 2 次レコードの前に処理されるので、1 次レコードからのデータをそ の一致した 2 次レコードに入れることができます。 しかし、2 次レコード から一致した 1 次レコードへのデー タの転送は、先読みフィールドが指定されている場合にだけ実行することができ ます。

図 1 および 図 2 は、3 つのファイルから レコードがどのように処理のために選択されるかを示しています。

図 1. 3 つのディスク・ファイルからレコードを選択する通常の方法
3 つのディスク・ファイルからレコードを選択する通常の方法

上記の 3 つのディスク・ファイルのレコードは太字で示した順序で選択されます。

表 1. 3 つのディスク・ファイルからレコードを選択する通常の方法
サイクル 処理されるファイル オンになる標識 標識が設定される理由
1 1 次 02 突き合わせフィールドの指定がない
2 1 次 02 突き合わせフィールドの指定がない
3 最初の 2 次 04 突き合わせフィールドの指定がない
4 2 番目の 2 次 05 2 番目の 2 次が低く、1 次と一致しない
5 1 次 01、MR 1 次が最初の 2 次と一致する
6 1 次 01、MR 1 次が最初の 2 次と一致する
7 最初の 2 次 03、MR 最初の 2 次が 1 次と一致する
8 最初の 2 次 03 最初の 2 次が低く、1 次と一致しない
9 最初の 2 次 03 最初の 2 次が低く、1 次と一致しない
10 2 番目の 2 次 05 2 番目の 2 次が低く、1 次と一致しない
11 1 次 01 1 次が低く、2 次と一致しない
12 1 次 01、MR 1 次が 2 番目の 2 次と一致する
13 1 次 02 突き合わせフィールドの指定がない
14 2 番目の 2 次 05、MR 2 番目の 2 次が 1 次と一致する
15 2 番目の 2 次 05、MR 2 番目の 2 次が 1 次と一致する
16 2 番目の 2 次 06 突き合わせフィールドの指定がない
17 1 次 01、MR 1 次が両方の 2 次ファイルと一致する
18 最初の 2 次 03、MR 最初の 2 次が 1 次と一致する
19 最初の 2 次 04 突き合わせフィールドの指定がない
20 2 番目の 2 次 05、MR 2 番目の 2 次が 1 次と一致する
21 最初の 2 次 03 最初の 2 次が低く、1 次と一致しない
22 1 次 01、MR 1 次が両方の 2 次ファイルと一致する
23 最初の 2 次 03、MR 最初の 2 次が 1 次と一致する
24 最初の 2 次 02、MR 最初の 2 次が 1 次と一致する
25 2 番目の 2 次 05、MR 2 番目の 2 次が 1 次と一致する
26 2 番目の 2 次 05、MR 2 番目の 2 次が 1 次と一致する
図 2. 3 つのディスク・ファイルからレコードを選択する通常の方法 - パート 1
この図は、3 つのディスク・ファイルからレコードを選択する通常の方法を示しています。
図 3. 3 つのディスク・ファイルからレコードを選択する通常の方法 - パート 2
この図は、3 つのディスク・ファイルからレコードを選択する通常の方法を示しています。