Product Attributes

Attributes for a product can be defined either through the Product Setup Wizard or through the Manual Product Definition. You can define attribute in Product Setup Wizard through steps 2 through 4. Alternatively, you can define attributes through the manual definition method in the Product Attributes section under the Current Product admin menu.
Using this method, you must ensure that any attributes you intend to use for the product have already been added to the category. See the chapter on the Categories section for more information on adding attributes to a category. In addition, any new attributes you would like to add to the product need to be created in the Attributes administrative section. See the chapter on the Attributes section for more information. The first time entering this page the left column will show an NU button and the right column will show an attribute (unchecked). If these Product Attributes have been configured already then numbered buttons will be displayed to the left of the NU button. These numbers represent steps, which will be discussed later in this chapter.
To access all the Attributes available, click the NU (Not Used) button. This will list all the Attributes that have been added to that Category. Selecting an Attribute in the left column will bring up its properties on the right column. If these Product Attributes have already been configured then clicking the numbered step buttons will bring up more Product Attributes.

If an Attribute Name is not completely visible, hold the cursor over the name until the complete name is displayed in a tool tip.


At the top of the page, the name of the Product which is being configured is given. Clicking Reset at the bottom of the page will restore all information and settings for the current Attribute selected back to when it was previously saved.
In order to use an Attribute with a product, it must be selected. This is done by clicking the check box next to the Attribute Name in the right column, as shown in the figure below.

Product Attributes Administration

At least one attribute value needs to be added to the product. If no values are added then the system will produce an error.

Select All – Convenient way to select the Attribute and all the values of the currently selected Attribute. This is helpful if there are a large number of values. Attribute Values are discussed later. List As Line Item – If checked, the Attribute will show up in the Quote/Cart separate from the Product being configured, or base product. An example of this is shown Figure A. Processor and RAM are both attributes but are listed separately from the computer that was configured. If the attribute is set for multiple selections, such as a check box or multi-select listbox, then each selected attribute will be displayed as a separate line item in the cart/quote.

Figure A - Line Example


Multi-select attributes such as Checkbox cannot use the attribute’s line item description in the cart. This is because the system cannot distinguish which item it should display the description for in the cart when multiple items are selected. Because of this, you must use the Description Builder for each attribute value. This will ensure that the correct description is displayed in the cart for that attribute.


Ref Product – Used in conjunction with the Product’s Hierarchy and is explained in the chapter on Modeling for Multiple Product Configurations. Clicking the Clear button removes any products selected in the drop down.
OPTIONAL/REQUIRED Drop Down Box – Determines whether this Attribute is required to complete the order. The default is OPTIONAL. If set to REQUIRED then when a user configures a product, a notice will be displayed stating the order is Not Complete. Once all attributes set to REQUIRED have been selected, the notice will change to Complete.
Display As: This drop down box gives all the choices available for how the attribute will be used in the configuration. The choices are as follows:

For all selection choices, if the Attribute is set to OPTIONAL then an extra choice will appear stating that no selection value or selection has been made.


User Selection:
Radio Button – Allows user to pick only one of the Attribute Values.
Check Box – Allows user to pick multiple Attribute Values.
Drop Drown – User can see all values by clicking in the drop-down box. Helpful if there are many values but not much space to display each value.
List Box – User can select one value from a list of values.
List Box Multi Select – User can select multiple values from a list of values by holding down the Ctrl key.
Image Button – User can select a value by clicking on an image displayed for each value. If text needs to be displayed it must be embedded into the image. Active and Inactive images need to be set for each Attribute Value. Attribute Values are discussed later in this chapter.
Display Only Text – Displays only the Display Value text. Attribute can only have one attribute value.
Button – A button is displayed for the Attribute.
User Input:
Free Form, Match Lower – User can enter a number and it can automatically can be matched with an Attribute Value. For instance, Attribute Values for extension cord lengths could be 12, 20, 25, and 50. If a user enters a 30 for the length of the extension cord then it will automatically be matched to the Attribute Value of 25. This option though retains the users input for calculations if necessary.
Free Form, Match Upper – This works the same way as Match Lower except that it will match an Attribute Value higher instead of lower. For the example given above, 50 would be the matched value instead of 30.
Free Input, No Matching – Allows user to enter in values for an Attribute Value. This value will not be matched to any Attribute Values. This is used most often for a user’s input.
Free Form, Set Match Lower – When a user enters a number it will be matched to the lower Attribute Value. The value the user entered will not be retained but will be replaced with the matched Attribute Value
Free Form, Set Match Upper – Works the same as Set Match Lower except that the entered value will be matched with the higher Attribute Value.
Free Form, Exact Match – Allows user to enter number. User must enter a number that exactly matches an Attribute Value or an error is given.
Free Form Exact Match with Otherwise Option – This is not currently used in the system
Hidden Calculations:
Hidden Calculations use the expressions entered into the Hint/Calculation field of the attribute to determine its value. Attributes set as hidden calculated can only have one attribute value. Use hidden calculated attributes only when absolutely necessary. They don't offer control of calculation execution order and execute twice, which degrades performance. Only use them for attribute UI hints or when no alternative exists.
Hidden Calculation, Match Upper – This is not visible by the user. It can be a formula or logical expression. The results of the expression are dependent on values of other attributes that the hidden expression calculates. One example could be converting a unit of measure. The results are matched to the higher Attribute Value.
Hidden Calculation, Match Lower – This works the same as Match Upper except that it will match to the lower Attribute Value.
Hidden Calculation, No Matching – This works the same as Match Upper and Match Lower except that it will not match to any Attribute Values. Do not use this formula to calculate attribute's value. Consider writing a rule that will do this calculation, and assign the result into the attribute value. This will improve performance and you get to choose the order (priority) of calculations, which you can't do with hidden calculated attribute hints.
Hidden Calculation, Match Upper/Lower can be used as a method of rounding to intervals of 2, 5, 10, etc by placing these values in an attribute and matching a calculation to these values. For example, an attribute could contain the values 5, 10, 15, 20 and the calculation could return 10.348. If Match Upper were used then the value 15 would be selected. <*ValueCode(attribute)*> should be used to retrieve the matched value.
Multiple Product Configuration:
Subproduct - Allows a product to be configured within another product. The attribute must be referenced with another product that is a configurable product.

Customer Range Error Text – allows the administrator to display a customer error message if an incorrect value is entered by the user.

Step – Used in association with Steps. Set each Attribute to the Step it is associated with. If no steps are defined and all Attributes will appear on the same page, then set all Attributes to the same step. Attributes with the same step number will be displayed under that Step Number button displayed in the left column. If using the Product Setup Wizard to organize your attributes, you will not need to modify this field.
Sub Rank – This number represents the sequence that the Attribute will be displayed to the user. Lower numbers will be shown first, higher numbers last. If using the Product Setup Wizard to organize your attributes, you will not need to modify this field.
Properties, Triggers, and Attribute Values allow for further tailoring of the Attribute. Clicking each button will display related settings and options. Clicking the button again will remove those settings from the screen. If a section of settings are open and another button is clicked, those settings will then be appended under the already open settings.
Clicking the symbol will bring up the Attribute Where Used screen which will show all places where the attributes or attribute values are used, as shown in the image below.

Attribute Where Used


Clicking the Properties button will drop down the options.

Attribute Properties


Hint or Calculation Expression – This is not displayed. If one of the Hidden Calculated choices was selected from the Display As drop down then this is where the expression can be entered. Click the Check button for the Code Builder (see the chapter on Code Builder). Do not enter product calculations into hint fields. Write rules that perform calculations and assign result into an attribute.
Label – The default label displayed to the user when configuring the product is “Select attribute name”. If another label is necessary, enter it here. Though this field is a text field, HTML code can be entered if enhancements to the text such as bold or color is needed. Description – If List as line item (see above) is selected, text entered here will be displayed next to the item when listed in the cart/quote. To add an expression here, click the Check button for the Code Builder (see the chapter on Code Builder). If the attribute is set for multiple selections, such as a check box or multi select listbox, then each selected attribute value will be used as the description in the cart/quote.
Attribute Quantity – This field allows you to set a default quantity of an attribute for a specific product. For example, an attribute may be marked as line item, but it may be required (for some reason) to always add 100 of them. So if you put 100 in attribute quantity, it will add 100 in the shopping cart. If a user is allowed to enter quantity during configuration, the box where he enters quantity can be pre-populated based on this value as well.
User Can Enter Quantity – Determines whether the user is allowed to enter a quantity for this product. Enter a 1 to unconditionally allow the user the ability to enter quantity, or enter an expression to only allow it under certain conditions. See the Attribute Quantity section in this chapter for more information.

Product’s quantity can be changed through the use of a special attribute called ItemQuantity. If this attribute exists then the system will use its value to determine the quantity of the main item in the cart. For more information see the ItemQuantity Attribute section in the Product Definition chapter.


Propagate Quantity From Main Item – Determines if the quantity of this attribute changes when the quantity of the main product changes. An expression can be entered which will determine when the quantity should or shouldn’t change with the main product. Enter a 1 to unconditionally set this attribute to inherit the quantity from the main product.
Effective Dates – If applicable, enter the dates that this Attribute will be available to a user. Click the Calendar button to bring up a Calendar where the specific date can be chosen (see the chapter on Effectivity Dates).
X, Y – Allows custom placement of Attribute on the page by entering in the pixel location on the screen. Pixel location starts within the tab.
W, H – Determines the height and width of the attribute.
bgCol – Determines the background color of the attribute.
Rows/Columns – This defines the rows and columns that a free input text field will contain. Rows will affect the height while Columns will affect the width. Both values are based on the number of characters that can fit in the area.
Click the Triggers button to open up the Triggers options for this Attribute. Triggers are discussed further in this chapter in Triggers sections . Clicking the Attribute Values button will open the settings for the Values associated with the Attribute. Each value will have the same options and will look similar to Figure B, which shows only one Value’s settings.

Figure B - Attribute Values


In order for the Attribute Value to be available to a user, the Value must be selected. Select an Attribute Value by clicking the checkbox next to the Attribute Value name. Preselected – This indicates that this Value will already be selected for the user when configuring the product.
Ref. Product – If it is selected then while loading the product, it will be loaded and rules will be executed. After that catalog code, price, cost, image and product name of the ref. product will be used as catalog code, price, cost, image and display value of the attribute value.
Clicking the symbol at the attribute level will show all places where that attribute is used.
Add On Price – Each Attribute Value selected can add more to the Base Price that was defined in the Product Definition. Enter the amount to be added here. If necessary, prices can be negative to subtract from the Base Price.

Price will only be added on if the Price Calculation field is not being used for the product on the Product Definition page. If this field is going to be used, then you need to create an expression to add up all the attributes’ prices within this field.

Value Catalog Code – Used in specifying the part number. Click the Check button for the Code Builder (see the chapter on Code Builder). Use attribute catalog code when configuring the Product Catalog Code Generator to use this entered information (see the chapter on Product Definition for more information). If attribute is a line item then this value will be displayed in the Part Number column in the cart.
Sort Rank – Allows you to sort the values. Lower values are displayed first in the list. If not used, then the order seen on this screen is what will be displayed to the user.
Active/Inactive Image – When Image Button is selected from the Display As box, these images must be indicated. Active designates a value that is selected and Inactive designates a value that is not selected. Default Quantity – Indicates the quantity of this Attribute Value that will be added to the Cart/Quote. Because the default is 1, it is only necessary to enter a number if the quantity will be greater than 1.
Price Calculation – If the price of the Attribute Value is not always the same amount and may be dependent on other Attribute Values then an expression can be built to determine the Price of the Attribute Value. Click the Check button for the Code Builder (see the chapter on the Code Builder). If a value is used in both the Add On Price and the Price Calculation fields, then the Price Calculation will take priority.
Cost Builder – If the cost for the Attribute Value is not always the same and may be dependent on other Attribute Values then an expression can be built to determine the Cost of the Attribute Value. Click the Check button for the Code Builder (see the chapter on Code Builder).
Desc Builder – This field is main useful only for multi-select attributes, such as a check box. Because the system cannot determine which value to apply the attribute’s line item description to, by default the attribute value’s display value is used in the line item description. You can alternatively determine what description is going to be used in the cart for the current value with this field.
When finished configuring an Attribute, click the Next button to save the Attribute settings. This will bring up a confirmation page to verify the save. A link on that page is directed to the Product Definition page.

To bypass the confirmation page and stay in Product Attributes definition, simply click another Attribute in the left column. This will save the current Attribute while staying in the same section.

Control execution of rules per attribute

This functionality enables admin to control what are the attributes that will trigger the execution of rules. Product rules are processed only when values of certain attributes are changed, not for each click and that improves system responsiveness.

In SAP CPQ Setup when product is edited on tab ‘Product Attributes/Options’, there is column added called ‘Triggers Execution of Rules’. When user enters any attribute, there is field called ‘Triggers Execution of Rules’. If this flag is checked, when user changes value of this attribute in product configuration, product rules will be executed. If flag is not checked, changing value will not trigger execution of product rules which may improve performance of the product configuration engine. Default value for this flag is TRUE for all new attributes added to the product.

New column in the table of attributes


New flag for execution of rules


In SAP CPQ Setup in product edit on first tab, there is a flag called ‘Product rules are executed only once’. Its default value is FALSE. If flag ‘Process product rules only once’ is checked for the product, product rules will be processed only once – not until stable attribute state has been established (which is default mode).

Product attribute line item ranking

A Parent/Child system looks the following way when added to the quote (a Parent/Child System with a configurable child item and two line items where one of them is inheriting a product type form a Simple product):

Parent/Child System

1.1 Attribute line item that inherits product type from Simple product (rank 20)

1.2 Attribute line item (rank 30)

1.3 Configurable child (container line) item (rank 10)

Notice that the Line/Child ordering does not fall in line with the ranks. This is because SAP CPQ will first sort the Line Items, then the Child Items (child items always follow line items).

Now let’s see what happens when application parameter Inherit Only Product Type is set to TRUE. In this case, attribute line items will be treated as products. In other words, the Parent/Child System treats such attributes as child items:

Parent/Child System

1.1 Attribute line item (rank 30)

1.2 Configurable child (container line) item (rank 10)

1.3 Attribute line item that inherits product type from Simple product (rank 20)

Note that when Inherit Only Product Type is set to TRUE attribute line items will only pick up the product type from the selected product. Such attributes will be treated as line items of the Parent/Child System.

You are here: CallidusCloud SAP CPQ Online HelpAdmin Page HelpProduct AdministrationProductsProduct Attributes