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.
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.
- Go to the Setup and Maintenance work area, then click Tasks > Search.
- Search for, then open the Manage Value Sets task.
- On the Manage Value Sets page, set the value, then click
Search.
Attribute Value Module Product Model - 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
- Go to the Configurator Models work area, then open the workspace that has your model.
- In the Structure Hierarchy area, click the Engine Type option feature.
- 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
- Click the down arrow in the Name attribute, then click Create.
- 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']}