CORRESPONDING 句

同じ名前の基本データ項目が属しているグループ項目が指定されている場合には、CORRESPONDING 句 (CORR) を使用することにより、 それらの基本データ項目に対して ADD、SUBTRACT、および MOVE 操作を実行できます。

キーワード CORRESPONDING の後にある ID は両方とも、グループ項目でなければなりません。 ここの説明では、これらの ID を ID-1 および ID-2 とします。

ID-1 から 1 つ、また ID-2 から 1 つのデータ項目の対 (従属項目) は、以下の条件が真である場合に対応します。
  • ADD または SUBTRACT ステートメントで、両方のデータ項目は基本数字データ項目である。 これ以外のデータ項目は無視されます。
  • MOVE ステートメントで、データ項目のうち少なくとも 1 つが基本項目であり、その移動は移動規則に従って行われる。
  • 両方の従属項目が同じ名前をもち、ID-1 および ID-2 までの (ID-1 および ID-2 は含まない) 同じ修飾子をもっている。
  • 従属項目が、キーワード FILLER によって識別されない。
  • ID-1 と ID-2 のどちらもレベル 66 またはレベル 88 の項目として記述されておらず、INDEX、POINTER、PROCEDURE-POINTER のどの項目の使用法でもない。 ID-1 と ID-2 のどちらも修正済みとして参照することができません。 暗黙の修飾子のアプリケーションの後では、データ項目の名前は固有のものでなければなりません。
  • 従属項目の記述には、REDEFINES、RENAMES、 OCCURS、USAGE IS INDEX、USAGE IS POINTER、または USAGE IS PROCEDURE-POINTER のいずれかの文節は含まれない。その従属項目がグルー プであれば、その項目に従属する項目も無視されます。

    ただし、ID-1 および ID-2 は、それ自体が記述に REDEFINES 文節や OCCURS 文節を含む項目を含んでいたり、あるいはそれらに従属することがあります。

  • ID-1 と ID-2 は、FILLER 項目に従属することがある。
    例えば、2 つのデータ階層が次のように定義されているとします。
    05  ITEM-1 OCCURS 6 INDEXED BY X.
      10  ITEM-A PIC S9(3).
      10  ITEM-B PIC 99V9.
      10  ITEM-C PIC X(4).
      10  ITEM-D REDEFINES ITEM-C PIC 9(4).
      10  ITEM-E PIC 9(4) USAGE COMP.
      10  ITEM-F USAGE INDEX.
      10  ITEM-G PIC X(4).
    05  ITEM-2.
      10  ITEM-A PIC 99.
      10  ITEM-B PIC 9V9.
      10  ITEM-C PIC A(4).
      10  ITEM-D PIC 9(4).
      10  ITEM-E PIC 9(9) USAGE COMP.
      10  ITEM-F USAGE INDEX.
      10  ITEM-G PIC X(4).
    その後、ADD CORR ITEM-2 TO ITEM-1(X) が指定されていると、以下のようになります。
    • ITEM-A および ITEM-A(X); ITEM-B および ITEM-B(X); ITEM-E および ITEM-E(X) は対応していると見なされて加えられます。
    • ITEM-C および ITEM-C(X); ITEM-G および ITEM-G(X) は数字ではないので含まれていません。
    • ITEM-D および ITEM-D(X) は加えられません。 その理由は、ITEM-D(X) がそのデータ記述の中に REDEFINES 文節を含んでいるからです。
    • ITEM-F および ITEM-F(X) は、USAGE IS INDEX として定義されているので加えられません。

(デフォルトの) *PRTCORR コンパイラー・オプションまたは PROCESS ステートメントの PRTCORR オプションを使用すると、 コンパイラーは、CORRESPONDING 句が入っている各ステートメントの後のコンパイラー・リスト内にコメント行を挿入します。 これらのコメント行は、次の有効なソース・ステートメントの直前で印刷され、指定されたグループ内部で影響を受ける基本項目を識別します。