


Acucorp data dictionaries (".xfd" files) enable the AcuODBC interface to map COBOL records in the indexed or relative file system to "rows" and "columns" of data that can be accessed by common SQL commands. The rows and columns of data make up a "table" in a what can be considered a "virtual" database.
In the database table, each column contains the values for one data item. The column names are essentially the field names. The table that is built is based on the largest record in the COBOL file, and contains the fields from that record, plus any key fields (key fields are those that are named in KEY IS phrases of SELECT statements in the FILE CONTROL section). This ensures that data from all COBOL records fits within the table, and simplifies the storage and retrieval process. If you were to examine the database columns, only the fields from the largest record, and the key fields, would appear.
With multiple record formats (level 01), not all COBOL fields are represented in the database by name, but all fields are storable and retrievable. The data dictionary maps fields from all records of a file to the corresponding locations in the "master" (largest) record of the file, and thus to the "virtual" database table. Only the fields included in the XFD will be available to ODBC applications. Since AcuODBC has access to the data dictionary, it "knows" where the data from a given COBOL record fits in the database tables. This activity is invisible to the COBOL application.