재정의된 데이터는 레코드 유형을 기초로 동일한 스토리지 영역에 대해 대체 레코드 레이아웃을 사용합니다.
재정의된 데이터를 읽으려면 레코드의 각 유형에 대한 연관된 뷰를 갖는 테이블을 정의하십시오. 재정의된 데이터에 대한 변경을 삽입, 갱신, 삭제 캡처하려면 각 레코드 유형에 대해 별도의 테이블을 정의하십시오.
재정의된 데이터에 대해 맵핑하는 각 테이블은 공통 키 정보를 식별하는 컬럼과 유형 코드 필드용 컬럼을 포함해야 합니다. 이들 컬럼 뒤에는 유형에 특정한 컬럼이 있습니다.
다음 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';
재정의된 데이터에 대한 작업의 추가 예는 데이터 정의의 레코드 유형 예를 참조하십시오.