REDEFINES 句

REDEFINES 句は、同一のコンピューター記憶領域を、別のデータ記述項が記述できるようにする。

一般形式


*

上記の level-number および data-name-1

ANS85 または FILLER

は、書き方を明確にするために示してある。level-number および data-name-1

ANS85 または FILLER

は、REDEFINES 句には含まれない。

構文規則

  1. REDEFINES 句を指定する際には、data-name-1 の直後に記述する。

    ANS85 または FILLER の直後に記述する。

    MF あるいは、PICTURE 句または USAGE 句の直後に REDEFINES 句を記述してもよい。

  2. data-name-1 および data-name-2 の level-number は同じとする。ただし、66

    MF 78

    または 88 は使用できない。

  3. この句は、ファイル節内の 01 レベルの記述項では使用できない。これは、FD または SD 指示子に属する複数の 01 レベルの記述項が、同じ領域を暗黙的に再定義するためである。「DATA RECORDS 句」トピックの一般規則 2 を参照。

    MF この句は、ファイル節内の 01 レベルの記述項で使用できる。

  4. OSVSVSC2 data-name-2 のデータ記述項に、REDEFINES 句を含められる。また、

    data-name-2 は、REDEFINES 句を含む記述項に属していてもよい。data-name-2 のデータ記述項には、OCCURS 句を含められない。ただし、データ記述項が OCCURS 句を含む項目に data-name-2 が属していてもよい。この場合、REDEFINES 句内で data-name-2 を参照する際に、添え字または指標は指定できない。元の定義および再定義のどちらも、OCCURS 句で指定した可変サイズの項目は含められない。「OCCURS 句」トピックを参照。

    OSVSMF data-name-2 のデータ記述項には、OCCURS 句を含められる。

    MF レベル番号が 01 の場合、元の定義または再定義 (あるいはその両方) には、OCCURS 句で定義した可変サイズの項目を含められる。

  5. data-name-2 および data-name-1 のデータ記述項の間に、data-name-2 および data-name-1 のレベル番号よりも数値が小さいレベル番号の記述項は配置できない。
  6. OSVSVSC2MF REDEFINES 句の左辺または右辺には、外部または内部浮動小数点数データ項目を指定できる。
  7. ANS85 data-name-2 が一意でない場合でも、data-name-2 は修飾できない。この場合は、REDEFINES 句の配置要件上、data-name-2 にあいまいさがないためである。

    OSVS data-name-2 は修飾してもよいが、指定した修飾は無視される。

  8. 文字位置の新しい記述を提供する項目には、VALUE 句を含められない。ただし、条件名の項目内では例外とする。
  9. ISO2002 REDEFINES 句は、字類がオブジェクトであるデータ項目に指定できない。

    MF REDEFINES 句は、字類がオブジェクトであるデータ項目に指定できる。

  10. ISO2002 data-name-2 には、オブジェクトの字類は指定できない。

    MF data-name-2 には、オブジェクトの字類を指定できる。

  11. ISO2002MF data-name-2 は、ANY LENGTH 句では記述できない。

一般規則

  1. 再定義は data-name-2 で開始し、data-name-2 のレベル番号以下のレベル番号を検出した時点で終了する。
  2. data-name-1 のレベル番号が 01 以外の場合は、data-name-2 が参照するデータ項目に含まれる文字位置と同じ数の文字位置を指定する。

    ANS85OSVS ただし、data-name-1 の領域が、data-name-2 の領域よりも小さくてもよい場合は除く。

    MF ただし、data-name-1 の領域が、data-name-2 の領域よりも大きくてもよい場合は除く。この場合、再定義する項目および再定義される項目のうち大きい方の文字位置数を格納できるだけの追加記憶領域が予約される。

    REDEFINES 句は記憶領域を再定義し、その領域を占めるデータ項目を再定義するわけではない点に注意。

  3. 同じ文字位置の再定義は、複数回実行できる。文字位置の新しい記述を提供する項目は、再定義対象の領域を定義する記述項の後に続ける。それらの間には、新しい文字位置を定義する記述項は挿入できない。同じ文字位置の再定義を複数回実行する場合は、その都度、最初に領域を定義した記述項のデータ名を使用する。

    OSVSVSC2MF または、先行するその記述項の他の再定義のデータ名を使用する。

  4. レベル指示子 (FD または SD) に属する 01 レベルの記述項が複数ある場合は、同じ領域が暗黙的に再定義される。