In this final approach, streamline the code to introduce the following changes:
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".
$xfd use group, date
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.
$xfd use group, name = notes
03 p-o-notes.
05 notes-line occurs 3 times pic x(40).
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_date | date |
| p_o_dept_number | number(3) |
| p_o_quantity_to_sh | number(4) |
| p_o_total_quantity | number(4) |
| notes | char(120) |