バージョン 6.3.3
 —  ステートメント  —

再定義

DEFINE DATA LOCALDEFINE DATA PARAMETERDEFINE DATA INDEPENDENTDEFINE DATA CONTEXT、および DEFINE DATA OBJECT で使用する redefinition オプションの構文は、次のとおりです。

REDEFINE field-name

level

rgroup

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

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

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


機能

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

注意:

  1. ビューまたは DDM フィールドの "再定義" は、parameter-data-definition には適用されません。
  2. Unicode フィールドを、英数字(A)フィールドまたは数値(N)フィールドとして再定義することはできません。

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

Top of page

制限事項

Top of page

構文説明

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: 例 2: 例 3:
   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
   ...
   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
   ...
   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
   ...

Top of page