Product Attribute Rules allow product configuration according to product attributes that are based on the actions you select. Each attribute value selection should ensure that the rest of the attributes get constrained to allow only valid selections to help narrow the result set. The attributes can also leverage expressions and calculations to derive values that help identify the product variant. This feature simplifies the configuration process, eliminates the need for component-level choices and provides guided selling at the product configuration level. You can also set multiple actions for the same product attribute rule.

The product attribute rule is applied to the criteria that you define in the Criteria section. You can define simple and advanced criteria. In simple criteria, you can select field, operator and value. In advanced criteria, you can set a condition, if it is true, then the actions in the Action section are triggered.

If you have set a default value for a field from Salesforce and you define a product attribute rule with an action of setting the default value, then the value mentioned in the Salesforce field is set. In short, you cannot override the default value that is set in the Salesforce field by using a product attribute rule.

Note

Attributes are constrained on the basis of selection of other attributes. The constrained values are not displayed in the drop-down menu. In order to reset the list, click or select -None- from the picklist.

For example, Amttus, a leading laptop manufacturer, wants to drive the product selection of their users by using attributes. A laptop has five attributes - Color, HDD, RAM, Screen Size, and Fingerprint Reader. The following table describes the products and its attributes.

ProductA-560A-560mA-440A-440mA-320A-320m
ColorBlackBlackWhiteWhiteBlackWhite
HDD1 TB2 TB500 MB500 MB1 TB1 TB
RAM81648816
Screen Size14 HD14 HD1515 HD1414 HD
Fingerprint ReaderYesYesYesYesNoYes

Now, we want to set the default value of Fingerprint Reader as yes, if the user selects White from Color picklist menu and 500 MB from HDD picklist menu.

To Create a Product Attribute Rule

  1. On App Menu, click Apttus CPQ Admin and then click the CPQAdmin tab. The new admin console is launched.
  2. On the Products menu, click Manage Products.
  3. Search and click any product, preferably the one you want to associate Product Attribute Rule with.
  4. Click Rules. The page displays different rules tab.
  5. Click Product Attribute Rule icon() next to the title, RULES. Product Attribute Rule tab is displayed
  6. Click the menu icon()  next to New Constraint Rule and click New Product Attribute Rule.
  7. Fill in the required details.

    Field Name

    Description

    Rule Name

    Enter the Name of Product Attribute Rule.

    Active

    Flags whether the product attribute rule is active.

    Effective DateSelect the date when the product attribute rule is in effect. Leave this field blank if you want this product attribute rule to be always effective.
    Expiration DateSelect the date when the product attribute rule will become invalid. Leave this field blank if you want this product attribute rule to be always effective.
  8. Select the product attribute rule you just created from the RULES section. 
  9. Fill in the required details under the IF(scope)... section. You can leave them blank if the fields are not required.

    Field Name

    Description

    Product FamilyA multi-select field. Click in the text box to view the available product families and select the appropriate ones. You can also enter a keyword and search for a product family.
    Product GroupA multi-select field. Click in the text box to view the available product groups and select the appropriate ones. You can also enter a keyword and search for a product group. The product groups are filtered on the basis of product families that you select.
    ProductsA multi-select field. Click in the text box to view the available products and select the appropriate ones. You can also enter a keyword and search for a product. The products are filtered on the basis of product families and product groups that you select.
    CriteriaEnter the formula to be evaluated. When this formula evaluates to true, the rule is executed. 

    The Scope value for Product, Product Family, and Product Group can be left blank instead of the default value All. Leaving the field blank prevents the rule from searching across all records of that type, improving the scalability performance of product attribute rules. For example, the Product scope can be specific for product value, while leaving Product Family and Product Group blank, so that they are not queried because they are not needed.

  10. Fill in the fields under the THEN(statements)... to define the Product Attribute Rule.

    Field NameDescription
    Target AttributeSelect the target attribute. Use type ahead to display a list of applicable fields or attributes.

    Action Type

    Select the action that you want to perform on the product attribute. Available options are:

      • Allow - To restrict the visibility of values on the target field.
      • Default - To add a default value on the target attribute.
      • Hidden - To hide the target attribute.
      • Disabled - To make the target attribute as a read-only field.
      • Required - To make the target attribute as a required field.
      • Reset - To auto-populate a default value on the target attribute if the field is left blank.

    Click the relevant link to see the individual examples.

    Value Expression

    Enter the Value Expression. You can use the methods such as JOIN and DISCRETEINTERVAL.

    DISCRETEINTERVAL(start, stop, interval): This method returns a discrete array of values from start to stop separated by interval.
    Params:

    • start - the first element of the specified dimension in the array
    • stop - the last element of the specified dimension in the array
    • interval - the distance between two elements in the array

    JOIN(array, separator): This method returns a concatenated text string of all the elements of an array, using the specified separator between each element.
    Params:

    • array - an array that contains the elements to concatenate.
    • separator - the string to use as a delimiter between values.Separatoris included in the returned string only if the value has more than one element. If no separator is specified, the default will be a comma (,).

    For example, if you want to limit the deductible amount (an attribute) for California state from 200 to 1000, with an interval of 100, use the expression as:JOIN(DISCRETEINTERVAL(200,1000,100),';')

  11. Click Save.

Once you save your record, update the Target Attribute with the prefix Apttus_Config2__ProductAttributeValue__c. For example, if your Target Attribute is ProductAttributeValueId1__r.Ext1Multiselect__c, after the update, your Target Attribute should be Apttus_Config2__ProductAttributeValue__c.ProductAttributeValueId1__r.Ext1Multiselect__c. This up-gradation is required to work with PAV Extension Objects.