Supplemental Attributes

Use a supplemental attribute to simplify the decisions that your user makes to configure an item. Use it to narrow down the options that your user has to choose from.

Assume you sell a car, and choosing the engine that your customer needs is one of the most important choices your user can make, but it involves technical knowledge that the user might not have. Instead of asking the user what size engine they want, you can add a Primary Vehicle Usage option feature to your model that asks how they plan to use the car. You then add a supplemental attribute such as Fuel Economy to each option in the option feature, and set the attribute's value to help determine what engine your customer needs.

Option Feature for Primary Vehicle Usage

Option Value of the Fuel Economy Supplemental Attribute
Office Commuting High
Family Driving Medium
Off Road Low
Ride Sharing High

For example, if you're using the car to commute to and from your office, you don't need a lot of power but you probably are concerned with economy. If you do a lot of off road driving, you're more concerned with power instead of economy.

Assume your model also has an Engine Type feature, so you add the Fuel Economy supplemental attribute to each option and set the attribute's value.
Engine Value of the Fuel Economy Supplemental Attribute
2.0L, 259 horsepower Medium
2.4L, 179 horsepower High
3.6L 300 horsepower Low

Engines that have a lower horsepower generally get better fuel economy.

But that's only part of the puzzle. How will you use this information to narrow the next question, which is to choose the engine?

You can create a rule that compares the fuel economies of the Primary Vehicle Usage and the Engine Type. Here's the pseudocode.

If the fuel economy that the user selects for the Primary Vehicle Usage meets the 
fuel economy of the Engine Type, then display the engine type as an option. Don't display any 
engine types that don't meet the Primary Vehicle Usage's fuel economy.

Consider a demonstration. Go to learning.oracle.com, search for, then open the Add Supplemental Attributes to Simplify the Guided Selling Process presentation. View the demonstration that starts at 1:51.

Note

  • You can add a supplemental attribute only on the feature of a configurator model, such as an option feature.
  • You can't add the same supplemental attribute to the same feature more than one time.
  • You can add a supplemental attribute to a:
    • Supplemental structure only in the Configurator Models work area
    • PIM structure only through ADF Desktop Integration (ADFDI)
  • A value set determines the values that you can use for a supplemental attribute. The value set for the values of the supplemental attribute must exist before you add the supplemental attribute.

Value Sets

Your supplemental attribute must have a value set. Here's how you can identify the value sets that you can use with your supplemental attribute.

  1. Go to the Setup and Maintenance work area, then click Tasks > Search.
  2. Search for, then open the Manage Value Sets task.
  3. On the Manage Value Sets page, set the value, then click Search.
    Attribute Value
    Module Product Model
  4. Examine the search results. Your supplemental attribute can reference any value set in the results.

    If you don't see the value set that you need, then click Actions > Create and create a new one. Make sure you set the Module attribute for your new data set to Product Model. Note that you can use only the Format Only validation type for a value set that you use with a supplemental attribute.

Add a Supplemental Attribute to Your Model

  1. Go to the Configurator Models work area, then open the workspace that has your model.
  2. In the Structure Hierarchy area, click the Engine Type option feature.
  3. In the Details area, click Supplemental Attributes, click Add, then set the values.
    Attribute Value
    Name

    Select the attribute that you need to add.

    If the list doesn't have the value that you need, click Create to create a new one. See the Create a New Supplemental Attribute subtopic below for details.

    Value

    You must set a value that's compatible with the attribute's data type. For example, if the Data Type attribute on the line says Number, then you must set the Value to a number.

    If your attribute has predefined values, then select it. For example, assume you have a Color attribute, you have a data set for the Color attribute, and the data set contains the values Silver, Blue, and Gold. You can set the Value attribute to any one of these colors.

    Description

    Value Set

    Data Type

    Configurator automatically populates these attributes when you set the Name attribute. You can't change them, but they do help you to understand you can use the attribute that you're adding.

Create a New Supplemental Attribute

  1. Click the down arrow in the Name attribute, then click Create.
  2. In the dialog that displays, set the values.
    Attribute Value
    Name Enter a unique value.
    Value Set Select the value set that you need to use with your new supplemental attribute.
    Default Value

    Select a default value from the value set, if it has one. Configurator will apply this default value each time it uses this supplemental attribute anywhere in your model.

    If you don't set a value, then Configurator won't use any default value when it uses this supplemental attribute. Instead, the supplemental attribute will be empty.

Create Your Rule

The Configurator Model work area automatically creates some of the code for you when you create the statement rule, such as the node path and the attribute name, but you might need to add to this code or code it yourself in some situations to meet your specific requirements. You can write the rule in the Constraint Definition Language (CDL) or in an extension rule that you write in the Groovy language.

Here's the format that you use in CDL.

COMPATIBLE
&X OF 'nodePath1'.'featureName1',
&Y OF 'nodePath2'.'featureName2'
WHERE
&X.suppAttrs["supAttrName1"]=&Y.suppAttrs["supAttrName2"];

where

  • The &X OF line identifies the node and feature that your user uses to specify their preference.
  • The &Y OF line identifies the node and feature that you use to identify options that meet the user's preference.
  • The WHERE clause filters the results so they contain only the options from the Y line that meet the requirements from the X line.
  • The X.suppAttrs line identifies the supplemental attributes that you're comparing between featureName1 and featureName2.

For example:

COMPATIBLE
&X OF 'zCZ_CAR4DRSDN'.'Primary Vehicle Usage?',
&Y OF 'zCZ_CAR4DRSDN'.'zCZCARMECHOPT'.'zCZCARENGINE'.'zCZ_CARENGCAP'
WHERE
&X.suppAttrs["Fuel Economy"]=&Y.suppAttrs["Fuel Economy"];

where

  • zCZ_CAR4DRSDN is the root node of the configurator model.
  • Primary Vehicle Usage? Is the name of a feature on the root node.
  • 'zCZCARMECHOPT'.'zCZCARENGINE' is the node path to the zCZ_CARENGCAP feature.
  • Fuel Economy is the name of the supplemental attribute that you're comparing between the Primary Vehicle Usage feature and the zCZ_CARENGCAP feature.

User Interfaces

You can use a supplemental attribute to modify the default label for some elements in the user interface.

Use the suppAttrs['suppAttrName'] method in a user interface expression.

where

  • suppAttrName specifies the name of the supplemental attribute

For example, display the value of the color supplemental attribute:

#{amn.suppAttrs['color']}