Properties

This chapter covers the following topics:

Introduction to Properties

All Model structure nodes have attributes called Properties. An end user cannot select or modify Properties in a runtime Oracle Configurator, but Properties and their values can be used when defining rules or to create runtime UI captions for Model structure nodes.

For more information about how you can use Properties when building a configuration model, see:

There are two types of Properties:

User Properties

You can create User Properties in Configurator Developer, or they may be created in either Oracle Inventory or Oracle Advanced Product Catalog (APC) and then added to the CZ schema by importing a BOM Model. Examples of User Properties include Size, Weight, Length, Diameter, and Color.

In Configurator Developer, User Properties appear in:

By default, all imported User Properties appear in the Main area of the Repository, in the root Folder. You can also manually create User Properties in this area, or in any user-created Folder. In this area, you can delete a User Property that was created in Configurator Developer, or modify its Name, Description, or Default Value. Imported User Properties can be modified or deleted only in the application in which they were created. That is, in Oracle Inventory or Oracle Advanced Product Catalog (APC). Changes to any imported Properties do not appear in Configurator Developer until you refresh the BOM Model to which they are associated.

You can add User Properties to Item Types in the Item Master area of the Repository, and to Model nodes when editing a Model in the Structure area of the Workbench. You can also modify Property values when working on these objects, with some restrictions. For more information about User Properties, see:

User Properties on Structure Nodes and Items

For the portions of your Model that you create in Oracle Configurator Developer, you can add, remove, and edit User Properties directly on nodes of the Model, or add User Properties to Items in the Item Master. Adding or removing a User Property assigned to a Model node affects only the selected node. In other words, User Properties that you add directly to a Model’s structure do not affect the Item Master. However, adding User Properties to or removing them from an Item Type affects all of its child Items.

For example, when you add a Property to an Item Type, Configurator Developer automatically assigns the Property to all of its Items. If a Model contains structure created from the Item Type, repopulating the Model adds the Property to all of the nodes originally created by the Populator. Similarly, removing a Property from an Item Type removes the Property from all of its child Items.

For more information, see:

In Configurator Developer, you can assign User Properties to imported nodes, including BOM Models, BOM Option Classes, and BOM Standard Items. This is described in Adding User Properties to a Model Node.

However, you cannot add Properties to a BOM Model Reference node or to any of the nodes within the referenced Model’s structure.

When modifying an imported BOM node, you can edit a User Property’s value or remove the Property’s association with the node if it was added to the node in Configurator Developer. This is true even if the Property itself was imported from Oracle Bills of Material. You can also edit a User Property’s value or remove the Property’s association with an Item if the Property was added to the node in Configurator Developer.

Removing a Property’s association with a Model node or an Item Type does not delete the Property from the CZ schema. (You can delete non-imported Properties only from the Main area of the Repository.)

For more information, see Limitations when Modifying Imported BOM Items, Item Types, and Properties.

The details page for Model nodes, Item Types, and Items contains a table listing all Properties associated with the selected object. This table lists each Property’s name, data type, and value. The table in a Model node’s details page also contains the Imported and Inherited columns. A check mark in the Imported column indicates that a Property was imported from Oracle Bills of Material, even though it may have been assigned to the selected node in Configurator Developer.

A check mark in the Inherited column indicates that the node is associated with an Item in the Item Master that has that Property; in other words, the Property association is inherited from the Item. All Properties that were imported with a BOM node are marked as both imported and inherited, because BOM nodes have corresponding Items in the Item Master.

When you create Model structure by selecting "Item-based Nodes" in the Create Nodes page or by running a Populator, the new nodes reflect all of the Properties and Property values of the source data in the Item Master.

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

For more information on working with Properties, see:

System Properties

System Properties are implicit attributes of both BOM and non-BOM Model nodes that vary based on the node’s type. Examples of System Properties include Name, Description, Quantity, and Value.

You can use System Properties when defining:

When you select a Property from a list in Configurator Developer (for example, when defining a rule), an open and closed parenthesis is appended to each System Property.

For example:

Name()
Description()
MinInstances()
MaxInstances()
Weight
Length
Diameter

In this example, Name, Description, MinInstances, and MaxInstances are System Properties, while Weight, Length, and Diameter are User Properties.

System Properties lists all System Properties and indicates how each can be used.

System Properties
System Property Description Node Type(s) Returns Use
DisplayName Default UI caption for Model structure nodes (specified in the General area of the Workbench) All nodes Text Caption text and runtime conditions
DisplayNamePath Path of default node UI captions from the Model root All nodes Text Caption text and runtime conditions
Name Node name All nodes Text Caption text and runtime conditions
Description Node description All nodes Text Caption text and runtime conditions
InstanceName Instance name Instantiable Model References and Components Text Caption text and runtime conditions
InstanceNumber Instance number Instantiable Model References and Components Integer Caption text and runtime conditions
InstanceCount Number of runtime instances Instantiable Model References and Components Integer Rules, caption text, and runtime conditions
Quantity Node quantity BOM Option Classes and BOM Standard Items, Options, Count Features Integer Rules, Caption text, and runtime conditions
BaselineQuantity Quantity restored from Oracle Install Base
Used only when reconfiguring installed instances. For more information, see the Oracle Telecommunications Service Ordering Process Guide.
All BOM nodes Integer Caption text and runtime conditions
DeltaQuantity Difference between current quantity and quantity restored from Oracle Install Base.
Used only when reconfiguring installed instances. For more information, see the Oracle Telecommunications Service Ordering Process Guide.
All BOM nodes Integer Caption text and runtime conditions
Value Integer value Totals, Resources, Text Features, Integer Features, Decimal Features, Text Features Decimal, for Totals, Resources, and Decimal Features
Integer for Integer Features
Text for Text Features
True or False for Boolean Features
Can be used for caption text and runtime conditions (regardless of node type).
When node type is Decimal Feature, Integer Feature, or Boolean Feature, can be used only in rules.
SelectionState An option’s runtime selection state (Selected, Selectable, or Excluded)
See Selection State.
BOM Models, BOM Option Classes, Option Features that have Maximum Selections set to 1 StateQuantityNode Caption text and runtime conditions
DetailedSelectionState An option’s detailed runtime selection state
For details, see Selection State
All BOM nodes, all types of Features, and Options User Selected, User Declined, System Selected, System Excluded, or Selectable Caption text and runtime conditions
LogicState Node logic state (User True, Logic True, and so on)
For more information, see Configuration Rules and Logic State.
All BOM nodes, Options, Option Features, Boolean Features, Count Features User True, User False, Logic True, Logic False, Unknown Rules
NodeUnsatisfied Returns True when the node is unsatisfied (that is, a selection or input is required)
For more information, see Configuration Rules and Logic State.
All nodes True or False Caption text and runtime conditions
SubtreeUnsatisfied Returns True when the node or any of its descendants is unsatisfied (that is, a selection or input is required) All nodes True or False Caption text and runtime conditions
Valid Is the value entered for the node valid (that is, within the specified range) All nodes True or False Caption text and runtime conditions
ListPrice Item list price All BOM nodes Decimal Caption text and runtime conditions
SellingPrice Item selling price All BOM nodes Decimal Caption text and runtime conditions
ExtendedPrice Quantity multiplied by the item selling price All BOM nodes Decimal Caption text and runtime conditions
ATP Available-to-promise date All BOM nodes Date Caption text and runtime conditions
MinQuantity Minimum quantity All BOM nodes, Count Features Decimal Caption text and runtime conditions
MaxQuantity Maximum quantity All BOM nodes, Count Features Decimal Caption text and runtime conditions
MinValue Maximum integer or decimal value Integer Features, Decimal Features Integer Caption text and runtime conditions
MaxValue Maximum integer or decimal value Integer Features, Decimal Features Integer Caption text and runtime conditions
MinSelected Minimum number of options selected BOM Models, BOM Option Classes, Option Features Integer Caption text and runtime conditions
MaxSelected Maximum number of options selected BOM Models, BOM Option Classes, Option Features Integer Caption text and runtime conditions
MinInstances Minimum instances Instantiable Model References and Components Integer Rules, Caption text, and runtime conditions
MaxInstances Maximum instances Instantiable Model References and Components Integer Rules, Caption text, and runtime conditions
HasChildren Node has children All nodes True or False Caption text and runtime conditions
TargetDisplayName Display name of target instance Connectors Text Caption text and runtime conditions
TargetDisplayNamePath Display name path of target instance Connectors Text Caption text and runtime conditions
LineType The line type as set by a Functional Companion or Configurator Extension Rule
Used only when reconfiguring installed instances. For details, see the Oracle Telecommunications Service Ordering Process Guide.
All BOM nodes Text Caption text and runtime conditions
Location Item location as set by a Configurator Extension Rule
Used only when reconfiguring installed instances. For details, see the Oracle Telecommunications Service Ordering Process Guide.
All BOM nodes Integer Caption text and runtime conditions
IBNodeChanged Item modified relative its state in Oracle Install Base.
Used only when reconfiguring installed instances. For details, see the Oracle Telecommunications Service Ordering Process Guide.
All BOM nodes True or False Caption text and runtime conditions
IBSubtreeChanged True if item or one of its descendants has changed relative to Oracle Install Base.
Used only when reconfiguring installed instances. For details, see the Oracle Telecommunications Service Ordering Process Guide.
All BOM nodes True or False Caption text and runtime conditions
Options Children (options) of parent node BOM Models, BOM Option Classes, Option Features StateQuantityNode Rules
Parent Parent node All nodes Node Rules
Selection Currently selected node BOM Models, BOM Option Classes, Node Rules
Children Returns a collection containing the current node’s children All nodes Collection of iRuntimenode Configurator Extension argument bindings
SelectableChildren Node has selectable children Component, BOM Models, BOM Option Classes, Option Features Option (yes/no) Rules
SummaryChildren Returns a collection containing the child nodes of the current node that can be displayed in the Configuration Summary page All nodes Collection of iRuntime node Configurator Extension argument bindings
Target Target instance of the connection Connectors Component Configurator Extension argument bindings
Eligible Targets Eligible target instances of the connection Connectors Collection of components Configurator Extension argument bindings
UserStr01 The text value set during the configuration session by a Configurator Extension. For information on using this property, see the Oracle Configurator Extensions and Interface Object Developer's Guide. All nodes Text Dynamic association of text with nodes at runtime.
UserStr02 Same as UserStr01 Same as UserStr01 Same as UserStr01 Same as UserStr01
UserStr03 Same as UserStr01 Same as UserStr01 Same as UserStr01 Same as UserStr01
UserStr04 Same as UserStr01 Same as UserStr01 Same as UserStr01 Same as UserStr01

Selection State

Before reading this section, you should understand the term "logic state." For details, see Configuration Rules and Logic State.

The DetailedSelectionState System Property refers to an option’s runtime selection state. A runtime Oracle Configurator checks an option’s DetailedSelectionState System Property to determine how to display its status. Depending on the value of this System Property, the UI Master Template you used to generate the UI determines which indicator or control image to display (see Images Section). For example, you may want to display a status icon next to a standard HTML check box or radio button, or use an Enhanced Check Box or Enhanced Radio Button to indicate each option’s selection state. An option’s current DetailedSelectionState value also appears in the runtime UI when an end user places the cursor over an indicator or control image.

The SelectionState System Property is a simplification of DetailedSelectionState. It has only three values: Selected, Selectable, and Excluded. Therefore, SelectionState is not used to indicate whether an option’s state is set by a user’s action or by a configuration rule. This System Property is useful primarily for specifying runtime conditions, in which how an option is selected or excluded is less important than whether to hide or disable a UI element. See Runtime Conditions and User Interface Elements.

Logic State, Selection State, and Detailed Selection State Values lists each logic state and their corresponding detailed selection states.

Logic State, Selection State, and Detailed Selection State Values
Logic State Selection State Detailed Selection State
Unknown Selectable Not Selected
User True Selected Selected
Logic True Selected Auto-Selected
Logic False Excluded Auto-Excluded
User False Selectable Declined

The Not Selected state indicates that no decision has yet been made about an option, and it can be selected. An option has the Selected state when an end user selects it. Options selected by the propagation of a rule have a status of Auto-Selected, while options that are excluded from the configuration by a rule are Auto-Excluded. An option has the Declined state when an end user deselects an option that was previously selected by a rule (that is, its logic state was Logic True).

Displaying Logic False Options

In some situations, the runtime Oracle Configurator displays options that have a logic state of Logic False (Auto-Excluded) as Unknown (Not Selected).

For example, a BOM Option Class contains 5 mutually exclusive options (BOM Standard Items). When an end user selects an option, the remaining options become Logic False, but the runtime UI displays them as Unknown (that is, using the image specified in your UI Master Template for "Not Selected"). This behavior is considered preferable to displaying options with a logic state of Logic False as "excluded" because an end user might incorrectly assume that an excluded option cannot be selected. For more information, see Things to Consider.

The icons used to display each logic state at runtime are shown in Status Indicator Images.

Note: The Model Debugger always displays options that are Logic False as Auto-Excluded, not as Unknown. For more information about the Model Debugger, see The Model Debugger.

Configuration Session Properties

Configuration session properties are distinct from User and System Properties because they refer to the state of a runtime configuration session, and are not associated with Model structure nodes.

You can use a configuration session property when defining:

Configuration Session Properties describes each configuration session property and indicates how each can be used.

Configuration Session Properties
Property Description Returns Use
ModelQuantity Model quantity Integer Caption text and runtime conditions
CurrencyCode Currency Text (currency string, such as USD) Caption text and runtime conditions
TotalListPrice Total list price for all selected items Decimal Caption text and runtime conditions
TotalSellingPrice Total selling price for all selected items Decimal Caption text and runtime conditions
ATPRollup ATP Date for the entire configuration Text (date format) Caption text and runtime conditions
Valid The configuration is valid True or False Caption text and runtime conditions
Unsatisfied Returns True when the configuration is unsatisfied (that is, a selection or input is still required) True or False Caption text and runtime conditions
PricingEnabled The configuration session is set up to display list prices or selling prices. True or False Caption text and runtime conditions
ListPriceEnabled The configuration session is set up to display item list prices. True or False Caption text and runtime conditions
SellingPriceEnabled The configuration session is set up to display item selling prices. True or False Caption text and runtime conditions
ATPEnabled The configuration session is set up to display Available to Promise (ATP) information for selected items. True or False Caption text and runtime conditions
PriceAndATPDisabled The configuration session is not set up to display item prices or ATP data. True or False Caption text and runtime conditions
InNestedTransaction Returns True when the end user is configuring a nested transaction.
Returns False when nested transactions are disabled. The Transaction Management setting is described in Pagination and Layout Section.
See Defining Custom Pagination and Layout.
True or False Caption text and runtime conditions
InSingleTransactionDrilldown Returns True when nested transactions are disabled for the configuration session and the end user drills down into a subcomponent by activating a button, image, or link.
Returns False in all other cases.
The Transaction Management setting is described in Pagination and Layout Section.
True or False Caption text and runtime conditions
IsContainerModel Returns True if configuring a Model that has Connectors.
For more information, see the Oracle Telecommunications Service Ordering Process Guide.
True or False Caption text and runtime conditions
HasInstalledRevisions Returns True if the configuration has one or more instances with installed revisions.
For more information, see the Oracle Telecommunications Service Ordering Process Guide.
True or False Caption text and runtime conditions
ConfigHeaderID Configuration header ID number Integer Caption text and runtime conditions
ConfigRevisionNumber Configuration revision number Integer Caption text and runtime conditions

Property Data Types

All User Properties have a data type that cannot be changed in Configurator Developer, regardless of whether the Property was imported or created in Configurator Developer. The data type determines what you can enter for a Property’s value (for non-imported Properties) and how the Property can be used in a configuration rule. For example, a Property-based Compatibility Rule defines an expression that compares the User Property values of two nodes. Combinations of Properties that render the expression 'true' are considered compatible.

Following are the available User Property data types:

For more information, see: