Show TOC

 Pricing Factors

Use

Surcharges or discounts can depend partly on a specific characteristic value, partly on other factors, such as length. This method of pricing can also be expressed in dependencies. To do this, you enter the factor by which you want the surcharge or discount to be increased or reduced, as well as entering the variant condition.

Caution Caution

Pricing factors can only be maintained on characteristic level, not in the sales order.

End of the caution.

The syntax of pricing factors is as follows:

$SET_PRICING_FACTOR ($SELF, <characteristic>, <variant key>, <factor>)

This expression contains the following information:

  • The characteristic that refers to structure SDCOM, in which variant conditions are defined.

  • The variant key used to infer the condition for a characteristic value.

  • The factor by which the surcharge increases. You can enter the factor as a constant, a numeric characteristic, or a numeric expression.

Features

You use built-in function $SET_PRICING_FACTOR in a procedure.

If you call $SET_PRICING_FACTOR, but the relevant condition is not set in the configuration, the factor is still processed. A dynamic database trace message tells you that the condition is missing. The missing condition is not set.

Example:

1. The variant class contains characteristics WOOD and LENGTH (in meters).

2. You create characteristic VARCOND that refers to structure SDCOM and field VKOND, and assign this characteristic to the variant class.

3. You create variant condition OAK with amount 5 (currency of your choice) per meter.

4. You define a procedure so that variant condition OAK is set if the WOOD is ‘Oak’, and this variant condition is multiplied by the length times 3.

$SELF, VARCOND = ‘OAK’, IF WOOD = ‘OAK’

$SET_PRICING_FACTOR ($SELF, VARCOND, ‘OAK’, LENGTH*3)

5. Allocate this procedure to the configuration profile of the configurable material.

6. If value 5 is assigned to LENGTH when configuring the material, variant condition OAK is multiplied by this factor (5 * 15 = 75) and the value is added to basic price PR00.