To reduce the time and effort required to create and maintain configuration models, a Model may contain one or more References to other Models. References allow a Model to be used as a subassembly within other Models. For example, your organization sells many different styles of trucks and automobiles, but some of them use the same 200 horsepower, V6 engine. You can create and maintain one Model for this engine in Oracle Configurator Developer, and then simply create a Reference to that Model from all other Models (automobiles) that use it. When the referenced Model is modified, the changes automatically propagate to all Models that refer to it.
Within the structure of a Model, a Reference node functions like a Component node. Like a Component, you can modify a Reference node's name and effectivity, and specify how many instances of the referenced Model are available and can be created in a configuration.
When you work in a Model that contains a Reference, the structure of the referenced Model appears as a subtree of the parent Model. All of the referenced Model's settings, structure, rules, and UIs are read-only when viewed from the parent Model.
References and Rules
Like Model structure, the rules in a referenced Model are read-only when you are working in the parent Model. However, you can use referenced Model nodes when defining configuration rules for the parent Model. All rules defined this way, even those whose participant nodes are all part of the referenced Model's structure, belong to and reside with the parent Model (that is, they do not belong to the referenced Model). You can create new rules for the parent Model, but all of the referenced Model's rules are read-only when viewed from the parent Model.
References and BOM Models
One important use of References is to represent the relationship between a BOM Model that contains other BOM Models when you populate the CZ schema with BOM Model data. When you import a BOM Model that contains other BOM Models, Configurator Developer creates a Reference node for each child Model in the parent's structure. You can assign one or more Usages to a BOM Model Reference node and modify its instantiability settings, but all settings that are defined in Oracle Bills of Material are read-only in Configurator Developer (for example, the node's BOM Item Type, its Minimum, Maximum, and Default Quantity, and so on).
When a BOM Model is a child of (referenced by) several other BOM Models, it is not imported into Configurator Developer multiple times. The import procedure populates the CZ schema with the child BOM Model only once, and then creates References to it from each parent BOM Model. This allows the rules and UI for the referenced Model to be maintained in one place and ensures that no duplicate BOM Models exist in the database.