XWS Tag

XWS tag may have one or more parameters. First parameter is function name. Other parameters are optional and represent parameters passed to the specified function. Beside that it supports several standard functions it is a gateway from configurator to external resources like web services from another systems.

Standard XWS functions

Candy <*XWS(Candy)*> Always returns the same constant. Parameters - none Returns 100

GetProductPrice <*XWS(GetProductPrice, ProductName)*> Applies current product configuration to the specified product and returns its price. Parameters - ProductName – a name of the product that’s price is queried Returns Price of the specified product after current configuration has been applied to it.

GetProductCatCode <*XWS(GetProductCatCode, ProductName)*> Applies current product configuration to the specified product and returns its catalogue code. Parameters - ProductName – a name of the product that’s catalogue code is queried Returns Catalogue code of the specified product after current configuration has been applied to it.

GetProductDescription <*XWS(GetProductDescription, ProductName)*> Applies current product configuration to the specified product and returns its description. Parameters - ProductName – a name of the product that’s description is queried Returns Description of the specified product after current configuration has been applied to it.

Iterate <*XWS(Iterate, Data, Formula)*> Applies formula expression from the hint of the “Formula” attribute to each part of the comma separated values (CSV) in the value of the “Data” attribute and returns sum of all evaluations. Parameters - Data – name of the attribute that in its value contains the data that needs to be iterated - Formula – name of the attribute that in its hint contains the formula that needs to be evaluated on each CSV value from Data attribute. Formula may contain all standard tags and new special tag {{CurrentValue}} that will be replaced by the current iteration value. Returns Sum of all evaluated formulas

Example 1 <*XWS(Iterate, Data, Formula)*> Value of attribute Data is 1,2,3,4,5 Hint of attribute Formula is {{CurrentValue}} Will return 15 Sum = 0 Iteration 1 - Sum = Sum + 1 = 0 + 1 = 1 Iteration 2 - Sum = Sum + 2 = 1 + 2 = 3 Iteration 3 - Sum = Sum + 3 = 3 + 3 = 6 Iteration 4 - Sum = Sum + 4 = 6 + 4 = 10 Iteration 5 - Sum = Sum + 5 = 10 + 5 = 15

Example 2 <*XWS(Iterate, Data, Formula)*> Value of attribute Data is 1,2,3,4,5 Hint of attribute Formula is <*eval({{CurrentValue}}+1)*> Will return 20 Sum = 0 Iteration 1 - Sum = Sum + <*eval(1+1)*> = 0 + 2 = 2 Iteration 2 - Sum = Sum + <*eval(2+1)*> = 2 + 3 = 5 Iteration 3 - Sum = Sum + <*eval(3+1)*> = 5 + 4 = 9 Iteration 4 - Sum = Sum + <*eval(4+1)*> = 9 + 5 = 14 Iteration 5 - Sum = Sum + <*eval(5+1)*> = 14 + 6 = 20

Example 3 <*XWS(Iterate, Data, Formula)*> Value of attribute Data is 09/01/2008,09/03/2008,09/08/2008 Hint of attribute Formula is

<*Table(select top 1 Price from Table where StartDate⇐‘{{CurrentValue}}’ and EndDate>=‘{{CurrentValue}}’)*>

Will return sum of prices for selected dates in Data attribute.

See Also

You are here: CallidusCloud CPQ Online HelpAdmin Page HelpCPQ TagsXWS Tag