Pricing in Business Transactions
SAP Pricing Fundamentals
ConditionTechnique in Pricing
condition records. The various elements used in the condition technique are set up and controlled in customizing. During the processing of a business transaction, the system uses the condition technique to determine a variety of important pricing information.
For example, the system automatically determines which gross price the customer should be charged and
which discounts and surcharges are relevant given the conditions that apply.
Elements in the condition technique
- Condition Types: Define condition types different components that make up a price of a product (base price, discounts, and surcharges)
- Condition Tables: To store and retrieve condition records for each of the different condition types
- Access sequences: Strategy to enable the system to find valid condition records
- Pricing Procedure: Grouping of condition types in a particular sequence
Process Flow for condition determination
- The determination of pricing procedure is determined based on the data in the application.
- The pricing procedure has several condition types in sequence; the system reads the first condition type of the search procedure and determines the access sequence.
- The access sequence is read with the condition tables which are also read in a sequence. The condition tables determine the condition records. The condition tables have key field combinations based on which the system determines the condition records.
- As soon as the system has found a valid condition record for a condition table, it makes the result value for a results field available to the application.
- When the determination procedure condition more than one condition type, the system repeats the search for condition records for each condition type.
Condition Types
Access sequences
Pricing depends on a host of factors. For example, a discount may be applied only may only on a particular
customer or the customer group. It may depend on the region or the product being or it may be applicable for only certain duration. There are many such complex scenarios in real world and in order to determine the prices according
to these conditions, the system makes use of access sequences.
Access sequence is a search strategy used in pricing to determine the best value that meets the required conditions in an iterative manner. For example, if a certain tax % should be waived off particular customer group for a sales office, then the system searches for this combination via access sequence. The access sequence contains
a list of condition tables having condition records which are accessed in aniterative fashion to get the best possible match.
Condition Tables & Condition Records
Pricing in CRM
pricing procedure in CRM is determined based on the following factors:
- Sales Organization
- Distribution Channel
- Document Pricing Procedure (can be assigned to a
sales transaction, on the third level) - Customer Pricing Procedure (assignment in business
partner master)
system. This is done via initial load in CRM via transaction R3AS.
- DNL_CUST_CNDALL (all data for condition
technique and pricing) - DNL_CUST_CND (condition technique data without
the cross-client data) - DNL_CUST_PRC (Pricing data)
Internet Pricing and Configurator (IPC)
CRM uses IPC (Internet Pricing and Configurator) to determine pricing information when creating a business transaction, such as a quotation, sales order, service process or a contract in a web based environment. It allows to configure price and products in a web environment, using master data that is downloaded from SAP R/3 system. It combines the functions of the Sales Configuration Engine (SCE) and the Sales Pricing Engine (SPE) with a standardized Web interface.
Pricing Communication Structure in CRM
Define Settings for Pricing->Define Settings for Pricing
Pricing Business Add-in (BADI)
CRM_COND_COM_BADI.
HEADER_COMMUNICATION_STRUCTURE.
method ITEM_COMMUNICATION_STRUCTURE.
Development Environment
development of the routines.
Important related SAP notes
Development Steps of Pricing Routine
project from a zip file attached in an SAP provided note, 809820, for this purpose. This helps is accelerating the development.
- Download and unzip the ZIP file attached in SAP Note 809820 into a directory, say C:\DEV. This folder is the workspace folder for eclipse.
- Enter into transaction /n/SAPCND/UE_DEV. API JAR files and some source JARs from the system will be downloaded in a subfolder in the above directory upon executing the transaction as shown in screenshot below.
The development of the pricing routine will be done in an IDE, say eclipse. Hereprepare an eclipse project using the folder in step 1 which will act as a workspace in eclipse.
classes need to be uploaded back into the system. For this, the java sources and the compiled classes must be error free. Then prepare a JAR file from the SAP delivered configuration file ‘create_PRC_UE_CUSTOMER_jar.jardesc’ in the SAP note.
- The developed user exit will then be uploaded into the system using the same transaction /n/SAPCND/UE_DEV. For one ABAP package, only one JAR file can be used. Uploading will over-write an existing JAR file if present, however the new coding is not taken automatically. We need to reset the VMC in transaction SM52.
Uploaded user exits
- Select in the Navigation tree the element Application.
- Browse the Installation tree down to the shown level 0/SAP/IPC -> Modules.
- All modules ending with _SAPCND_UE are customer uploaded modules equals jar files.
- Select the folder for /0CUST/ZSD_DEV_SAPCND_UE and we can see the uploaded jar files.
Configuration of uploaded user-exits
Register a user-exit
the “Implementations” folder in the left pane of the transaction as shown in the screenshot below after having selected the appropriate user exit type in the above screenshot.
Attributes in exits
“Attributes” section of the user exit. This attribute is only a symbolic name which will be mapped later to a field from the pricing communication structure. This name of the attribute will be referenced in the user exit implementation.
- ZDENOMINATOR
- ZNUMERATOR
- ZSOLDCAPACITY
Formula number assignment
relevant condition type in pricing.

These fields in the pricing communication structure will be populated via the pricing BADI, by implementing either of the header or the item methods, depending on which level this pricing is maintained and required for.
Virtual Machine Container
Logs in Virtual Machine Container
- Info
- Warning
- Error
- Fatal
- Debug

Classes to be inherited for different types of user exits

Related Content
- www.help.sap.com
- www.sdn.com
- www.servicemarketplace.com
( For reference to SAP notes)