System Configuration

Overview

System Configuration refers to the manner in which customers use Oracle CPQ to configure and bundle the product or set of products they wish to sell using a group of related models that together define an entire system. A system is a hierarchical arrangement of connected configurable models with a system root containing all of the other models. A Bill of Material (BOM) instance is used to represent a set of products being bought together on a Quote.

For example: Assume a telecommunications provider wants to offer multiple bundled packages to their customers or Sales teams, which could then be sold to large apartment complexes or businesses. These bundles typically have several models with multiple options and restrictions, such as:

ClosedUnderstand the BOM Hierarchy of a Child Model

ClosedSystem Configuration JSON Structure

ClosedSystem Configuration Folder

ClosedSystem Navigation Panel

ClosedSystem Configuration Initialization

ClosedCascade Child Models in System Configuration Initialization

ClosedIncomplete System Configurations

ClosedInter-Model Rules with References to Attributes in Other Product Families

ClosedView the Full BOM of the System when Configuring a Model

ClosedReconfigure Child Models from Commerce

 

Administration

ClosedCapture the BOM Hierarchy of a Child Model by Calling "getbom"

ClosedCreate HTML Attribute to Display a Hierarchical BOM Elements in a Transaction

ClosedCross-Product Family Migration

ClosedDebugging Advanced System Configuration Rules

ClosedDefine Model Path for a BOM Item

ClosedEnable System Configuration Initialization

ClosedEnable Cascading Configuration of Newly Added Descendant Models

ClosedSystem Configuration Model Path

ClosedSystem Navigation Panel Item Naming

The system navigation panel now displays item names that can be defined by a new attribute mapping type in the BOM Attribute Map table. This allows administrators to dynamically name individual instances of a model or part item. In other words, a single item can have different names when it is referenced multiple times within a BOM structure. Additionally, parts in systems now display their "Part Display Number".

For Example: The following image shows a system configuration with BOM attribute mapping item names, which are highlighted in red. In this configuration, two Backup Device models were added. The first "Backup Device" model was renamed "Primary Backup" using the Component Name attribute, which updates the model name in the system navigation panel using the new "DISPLAY_NAME" Target Type in the BOM Attribute Map table. The second "Backup Device" model was also renamed to "Secondary Backup" on the configuration page for that model.

The item highlighted in blue shows a system part, which now displays the Part Display Number (SSD Backup) instead of the Part Number (ASB). For details about the Part Display Number functionality, refer to the Oracle CPQ Administration Online Help.

ystem Navigation Panel Item Naming

The following image shows the Backup Device entry in the BOM Attribute Map table.

Backup Device entry in the BOM Attribute Map table

Items renamed using BOM attribute mapping item names or the Part Display Number will display the updated names in the Bills of Materials panel, Recommended Items panel, Favorites, and the Commerce Transaction UI.

Item Naming Order of Precedence

If multiple names are present on a single item, the order of precedence that determines which name is displayed is as follows:

  • Models: BOM Attribute Mapping Item Name > BOM Model Name
  • Part Numbers: BOM Attribute Mapping Item Name > Part Display Number > Part Number

Display Item Names Using BOM Attribute Mapping

To implement BOM attribute mapping Item names the following tasks must be completed.

  1. Create a Configuration attribute to capture the new item name.
  2. Add the attribute to the Configuration Flow page for the applicable model.
  3. Add a row to the BOM Attribute Map table and enter the applicable data for the fields displayed in the following table:

    Field

    Value

    TargetType

    DISPLAY_NAME

    SourceType

    Select one of the following options:

    • CONFIG_ATTRIBUTE
      Select this option to set the target to the value of the configuration attribute
    • CONDITIONAL_STATIC_ENTRY
      Select this option to set the target if the specified attribute's value matches the value in the Static Entry column of the Attribute Mapping table. Multiple entries can be created to display different names based on which defined options are selected.
    • STATIC_ENTRY
      Select this option to set the target to a specific value.

    ConfigAttrVarName

    The variable name of the configuration attribute used to designate the new item name.

    BomItemMapVarName

    The BOM Item ID of the parent item, this value is listed in the "VariableName" column of the BOM Item Mapping table. This value designates which BOM item will be renamed.

    RootBomMapVarName

    The variable name of the BOM Map configuration rule, this value is listed in the "ParentBomMapVarName" field in the BOM Item Map table.

Note: If the BOM Attribute Map table does not exist on your site, refer to the BOM Implementation Guide for information about adding and implementing this table.


ClosedLine BOM Display Name Attribute

Oracle CPQ 19B introduces the _line_bom_display_name Commerce sub-document system attribute to support BOM Attribute Mapping Item Naming.

  • This attribute holds the value of the Display Name set in Configuration.
  • This attribute is only available via BML. Administrators must output this value into an attribute that accepts strings in order for it to be visible on a buy-side Commerce transaction.
  • If a display name is not defined, the attribute value will be blank.

ClosedSystem Navigation Panel Style Customizations for Legacy Configuration UI

ClosedUse a Single Value Populated by a URL Parameter Across All Models in a System

ClosedUse BML for Cross-Model Configuration Rules

ClosedUse BML to Select Attributes from Other Product Families

ClosedUse System Configuration with Asset-Based Ordering and Oracle CX Commerce Integrations

 

Notes

  • System Configuration does not support the Legacy Template for Configuration Layouts.
  • When referencing attribute values made from system data via direct reference or BML system data functions prior to Oracle CPQ Release 18D, users had to click Update twice from the Model Configuration page to apply applicable Configuration changes and rules to the active model. In Release 18D, clicking Update once applies all applicable Configuration changes and rules to the active model.
  • Users can delete Configurations added by array-type item mappings by deleting the associated index.
  • The configuration and getConfigurations WSDL definitions were enhanced in Release 18D to represent the BOM Item response.
  • The getSystemAttrValues and getSystemMultipleAttrValues BML functions are recommended to retrieve attribute values in inter-model rules for multi-level models to ensure the correct attribute value path is retrieved. The attribute value path retrieved using the "System Configuration" folder in BML will change depending on whether the parent model is configured or not.
  • Oracle recommends setting the "The Disable BOM-Mapping Rules During Updates" Configuration Options setting to "Yes" when multi-node Configuration flows are used with System Configuration.
  • Prior to Release 18B, the System Configuration inter-model attributes were not updated until the System Configuration or BOM was invoked into Commerce. Beginning in Release 18B, all values are updated when an update is performed after a Configuration rule runs.
  • At the all product family level, System Configuration attributes are not available in the attribute selector in advanced BML Editors. Administrators must use BML functions to create an inter-model rule on the all product family level.
  • The Alta Responsive Layout introduced in Oracle CPQ 2017 R2 does not support the BOM Hierarchy Display setting located on the Read-only text or HTML Attribute Editor.
  • Administrators can customize the presentation of the BOM Hierarchy Display.
  • When working with a system containing Recommended Item rules on a site where the system navigation panel is enabled, the Retain Selection of Optional Items on Reconfigure option on the Configure Options page must be set to Yes to reconfigure and re-invoke a system without navigating to every model. Without doing this, all recommended items from models that were not visited on reconfigure are lost.
  • When a warning displays on the page as a result of BOM Attribute Mapping attempting to write conflicting values to the same configuration attribute, the warning remains on the page until the user acknowledges the warning by performing an update. At this time, the value of the configuration attributes revert to their values when originally invoked. The warning shows the different values attempting to be set. The user is then responsible for populating the correct value before invoking.
  • In Release 18B, certain conditions would break a system, such as a root adding parent models based on an array and those parent models adding children via an array. To add this functionality to system configurations and use it with system Transactions created in Release 18B and prior, customers must open and reconfigure each legacy system.
  • Oracle does not recommend using multi-node model configurations in a system where that model has, or could have, child models.
  • When working with models added by an array condition in a system's parent, using the "-" and "+" icons to add to or remove array elements will lose configurations or confuse configurations.
    • To shrink the array size, change the number in the array controller.
    • To remove a specific model in an array, change the condition to “false” instead of removing the index.
  • To prevent users from removing an index from an array with the "-" icon:
    • Move the array controller to a different tab or node
    • Make the array controller a Single Select Menu
    • Have the array controller control more than one array set

Related Topics

Related Topics Link IconSee Also