Suppose that you wanted both record formats to be placed into the table. This might be the case if you intended to do any work within your RDBMS. Add the WHEN XFD directive in front of each record, as shown below. The underlined fields are the ones that will be entered into the table:
fd p-o-file. $xfd when p-o-record-type = "h" 01 p-o-record. 03 p-o-division-number pic 9(3). 03 p-o-record-type pic x. 88 header-record value "h". 88 detail-record value "d". 03 p-o-number pic 9(10). 03 p-o-number-detail redefines p-o-number. 05 picking-ticket-number pic 9(6). 05 shipping-region pic 9(2). 05 p-o-customer-type pic 9(2). 05 p-o-customer-breakdown redefines p-o-customer-type. 07 customer-category pic x. 88 p-o-customer-retail value "r". 88 p-o-customer-whlsale value "w". 07 customer-pay-format pic x. 88 is-net-30 value "3". 88 is-net-10 value "1". 03 p-o-date. 05 p-o-yy pic 9(2). 05 p-o-mm pic 9(2). 05 p-o-dd pic 9(2). $xfd when p-o-record-type = "d" 01 p-o-detail-record. 03 p-o-dept-number pic 9(3). 03 p-o-record-type pic x. 03 detail-p-o-number pic 9(10). 03 p-o-shipping-info. 05 p-o-quantity-to-ship pic s9(4) comp. 05 p-o-total-quantity pic s9(4) comp. 03 p-o-notes. 05 notes-line occurs 3 times pic x(40).
"p-o-record-type" is entered into the table only once. The "detail-p-o-number" field is not part of the table, because the key overlays this area.
The following table is built in the database:
Column Name | Type |
---|---|
p_o_division_number | number(3)* |
p_o_record_type | char(1) |
p_o_number | number(10)* |
p_o_yy | number(2)* |
p_o_mm | number(2)* |
p_o_dd | number(2)* |
p_o_dept_number | number(3)* |
p_o_quantity_to_ship | number(4)* |
p_o_total_quantity | number(4) |
notes_line_1 | char(40) |
notes_line_2 | char(40) |
notes_line_3 | char(40) |
* The actual database datatype may vary.