Pricing conditions can be used in sales and purchasing to determine surcharges for configurable materials. The communication with the application calling the configurator is done with the reference characteristics SDCOM-VKOND (sales) and MMCOM-VKOND (purchasing). Pricing conditions can be set by:
- Direct input to the reference characteristic
- Manual condition (condition is assigned to a characteristic value)
The general scheme in pricing (using dependencies) is the following:
- Define conditions which correspond to the surcharges in the transaction VK11.
- Create an SDCOM-VKOND (or MMCOM-VKOND) reference characteristic and attach it to the variant class of your VC model.
- Create a procedure which implements the pricing logic.
We will discuss a concrete example for this scheme in the next sections.
Pricing conditions are defined in the transaction VK11. You can change them in the VK12 and display them in the VK13. There are two condition types available:
- VA00 (absolute values)
- VA01 (percentage values)
After you have specified which condition type you want to use, you need to enter a Sales Organization, a Distribution Channel and a Material before you can specify the pricing conditions in the following screen:
Here we have specified three conditions: EMM_COND_A, EMM_COND_B and EMM_COND_C. These correspond to the surcharges 100€, 200€ and 300€. In this screen you only need to enter the condition name and the amount; the rest is filled automatically.
3. Example Model
As an example model we will use a configurable material EMM_KMAT_PRICING with profile "Planned Order". Attached to this material is the variant class EMM_CL_PRICING, which contains the following characteristics:
- EMM_CH_CONDITION (reference characteristic to SDCOM-VKOND)
- EMM_CH_NUMERIC (numeric characteristic, no values specified)
- EMM_CH_CHAR (alphanumeric characteristic with values A, B and C)
Remark: We will only talk about pricing in sales orders, so we created an SDCOM-VKOND reference characteristic.
Based on the values of the characteristics EMM_CH_NUMERIC and EMM_CH_CHAR we will assign different surcharges to the configurable material EMM_KMAT_PRICING.
4. Manual Pricing Conditions
We will start with the characteristic EMM_CH_CHAR and the following pricing logic:
- If it has the value A, then assign the surcharge EMM_COND_A
- If it has the value B, then assign the surcharge EMM_COND_B.
- If it has the value C, then assign the surcharge EMM_COND_C.
Since this type of surcharge assignment is based on manual assignments of characteristic values, they are called manual pricing conditions. Manual pricing conditions are defined in the simulation transaction CU50.
First you go to the F4 help-screen of the characteristic EMM_CH_CHAR and place the cursor next to the value you want to assign the condition to (1). Next you press on the button “Assign variant condition” (2). In the window that pops up, you need to specify the pricing condition (Variant) you want to assign (3). For the value A, this is the condition EMM_COND_A. Finally you confirm with “Save” (4). Similarly, we assign the conditions EMM_COND_B and EMM_COND_C with the characteristic values B and C.
Remark: With the switch c_condition_price (include LCEI0FS4) you can change the way the manual conditions are displayed in the F4-Help of the corresponding characteristic.
If the switch is not active, the condition name is displayed (left image). If the switch is active, the associated surcharge is displayed (right image). More information on this can be found in SAP Note 1259021.
5. Pricing Conditions and Dependencies
Next we will use the characteristic EMM_CH_NUMERIC to select a pricing condition. The following procedure selects the pricing conditions EMM_COND_C when the characteristic EMM_CH_NUMERIC has the value 3.
$self.EMM_CH_CONDITION = 'EMM_COND_C' if $self.EMM_CH_NUMERIC = 3.
After we have created this procedure in the transaction CU01, we attach it to the profile of the material EMM_KMAT_PRICING.
6. Displaying Pricing Conditions
In the simulation transaction CU50, you get an overview of all the pricing conditions that are selected, after pressing on Pricing (1) and the Conditions (2).
Note that only the condition names and not the actual surcharges are displayed.
6.2 VA01, VA02, VA03
In the configuration screen of a sales order item the surcharges are displayed as well, after pressing on Pricing (1) and Conditions (2).
In the sales order screen you can also display all pricing conditions after pressing on Item condition.
7. Pricing Factors
So far we have only talked about setting surcharges in an additive way, i.e. a certain amount is added to the base price of a configurable item. But in some situations it can also be useful to do this in multiplicative way. This is when pricing factors come into play.
Suppose there is an additional characteristic EMM_CH_LENGTH in our model for the configurable material EMM_KMAT_PRICING, which represents the length of this item, and you want to charge additional 100€ (EMM_COND_A) for every meter of this item. This pricing scheme can be implemented with a procedure containing the following syntax:
$SET_PRICING_FACTOR ($SELF, EMM_CH_CONDITION, EMM_COND_A, EMM_CH_LENGTH)
So if EMM_CH_LENTH has the value 5, then to total surcharge is 5*100€. If you want to double the price per meter you can write
$SET_PRICING_FACTOR ($SELF, EMM_CH_CONDITION, EMM_COND_A, EMM_CH_LENGTH * 2)
As you can see, additional factors are allowed in this syntax as well.