FAQ - The DEMOINVENT Subset, its structure and Data Groups
The DEMOINVENT Subset has 3 data groups - CTL, G01 and G02. It is based on the Warehouse Master File "FACILITY" and this has a one-to-many link to the inventory file "INVENTRY".
"FACILITY" is the Subset Based-On-File (BOF) and is the "node" file* for group G01. It has one-to-one links to the name and address file "NAMES". The fields from "FACILITY" and those from "NAMES" comprise the data group G01.
"INVENTRY" is the "node" file for group G02. It has one-to-one links to the item master file "PRODUCT" and also to the name and address file "NAMES". The fields from "INVENTRY", "PRODUCT" and "NAMES" comprise the data group G02. Note that it is possible for the fields from "NAMES" to exist in multiple data groups. The report writer dictionary stores these fields with generated re-names to enable them to co-exist within the report program without loss of referential integrity.
In execution, any report program based on this Subset will read one record from the BOF (FACILITY) and then build group G01 by reading the single matching record in each of the one-to-one links in group G01. It will then perform any record selection tests specified by the report designer for G01 fields.
If the group G01 data is selected for the report, it is stored and then processing begins on group G02. All matching group G02 records will be read and processed before a second record is read from the BOF and a second occurrence of group G01 is built.
As each record is read from the G02 node file, matching records in the Group G02 one-to-one links are read and an occurrence of group G02 is built. Any G02 record selection tests are then performed and the group G02 data stored or discarded accordingly.
Understanding how data groups work and the group structure of the DEMOINVENT Subset will make the sequence numbering in the output of our example report clear.
* In any Subset, a "node" file is the base file of a new data group. The Subset BOF, and all one-to-many links are node files.