Provides an alternate way to define a field.
Format
level-no field-name-1 REDEFINES field-name-2
1 – Arguments
level-no
Is the level number of field-name-1. Although not a part of the
REDEFINES clause, the level number is shown in the format to
clarify its position relative to the clause.
field-name-1
Is the name of the REDEFINES field. You use this name when you
want to refer to this field. Although not a part of the REDEFINES
clause, the field name is shown in the format to clarify its
function and its position relative to the clause.
field-name-2
Is the name of the field being redefined.
2 – Example
The following record definition shows a redefinition of the field
PART_NUMBER. PART_NUMBER is a numeric field containing 10 digits.
Two group fields redefine PART_NUMBER: PART_NUMBERS_PARTS and
PART_NUMBER_GROUPS. Each redefinition specifies a group field
containing a total of 10 digits (the total number of digits in
all subordinate fields):
05 PART_NUMBER PIC 9(10)
05 PART_NUMBER_PARTS REDEFINES PART_NUMBER.
07 PRODUCT_GROUP PIC 99.
07 PRODUCT_YEAR PIC 99.
07 ASSEMBLY_CODE PIC 9.
07 SUB_ASSEMBLY PIC 99.
07 PART_DETAIL PIC 999.
05 PART_NUMBER_GROUPS REDEFINES PART_NUMBER.
07 PRODUCT_GROUP_ID PIC 9(4).
07 PART_DETAIL_ID PIC 9(6).
In this example, the field PRODUCT_GROUP refers to the lowest-
valued digits of PART_NUMBER; PRODUCT_YEAR refers to the next two
lowest-valued digits, and so on.