CRM & Sales

Pricing with SAP SD: How to Perform Mass Change and Creation of Condition Records

Product prices aren’t as straightforward as they once were.


The rise of product variation options and savvy shoppers means there’s always an upsell to be made or a coupon to be discounted. When it comes to pricing with SAP SD (Sales and Distribution), having multiple product prices—and changing them as needed—doesn’t have to be complicated.


SAP SD makes use of condition records to provide the prices of products in individual instances—such as coupon or discount code applied. This results in plenty of conditions to maintain. Condition maintenance provides the ability to perform mass changes.


Create Condition Record with Template

You will likely only change existing condition records in their current validity period in rare cases; for example, if you want to correct a mistake. However, condition changes should only take effect starting with a specific date.


This is why, in the Create with Template function, you first select the set of affected condition records and create a new validity period. Since there cannot be overlapping validity periods, when saving the new records, the program sets the end date of the previous validity periods to the last day before the start date of the newly created validity period. The start date of the next interval (if existing) is set to the first day after the end of the current validity period.


We will watch this process using the example of Transaction VK14 (Create with Template). In the first step, we need to select the required condition type in order to select the affected set of condition records using the offered selection parameters in the next step (see below).


Creating Price

With the date Valid On, the validity periods of the template data are determined. In the lower part of the selection screen, you can find the switch Keep end of validity period. If this switch is clicked, the validity end for the conditions is taken from the reference conditions. If the switch is not checked, then the validity end for the conditions is proposed from the Customizing of the condition type.


Next, we select the condition records found and set the validity period to the desired start and end date. In most cases, the start date will be the date of the price change and the end date will be 31.12.9999—that is, the last validity period that then always runs until further notice.


We have chosen the example of a limited change in price—for example, from 01.08.2016 until 31.08.2016—in order to observe how the program-controlled validity period split takes place.


Creating Price Condition

Changing a Creation Record

In the next step, you can start Transaction VK12 (Change Condition Records) and set the selection parameter Valid On, for example, to the beginning of the newly created interval in which the price change is to take place.


If we now look at the validity periods for the selected condition records, we note that—as previously described—three validity periods have been formed, as shown below.


Changing Price Condition

If you select the set of condition records and click the Change amount button, you can specify in a subsequent popup window either Percentage or Absolute amount and optionally choose a Rounding rule (see first figure below). After this change, a log with the changed values will be displayed, and the changed data can be saved.


Due to the chosen situation of a limited change in price from 01.08.2016 until 31.08.2016 with the program-controlled validity period split, the situation seen in the second figure is our new result.


Changing Price Condition
Changing Price Condition


The selected rounding rule 4 has ensured that the new values were set to zero in the second decimal place. In addition to rule 4, there are three other rounding rules in the standard SAP system.


Rounding Rules

Like most routines in SD, the rounding rules are maintained with Transaction VOFM (Maintain: Requirements and Formulas). The rounding rules can be found using menu path Formulas > Rounding Rules.


Since these are double-digit routine numbers, the customer namespace is from 50 to 99. By means of customer-specific rounding rules, the behavior when changing the condition amount can be affected in a specific way.



While it’s unlikely you’ll need to make major changes to your condition records while using SAP SD, it’s important to know how to do so if the opportunity arises. By following the steps outlined above, you’re equipped with an efficient way of creating and changing items with a template.


Editor’s note: This post has been adapted from a section of the book Pricing and the Condition Technique in SAP ERP by Ursula Becker, Werner Herhuth, and Manfred Hirn.


Pricing and the Condition Technique in SAP ERP
Pricing and the Condition Technique in SAP ERP

Wrap your head around pricing and the condition technique with this nuts-and-bolts guide! First become versed in the fundamentals: condition types, master data settings, and condition lists. Then employ standard configurations, from condition records to pricing in sales documents. Use function modules, deploy user exits, and create custom workarounds to pick the right price for your products!

Learn More

SAP PRESS is the world's leading SAP publisher, with books on ABAP, SAP S/4HANA, SAP CX, intelligent technologies, SAP Business Technology Platform, and more!