Download PDF
Download page Examples and Related Syntax for Numeric Expressions.
Examples and Related Syntax for Numeric Expressions
This section lists out the common examples and related syntax that you can refer to for your specific scenario.
Syntax to fetch quantity of any product line selected for the quote:
Apttus_Config2__LineItem__c.$CartLines['Apttus_Config2__ProductId__r.Name','Product A'][0].Apttus_Config2__Quantity__c
CODEInsert Field > Line item > CartLines > Select the field and provide the filter and index.
Syntax to fetch sibling option quantity within the same parent bundle:
Apttus_Config2__LineItem__c.$ParentBundle.$Options ['Apttus_Config2__OptionId__r.Name','Solar Panel 80-100 Watt'][0].Apttus_Config2__Quantity__c
CODEInsert Field > Line item > ParentBundle > Options > Select the field and provide the filter and index.
- Syntax to retrieve product field value as part of an expression:
Retrieving a bundle product field
Apttus_Config2__LineItem__c.Apttus_Config2__ProductId__r.Numr_Numb__c
CODEInsert Field > Line item > Product > Select the field
Retrieving an Option product field when the expression is created for a bundle product.
Apttus_Config2__LineItem__c.$Options[field,value][index].Apttus_Config2__OptionId__r.Numr_Numb__c
CODEInsert Field > Line item > ParentBundle > Options > Select the field and provide the filter and index.
In Bundle-In-Bundle setup, if you want to update an option product’s attribute, min quantity, and max quantity based on a field value from its bundle product which is an option of another bundle.
Apttus_Config2__LineItem__c.$ParentBundle.Apttus_Config2__OptionId__r.Numr_Numb__c
CODEIn Bundle-In-Bundle setup, if you want to update an option product’s attribute, min quantity, and max quantity based on a field value from the top bundle product.
Apttus_Config2__LineItem__c.$MainBundle.Apttus_Config2__ProductId__r.Numr_Numb__c
CODE
- Syntax to retrieve quote header field as part of an expression:
Displaying the Quote header field from a bundle product.
Apttus_Config2__LineItem__c.Apttus_Config2__ConfigurationId__r.Apttus_QPConfig__Proposald__r.Numr_Field1__c
CODEDisplaying the Quote header field from an Option product.
Apttus_Config2__LineItem__c.$ParentBundle.Apttus_Config2__ConfigurationId__r.Apttus_QPConfig__Proposald__r.Numr_Field1__c
CODE
Syntax to retrieve product attribute value as part of an expression:
Apttus_Config2__ProductAttributeValue__c.Total_Daily_WattHours__c
CODEInsert Field > Product Attributes > Select the field
Syntax to define the value of an attribute using another attribute of the same product or option
Apttus_Config2__ProductAttributeValue__c.Length__c * .25
CODESyntax to retrieve parent bundle product attribute value as part of an expression:
Apttus_Config2__LineItem__c.$ParentBundle.Apttus_Config2__AttributeValueId__r.Battery_Capacity_Needed__c
CODEInsert Field > Line item > ParentBundle > AttributeValue > Select the field
Syntax to define rollups on header
Specify the Object to be updated and the field of the object to be updated. In the value expressions field, specify the fields from which you want to fetch the values from.BLANKVALUE($.AttributeValueId__r.Total_daily_WattHours_required__c, 0) * 3
CODE- Syntax to define rollups for Products
Specify the scope as Product, and enter Product name in the Product field. Ensure that you define a parent field as LineItemId_c in the Rollup Criteria area. - Syntax to define rollups for Options
Specify the scope as Product, and in the Match Expression area, enter ParentBundleNumber__c == $condition.PrimaryLineNumber__c - Syntax to define rollups Product Group
Specify the scope as Product Group, and enter Product Group name in the Product Group field. Ensure that you define a parent field as LineItemId_c in the Rollup Criteria area. Syntax to define rollups for specific Quote Numbers or Account Numbers:
Specify the scope as Header, and in the Match Expression area, enterBLANKVALUE(ConfigurationId__r.Proposald__r.Apttus_Proposal__Account__r.Name == 'Account Name',0)
CODESyntax to define option rollups for specific bundles or multiple bundles
Specify the scope as Product, specify the product name in the Product field and in the Match Expression area, enterParentBundleNumber__c == $condition.PrimaryLineNumber__c
CODEEnsure that you define a parent field as LineItemId_c in the Rollup Criteria area.
Syntax to define a rollup based on the sum of attribute values
Specify the scope as Product, specify the product name in the Product field and in the Expression Criteria area, specify the Value Expression asBLANKVALUE($.AttributeValueId__r.PerfAttr1__c,0) + BLANKVALUE($.AttributeValueId__r.PerfAttr2__c,0) + BLANKVALUE($.AttributeValueId__r.PerfAttr3__c,0)
CODEEnsure that you define a parent field as LineItemId_c in the Rollup Criteria area.
Syntax to define numeric roll upsummary record in a numeric expression
In order to roll up the specific product attribute (which is numeric) based on the options product quantity roll up, do the following.
In the Quantity roll up for options,
Under Match Condition, specify Apttus_Config2__LineItem__c.Apttus_Config2__ParentBundleNumber__c != NULL()
Select SUM as roll up operation.
Under Aggregate expression, specify Apttus_Config2__LineItem__c.Apttus_Config2__Quantity__c
Then use the roll upsummary in the expression in the following way:Apttus_Config2__LineItem__c.$Rollups['fieldName',value].Apttus_Config2__TotalQuantity__c
CODESyntax to set attribute value of a product from the attribute value of another product in the cart:
BLANKVALUE(VALUE(Apttus_Config2__LineItem__c.$CartLines['Apttus_Config2__ProductId__r.Family','Laptop'].Apttus_Config2__AttributeValueId__r.Size__c),17) BLANKVALUE(VALUE(Apttus_Config2__LineItem__c.$CartLines['Apttus_Config2__ProductId__r.Name','Toshiba Satellite S875-S737617.3 Inch'].Apttus_Config2__AttributeValueId__r.Size__c),14) BLANKVALUE(VALUE(Apttus_Config2__LineItem__c.$CartLines['Apttus_Config2__ProductId__r.ProductCode','LP104'].Apttus_Config2__AttributeValueId__r.Size__c),14)
CODESyntax to set attribute value of an option item with the attribute value of another option item inside the same bundle.
Apttus_Config2__LineItem__c.$ParentBundle.$Options['Apttus_Config2__OptionId__r.Name','Option 1.1'].Apttus_Config2__AttributeValueId__r.Length__c
CODESyntax to set Option's Default/Min/Max Quantity based on attribute value of the parent bundle:
BLANKVALUE(VALUE(Apttus_Config2__LineItem__c.$ParentBundle.Apttus_Config2__AttributeValueId__r.Data_Transfer_Limit_Month_in_TB__c),0) BLANKVALUE(Apttus_Config2__LineItem__c.$ParentBundle.Apttus_Config2__AttributeValueId__r.Number_of_Users__c+5, 0)
CODESyntax to conditionally set the value of attribute or min/max/default quantities of an option item, depending on the value of an attribute from the parent bundle.
IF(Apttus_Config2__LineItem__c.$ParentBundle.Apttus_Config2__AttributeValueId__r.Edition__c=='Enterprise', BLANKVALUE(Apttus_Config2__LineItem__c.$ParentBundle.Apttus_Config2__AttributeValueId__r.Number_of_Users__c+5, 0), BLANKVALUE(Apttus_Config2__LineItem__c.$ParentBundle.Apttus_Config2__AttributeValueId__r.Number_of_Users__c+10, 0))
CODESyntax to set the quantity of an option using quantity of another option in the same bundle.
BLANKVALUE(Apttus_Config2__LineItem__c.$ParentBundle.$Options['Apttus_Config2__OptionId__r.Name','Option 1.1'].Apttus_Config2__Quantity__c * 2, 0)
CODESyntax to set the value of an attribute value or min/max/default quantities using a numeric rollup:
BLANKVALUE(Apttus_Config2__LineItem__c.$Config.$Rollups['Name','Cart Weight'].Total_Weight__c,0)
CODESyntax to set quantity of a product to the sum of quantities of other 2 products in the cart.
BLANKVALUE(Apttus_Config2__LineItem__c.$CartLines['Apttus_Config2__ProductId__r.Name','Logitech Keyboard K120'].Apttus_Config2__Quantity__c,0) + BLANKVALUE(Apttus_Config2__LineItem__c.$CartLines['Apttus_Config2__ProductId__r.Name','Logitech Wireless Keyboard'].Apttus_Config2__Quantity__c,0)
CODE