再定義

REDEFINE field-name

level

rgroup [(array-definition)]

 
rfield (format-length [/array-definition])
FILLERnX ../graphics/dot3.gif

構文図で使用されている記号については、「構文記号」を参照してください。

redefinition オプションを使用して、グループ、ビュー、DDM フィールド、単一のフィールド/変数(スカラまたは配列)を再定義します。

プログラミングガイド』の「フィールドの再定義」も参照してください。

このドキュメントでは、次のトピックについて説明します。


制限

  • ビューまたは DDM フィールドの redefinition は、parameter-data-definition には適用されません。

  • ハンドル、X-array、ダイナミック変数を再定義すること、および再定義節に含めることはできません。

  • ハンドル、X-array、またはダイナミック変数を含むグループの再定義のみを行うことはできますが、問題の要素を含めることや超えることはできません。

構文説明

構文要素 説明
field-name
再定義するフィールドの名前:

再定義するグループ、ビュー、DDM フィールド、または単一フィールドの名前。

level
再定義するフィールドのレベル番号:

レベル番号は 01~99 の範囲内の 1 桁または 2 桁の数字(先頭の 0 は任意)を使用し、フィールドグルーピングと合わせて使用します。02 またはそれ以上のレベル番号が割り当てられたフィールドは、それより小さいレベル番号が割り当てられた直前のグループの一部であるとみなされます。

rgroup
結果グループの名前:

再定義によって生成されるグループの名前。

注意:
view-definition 内の redefinition では、rgroup の名前は、基礎となる DDM 内のフィールド名とは異なっている必要があります。

rfield
結果フィールドの名前:

再定義によって生成されるフィールドの名前。

注意:
view-definition 内の redefinition では、rfield の名前は、基礎となる DDM 内のフィールド名とは異なっている必要があります。

format-length
結果フィールドのフォーマット/長さ:

生成されるフィールド(rfield)のフォーマットおよび長さ。

array-definition
配列の次元の定義:

array-definition の場合、配列定義の次元の下限と上限を定義します。

詳細については、「配列の次元の定義」を参照してください。

FILLER nX
フィラーバイトの定義:

この表記では、再定義するフィールドに n フィラーバイト(使用しないセグメント)を定義します。

末尾の充填バイトは任意指定です。

REDEFINE の使用例

例 1
   DEFINE DATA LOCAL
     01 #VAR1 (A15)
     01 #VAR2
        02 #VAR2A (N4.1) INIT <0>
        02 #VAR2B (P6.2) INIT <0>
     01 REDEFINE #VAR2
        02 #VAR2RD (A10)
   END-DEFINE
   ...
例 2:
   DEFINE DATA LOCAL
   01 MYVIEW VIEW OF STAFF
      02 NAME
      02 BIRTH
      02 REDEFINE BIRTH
         03 BIRTH-YEAR  (N4)    
         03 BIRTH-MONTH (N2)
         03 BIRTH-DAY   (N2)
   END-DEFINE
   ...
例 3:
   DEFINE DATA LOCAL           
   1 #FIELD (A12)
   1 REDEFINE #FIELD
     2 #RFIELD1 (A2)
     2 FILLER 2X
     2 #RFIELD2 (A2)
     2 FILLER 4X
     2 #RFIELD3 (A2)
   END-DEFINE
   ...