Model Structure Node Types

This chapter covers the following topics:

Introduction to Model Structure

Populating the CZ schema with data from Oracle Bills of Material creates one or more BOM Models in Configurator Developer. You can open a BOM Model in Configurator Developer and extend it by creating additional structure. You may want to do this if you:

A Model’s structure appears in a table that, when expanded, shows where parent and child relationships exist between product elements. For example, a Component may be a child of a Model, while Options are children of a Feature.

You can create Model nodes from scratch or create them using Items in the CZ schema’s Item Master. You do this either by selecting "Item-based Nodes" in the Create Nodes page, or by defining and running a Populator.

For more information about creating Model structure from Items or Item Types, see:

Note: To view a summary of your Model’s structure, rules, and Item Master, generate a Model Report. For details, see Introduction.

Models

Models are described in Models.

BOM Models

BOM Models are described in Imported BOM Models.

BOM Option Classes

A BOM Option Class is typically a group of related BOM Standard Items, but can also contain other, nested BOM Option Classes or BOM Models. BOM Option Classes are imported with a BOM Model from Oracle Bills of Material, and are similar to Configurator Developer Option Feature nodes.

For more information about BOM Option Classes, see the Oracle Bills of Material documentation. For more information about BOM Models, see Imported BOM Models.

BOM Standard Items

A BOM Standard Item is any Oracle Inventory Item that can be a component on a bill, including purchased items, subassemblies, and finished products. A BOM Standard Item is analogous to an Option in Configurator Developer (that is, a child of an Option Feature).

For more information about BOM Standard Items, see the Oracle Bills of Material documentation. For more information about BOM Models, see Imported BOM Models.

Components

A Component is a configurable part of a Model and can contain other Components, as well as Features, Resources, Totals, and Connectors. For example, a Computer Model may consist of Components called Hardware, Software, CD-ROM Drive, and Modem. Each of the available choices within these Components are represented by Features (Features are described in Features).

To create a Component, see Creating a Component.

Features

A Feature can either be selected or accept input (depending on its type) at runtime when configuring a Component. Features can have either a value or enumerated Options. For example, an end user might be able to enter a value between 5 and 20 for an Integer Feature called Length, while an Option Feature called Color might contain Options called Red, Green, Blue, and Yellow.

You can create the following types of Features in Configurator Developer:

To create a Feature, see Creating a Feature.

Option Features

This type of Feature contains Options, which appear as children of the Feature node in Configurator Developer. End users select Options at runtime when configuring the Feature.

An Option Feature’s Minimum and Maximum Selections settings indicate how many of the Feature’s Options an Oracle Configurator end user can select. For example, if the Feature has five Options and you set the Maximum to 3, only three of the five Options can be selected at runtime.

Additionally, note the following:

Select Enable Option Quantities when defining or modifying an Option Feature if you want end users to be able to specify a quantity for each Option at runtime. For example, if the Options are types of candy bars and the Enable Option Quantities box is selected, the end user can specify six milk chocolate bars and six dark chocolate bars.

If the user must not specify more than one of each Option, do not select Enable Option Quantities.

You can also define a Numeric Rule that uses the number of Options the end user enters at runtime. For details, see Introduction to Numeric Rules .

Note: The Minimum and Maximum Selections settings do not constrain the value an end user can enter when Enable Option Quantities is selected.

You can create Options automatically by defining a Populator or create them manually. For details about Populators, see Introduction to Populators.

Integer Features

This type of Feature accepts a whole number, such as 3 or 125, at runtime. Integer Features and Decimal Features are often referred to collectively as Numeric Features.

When creating an Integer Feature, you can enter values for the Minimum and Maximum settings. These settings indicate the range of values an end user can enter for the Feature at runtime. The Initial Value is the value you want the Feature to have when the runtime configuration session begins. This value must be between the Minimum and Maximum values, inclusive. For more information about the Initial Value, see Initial Values.

A Count Feature is an Integer Feature whose Minimum value is greater than or equal to zero. A Count Feature can participate in Numeric Rules (like any other Integer Feature) and Logic Rules, but not Compatibility Rules. An Integer Feature cannot participate in a Logic Rule unless it is a Count Feature.

For information about how Integer Features appear at runtime, see Numeric Input Template.

Note: For a white paper about how to make an Integer Feature required at runtime, see the list of Oracle Configurator documentation in the Oracle Configurator Release Notes for this release.

Decimal Features

This type of Feature accepts a decimal number, such as 3.14159, at runtime. Decimal Features and Integer Features are often referred to collectively as Numeric Features.

When creating a Decimal Feature, the Minimum and Maximum fields indicate the range of values an Oracle Configurator end user can enter for this Feature, in decimal format (for example, 5.0 to 13.5). At runtime, Decimal Features can display up to 9 digits after the decimal point (for example, .123456789).

The Initial Value is the value you want this Feature to have when the runtime configuration session begins. This value must be between the Minimum and Maximum values, inclusive. For more information about initial values, see Initial Values.

Decimal Features cannot participate in Logic Rules.

For information about how Decimal Features appear at runtime, see Numeric Input Template.

Note: For a white paper about how to make a Decimal Feature required at runtime, see the list of Oracle Configurator documentation in the Oracle Configurator Release Notes for this release.

Boolean Features

A Boolean Feature can have one of the following values at runtime: true (Selected or Auto-Selected), false (Auto-Excluded or Declined), or Unknown (Not Selected). By default, Boolean Features display as an Enhanced Check Box at runtime. See Boolean Feature Check Box Template.

The Initial Value is the value the Feature has when the configuration session begins. It is also similar to a default value, as it is the value the Feature reverts to when it is not set to a specific value at runtime. For example, a configuration rule states that A implies B. If B has a default value of None, it becomes Logic True when the end user selects A and returns to a logic state of Unknown if A is later deselected. If B has a default value of True, it is initially set to Auto-Selected (Logic True), and retains this state when A is selected and even if A is later deselected.

Additionally, if B is initially True and the end user selects it, it becomes User False (that is, its Detailed Selection State is Declined). For more information, see Selection State.

Because Oracle Configurator treats a Boolean Feature’s initial value like a default value, it is handled differently than other Feature types when it causes a contradiction. Specifically, if a Boolean Feature’s initial value causes a contradiction at runtime, Oracle Configurator ignores it and does not display a contradiction message.

If your UI Master Template uses the Boolean Feature Check Box Control Template to render Boolean Features at runtime, a Boolean Feature with an Initial Value of False is excluded when the configuration session begins (that is, its logic state is Logic False). A Boolean Feature with an Initial Value of True is selected when the configuration session begins (that is, its logic state is Logic True). If your UI displays Boolean Features using a standard HTML check box, the check box is not selected when the Feature’s initial value is None or False, and is selected when the initial value is True. (Standard HTML check boxes do not indicate logic state.)

For details about UI Master Templates and displaying logic state at runtime, see Introduction to User Interface Templates .

An Initial Value of None is recommended because choosing either True or False can adversely effect runtime performance.

For more information about initial values, see Initial Values.

Text Features

By default, this type of Feature appears as an input field that accepts both alphabetical and numeric characters at runtime.

The Initial Value you specify in Configurator Developer is the Feature’s text when the configuration session begins. For more information about initial values, see Initial Values.

You can also control whether an Oracle Configurator end user must enter information for a Text Feature to create a complete and valid configuration. If the Feature is required, an icon appears next to it at runtime. You specify whether a Text Feature is required when viewing the Feature’s details page.

Options

An Option is a child of an Option Feature (see Option Features). For example, an Option Feature in your Model called Color includes the Options Red, Blue, Green, and Yellow.

To create an Option, see Creating an Option.

Totals and Resources

Totals and Resources can be children of a Model or Component node. A Total acts as a numeric variable in your Model (for example, to keep track of a specified quantity), and can have either a positive or negative value. A Total can be used as a constant, or set when an Oracle Configurator end user makes a selection.

A Resource is similar to a Total, but a Resource ensures that the quantity it is keeping track of does not fall below zero (that is, become over-consumed). In other words, the runtime Oracle Configurator displays a message when a Resource’s value becomes negative, and flags the configuration as invalid until it reaches 0 (zero) or a positive value.

Unlike Numeric Features, Totals and Resources are read-only in a runtime Oracle Configurator, and an end user cannot modify their values. However, you can enable editing of Totals and Resources when unit testing in the Model Debugger. Unit testing using the Model Debugger is described in The Model Debugger.

You can create Numeric Rules that contribute quantities to or consume quantities from both Totals and Resources. For details about using Totals and Resources in rules, see Using Properties when Defining a Numeric Rule.

You can enter a decimal value for the Initial Value of a Total or Resource. However, the runtime Oracle Configurator rounds values to two decimal places for these nodes. For example, an Initial Value of 3.12464536 displays as 3.12 at runtime.

To create a Total or a Resource, see Creating a Total or Resource.

Model References

A Model Reference node (or just Reference) indicates another Model’s location in the structure of its parent Model. A Reference can be created manually, in Configurator Developer, or automatically, when you populate the CZ schema with data from Oracle Bills of Material. When you populate the CZ schema with a BOM Model that contains one or more other BOM Models, each child BOM Model within the parent’s structure appears as a Reference in Configurator Developer.

For more information about References, see Introduction to Model References.

Connectors

In a runtime Oracle Configurator a Connector enables an end user to define connections between component instances. You can create a Connector node under either a Model or a Component node, but the Connector’s target must be a Model. A Model can have one or more Connectors.

For general information about Connectivity, see Introduction to Connectivity. Creating a Connector is described in Creating a Connector.

Initial Values

Use this setting to specify a node’s value when the configuration session begins (that is, before any quantities are contributed or consumed, and before any rules propagate). By default, the Initial Value for Totals, Resources, and Numeric Features is blank (null) in Configurator Developer. If you do not enter an Initial Value for a Total or a Resource, the initial value is a 0 (zero) at runtime. If you do not enter an Initial Value for a Numeric Feature (that is, an Integer or Decimal Feature), the Feature has no initial value at runtime.

When the initial value of a Total or Count Feature is zero, configuration rules that involve these nodes do not propagate. Count Features are described in Integer Features.

For Boolean Features, the initial value is essentially a default, which like all defaults can be overridden by the end user. Therefore, the end user can select a Boolean Feature that is initially Logic False and it will appear as User True in the runtime UI. For more information about Boolean Features, see Boolean Features.

The Initial Value of a Text Feature is any default text that you enter. The end user can overwrite this text at any time.

Setting and Updating Initial Values

Oracle Configurator Developer sets initial values when an Oracle Configurator session begins and updates them when, for example, an end user makes a selection.

Oracle Configurator Developer uses the following procedure to set and update initial values:

  1. The initial values specified in Configurator Developer are set in the UI.

  2. When an end user makes a selection in the Configurator window, the system retracts the initial values. It then changes the selected option to User True.

  3. The system applies any rules in which the selection is a participant.

  4. The system changes the logic state of any options that are also participants in the rule and are therefore affected by the end user’s selection.

There may be situations in which the runtime UI selects an option but the criteria for making the selection is not obvious. For example, you define three Boolean Features, F1, F2, and F3 and set the Initial Value for both F2 and F3 to False. You then define a Logic Rule with an Implies relation that states "F1 Implies Any True (F2, F3)." When the configuration session begins, all of these Features have a logic state of Logic False. When the end user selects F1, the values for all three Features are retracted, become Unknown, and then F1 becomes true. The system then applies the rule and either F2 or F3 becomes false and the other becomes true. This is because the Implies rule states that if the end user selects F1, then either F2 or F3 must also be selected.

If the system selects F2, the user can override it by selecting F3, but there is no setting in Configurator Developer to specify which option should be selected (set to true) and which should be set to false when the rule is initially triggered.

Numeric Precision and Exponential Notation

To enable configurations to perform precise calculations and support configurations that require a high degree of precision, both Configurator Developer and the runtime Oracle Configurator support both very small and very large numbers.

For example, in your Model:

In Configurator Developer, you can enter constant values using exponential notation for the following:

For example, when defining a Decimal Feature you can enter 2.34E-10 as its Initial Value. At runtime, this value appears as 0.000000000234.