This example (order1.cbl) just uses the -Fx compiler option to generate the XFD. The compiled program builds the database table shown at the end of this section.
All data from the COBOL program is stored in and retrieved from the database, even though not all fields are explicitly named in the database table. For a description of how this works, see XFDs.
The underlined fields are the only ones entered into the table:
fd p-o-file.
 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).
 
 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). 
            	 As the table is built:
The following table is built in the database:
| Column Name | Type | 
|---|---|
| p_o_number | number(10)* | 
| p_o_dept_number | number(3)* | 
| p_o_record_type | char(1) | 
| 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 data type may vary.
See the Limits and Ranges topic for your specific RDBMS for a list of supported data types and their COBOL equivalents.