重新定义的数据根据记录类型对同一存储区域使用备用记录布局。
要读取重新定义的数据,为每种类型的记录定义一个带有关联视图的表。要插入、更新、删除或捕获对重新定义的数据所作的更改,为每种记录类型定义一个单独的表。
为重新定义的数据映射的每个表必须包含标识公用键信息的列以及对应于类型代码字段的列。这些列后面是特定于类型的列。
在以下 PL/I 示例中,UNION 属性为同一存储区域定义两个备用记录映射。RECORD_TYPE 变量指定后面的数据是描述职员信息还是地址信息。
DCL 01 EMPLOYEE_ADDRESS_RECORD, 05 EMP_ID CHAR(6), 05 RECORD_TYPE CHAR(1), 05 RECORD_INFO UNION, 10 EMPLOYEE_INFORMATION, 15 LAST_NAME CHAR(20), 15 FIRST_NAME CHAR(20), 15 DATE_OF_BIRTH PIC '(8)9', 15 MONTHLY_SALARY DECIMAL(7,2), 15 FILLER CHAR(48), 10 ADDRESS_INFORMATION, 15 ADDRESS_LINE_1 CHAR(30), 15 ADDRESS_LINE_2 CHAR(30), 15 ADDRESS_CITY CHAR(20), 15 ADDRESS_STATE CHAR(2), 15 ADDRESS_ZIP PIC '(5)9';
有关使用重新定义的数据的其他示例,请参阅数据定义示例中的记录类型。