REDEFINES Clause

The REDEFINES clause allows you to use different data description entries to describe the same computer storage area.

Read syntax diagramSkip visual syntax diagram
REDEFINES Clause - Format

>>-level-number--+-------------+--REDEFINES--data-name-2-------><
                 +-data-name-1-+                           
                 '-FILLER------'                           

When specified, the REDEFINES clause must be the first entry following data-name-1 or FILLER. If data-name-1 or FILLER is not specified, the REDEFINES clause must be the first entry following the level-number, and the data item being described is treated as though FILLER has been specified.

The level-numbers of data-name-1 and data-name-2 must be identical, and must not be level 66 or level 88.
data-name-1/FILLER
Identifies an alternate description for the same area, and is the redefining item or the REDEFINES subject.
data-name-2
Is the redefined item or the REDEFINES object. Contrast it with data-name-1, which is the REDEFINES clause subject.
IBM Extension
IBM Extension

Both data-name-1 and data-name-2 can specify a pointer, procedure-pointer, external or internal floating-point data item, DBCS, national, date, time, or timestamp item.

End of IBM Extension
End of IBM Extension

The following rules apply when coding the REDEFINES clause.

When more than one level-01 entry is written subordinate to an FD entry (and the level-01 entry is not a type-name), a condition known as implicit redefinition occurs. That is, the second level-01 entry implicitly redefines the storage allotted for the first entry. In such level-01 entries, the REDEFINES clause and TYPE clause must not be specified. In addition, the TYPE clause must not be specified in any items subordinate to any of the level-01 entries.