Variant pricing is where SAP VC connects to SD pricing. The configuration engine determines which surcharges apply based on the selected characteristic values, and SAP SD converts them into price adjustments on the sales order.
This guide covers the mechanics and the setup.
Source: SAP Help: Condition Technique for Variant Configuration
How Variant Pricing Works
The flow is straightforward:
- User configures a product in VA01/VA02
- Procedures calculate surcharge values based on characteristic selections
- A pricing reference characteristic maps to SDCOM-VKOND
- The condition technique reads the surcharge and applies it to the sales order price
Setup Steps
1. Create a Pricing Reference Characteristic
Create a characteristic (CT04) that will hold the surcharge key. This characteristic acts as the bridge between VC and SD.
Set the following in the characteristic:
- Data type: CHAR
- Number of characters: at least 10
- Reference table: SDCOM
- Reference field: VKOND
2. Create Condition Records
Use transaction V/06 to create condition records for your surcharges. Each condition record maps a surcharge key to a price amount.
For surcharge type VA00 (Variant Configuration):
- Create condition records for each unique surcharge key your VC model will output
- Example: surcharge key 'HD-003_02' = $50 for a specific handlebar color option
3. Write Procedure Logic
In the procedure (CU03), set the surcharge characteristic:
$self.SURCHARGE = 'HD-003_02' if $self.HD_COLOR = 'Black',
$self.SURCHARGE = 'HD-003_00' if $self.HD_COLOR = 'Silver'.
The surcharge key becomes the condition record key that SD uses for pricing.
Pricing Factor Syntax
For quantity-dependent surcharges:
$SET_PRICING_FACTOR ($SELF, <ref characteristic>, <variant key>, <factor>)
Example:
$SET_PRICING_FACTOR ($SELF, ZPRICE_FACTOR, 'Surcharge', 1.25)
Dependency Group SAP_PRICING
Dependencies tagged with the SAP_PRICING dependency group only execute during pricing calculation, not during interactive configuration. This prevents pricing formulas from running on every click, improving configuration UI responsiveness.
Set the group in the dependency header (CUKB-KNGRP = 'SAP_PRICING').
Common Mistakes
- Missing reference table/field: The surcharge characteristic must reference SDCOM-VKOND or pricing won't read it
- Condition record missing: The surcharge key must have a matching V/06 condition record
- Wrong surcharge type: VA00 is the standard type for variant configuration surcharges
- Pricing dependency group: Without SAP_PRICING group, pricing formulas run on every configuration change
Summary
Variant pricing connects VC logic to SD pricing through three components: a pricing reference characteristic that bridges to SDCOM-VKOND, V/06 condition records that define the actual price amounts, and procedure logic that sets the surcharge key based on characteristic selections. Get these three right and your configured products will price correctly.
Sources: SAP Help: Condition Technique | V/06 transaction documentation