This chapter covers the following topics:

Introduction to Instantiation

Instantiability refers to an end user’s ability to create and individually configure one or multiple occurrences (instances) of a Model or Component in a runtime Oracle Configurator. A Model Reference or Component node’s Instantiability settings determine how many instances of the component exist when the configuration session begins, and whether an end user can create additional instances at runtime. These settings are described in Instances.

At runtime, the end user accesses an instance of a configuration model, as well as an instance of each component contained within the Model. The end user configures each component instance separately by selecting from available options within that component.

Note: This user’s guide uses the word "component" when referring to an instance of a Model or a Component node in a runtime Oracle Configurator.

For example, a computer system can be represented by a Model. A computer may contain a number of different servers, printers, and personal computer (PC) workstations, all of which are child Models of the computer system Model. Each PC workstation represents one instance of a child Model, and each instance of the PC workstation can be configured differently.

To continue the example, one instance of the PC workstation can be configured with a 21 inch flat screen monitor, 10GB of disk space and 512 KB RAM, whereas another instance of the PC workstation has a 17 inch screen, ergonomic keyboard, 256 KB RAM and 4 GB of disk space. These two workstations are part of the computer system Model.

Note: The Generic Configurator UI does not support multiple instantiation. An Oracle Configurator end user can create multiple instances of components only in User Interfaces that you create in Configurator Developer. For more information about the Generic Configurator UI, see the Oracle Configurator Implementation Guide.

Multiple Instantiation Conditions

A node’s instantiability does not affect publishing, batch validation, or saving and restoring configurations.

Importing and Refreshing BOM Models

To allow child BOM Models to be instantiated multiple times in a runtime Oracle Configurator, the root node of an imported BOM Model be either a PTO (Pick-to-Order) or an ATO (Assemble-to-Order) BOM Model. You specify the Model Type when defining the BOM Model in Oracle Bills of Material. See Nodes that Are Instantiable for more information.

Refreshing an imported BOM Model updates the default Quantity specified in Oracle Bills of Material, but does not update the values of each node’s Instantiability settings.

For more information about importing BOM Models, see the Oracle Configurator Implementation Guide.

Nodes that Are Instantiable

Configurable components include Components and Model References. In Configurator Developer, the Instantiability setting is available for all configurable components under the root node. If a configurable component’s Instantiability setting is Multiple or Variable Instances, then an end user can create at least one instance of the component at runtime.

For details about modifying a node’s instantiability, see Modifying Instantiability.

The following nodes are instantiable:

The first time you import a BOM Model, Configurator Developer sets the Instantiability setting to Required Single Instance. If you then modify the Instantiability settings on any BOM Model References, Configurator Developer does not update them when you refresh the BOM Model.

Note: The BOM Item Type field in Configurator Developer indicates whether a BOM item is an ATO Model, PTO Model, Option Class, or Standard Item.

Nodes that Are Not Instantiable

The following nodes are not instantiable:

Host Application Support of Instantiation

Host applications that are Oracle Applications products must pass the sbm_flag parameter in the initialization message to allow multiple instances of BOM Models to be created in a runtime Oracle Configurator. See the Oracle Configurator Implementation Guide for information about this parameter and the initialization message.

All host applications support multiple instances of non-BOM Components or non-BOM Model References, regardless of the sbm_flag parameter.

In Oracle Applications, after an end user saves a configuration, each BOM Model instance appears as an item under its parent on a separate line in the quote or order.

Modifying Instantiability

In Configurator Developer, modify a node’s Instantiability settings if you want end users to be able to create one or more instances of that component at runtime.

If the Instantiability setting for a Component or Reference node is set to Multiple or Variable Instances, there are two ways to control how many instances are allowed at runtime:

If a node’s Instantiability setting is not Multiple or Variable Instances, a Numeric Rule cannot change how many instances of that node can be created at runtime. If such a node is on the right side of the rule, Configurator Developer displays an error when you generate logic.

To edit the Initial Minimum and Initial Maximum values on a nested Reference (that is, a Reference within a Reference), you must open the Referenced Model’s parent for editing in the Structure area of the Workbench. For more information, see Introduction to References .

For a list of node types that support multiple instantiation, see Nodes that Are Instantiable.

For information about how changing instantiability settings of node’s in a published Model can affect restored configurations, see the Oracle Configurator Implementation Guide.

Loading Models with Instantiable Components

At runtime, an Oracle Configurator window loads the selected Model and the initial number of component instances according to the Instantiability settings defined in Configurator Developer.

Instantiable components that have a large Initial Minimum value may increase the time required to open the Model in an Oracle Configurator window. For details, refer to the Oracle Configurator Modeling Guide.

Runtime Display of Instantiable Components

Configurator Developer provides several UI Content Templates that you can use to display instantiable components at runtime. These templates are described in Instance Management Control Templates.

For information about how Oracle Configurator creates the default UI captions for instantiable components, see Runtime Display Names.

For more information, see Creating Instances at Runtime.