Upload
sapapoonlinetraining
View
328
Download
6
Embed Size (px)
Citation preview
8/11/2019 SAP SD Pricing Fundamentals
1/14
SAP SD Pricing Fundamentals
Fundamentals of SAP SD PricingRelated Trainings
SAP Access
SAP Training SAP SD Training
ConceptsPricing is one of the core concepts in SAP SD and all SD consultants need to know pricing. Just as the name
says, SAP SD Pricing is configuring the system to effectively determine the price of a product under differentcircumstances. The most easiest example to explore pricing is to take a simple grocery bill and expand on it.
Consider this as an extract of a grocery bill. You have purchased some items from the Produce section and
some from the stationery section. Your Produce sub-total is 18.00 and your stationery sub-total is 10.00. You
have been taxed 10% and your total comes to 27.00 as shown in the picture above.
http://www.magnatraining.com/http://www.magnatraining.com/http://www.magnatraining.com/http://www.magnatraining.com/http://www.magnatraining.com/sap/sap-training/sap-sd-traininghttp://www.magnatraining.com/sap/sap-training/sap-sd-traininghttp://www.magnatraining.com/sap/sap-training/sap-sd-traininghttp://www.magnatraining.com/http://www.magnatraining.com/8/11/2019 SAP SD Pricing Fundamentals
2/14
Let s just explore on how the pricin g is calculated on line item No. 10 Milk. However, they might not be shown
on the bill but are internal to the company selling the product. Let s explore how a potential bill could be
created. As you can see from the picture below, there is a Base Price from the price list 5.00 . And since the
bill is for a retail customer , there is a retail discount of 1.00. So the sub-total for the line item 10 is 4.00.
Condition Type :
The types of calculation ( whether its a price, discount or a tax calculation, and in price if its a retail price or a
wholesale price or a variant price etc ) are called condition type. Normally, condition types of a particular kind
are not cumulative Meaning if there are more than 1 Pricing condition type, they don t add up instead the
last pricing condition type is taken by the system. There are some exceptions to this however. For example
when pricing a car, its the sum of the different pricing condition types that gives you the Price. They are called
variant condition types.
RequirementA requirement is a piece of code that calculates if a particular condition type should be evaluated or not. This is
not necessarily the only way to check if. However, since this involves hard-coding the logic in the system, this
functionality should be used sparingly.
For example, the following piece of code says, If the item is not relevant for pricing do not price it.Functional consultants should be aware of the final result SY-SUBRC. SUBRC stands for SUB Routine Return
Code. Typically in SAP, a return code of 0 signifies a success. Otherwise its a failure.
* Pricing is turned on in item category configuration (TVAP)
8/11/2019 SAP SD Pricing Fundamentals
3/14
For more details, visit us at SAP Training and SAP Access
* Pricing is turned on in item category configuration (TVAP)
form kobed_002.
sy-subrc = 4.
if komp-kposn ne 0.
check: komp- prsfd ca BX .
check: komp-kznep = space.
endif.
sy-subrc = 0.
endform.
* Prestep
form kobev_002.
sy-subrc = 0.
endform.
Similarly, the following picture shows a simple requirement. There are 2 types of discount condition types Retail and Wholesale. If the customer is retail, then apply that discount. If the customer is wholesale, then apply
the other discount. So the actual total depends on who the Order s customer is. The same can be achieved
using many different ways, but this is sure one hard-coded way to do it.
http://www.magnatraining.com/http://www.magnatraining.com/http://www.magnatraining.com/http://www.magnatraining.com/http://www.magnatraining.com/http://www.magnatraining.com/http://www.magnatraining.com/http://www.magnatraining.com/8/11/2019 SAP SD Pricing Fundamentals
4/14
8/11/2019 SAP SD Pricing Fundamentals
5/14
Alternative Calculation TypeThe value 5.00 for the Base Price ( shown in the picture above ) is derived based on condition records which
we will see much further in the discussion. However, if the condition type should NOT be calculated based on acondition record, but should be calculated based on an external or internal logic, then an alternative calculation
routine should be used. Each alternative calculation routine is a 3 digit number between 1 and 999 that
contains a piece of code that does some calculation either internally or externally and returns a value. That
value will be used to calculate the condition type as opposed to a condition record. A simple example for thesame is US Taxes. Taxes in the US and Canada are based on Jurisdiction code. There are around 50000+
jurisdiction codes in the US alone ( Based on all possible variations of City, County, State and District ). And
they change continuously. So it is not practical for companies to keep track of the changes in tax rates. Thereare external tax companies ( Called Tax Vendors ) that only does this. So it is wiser for companies to just call
an external tax vendor using a remote function call, get the tax rate as relevant for the corresponding
jurisdiction code and return that value to the pricing procedure.
8/11/2019 SAP SD Pricing Fundamentals
6/14
Account KeyWhen an invoice is created, the finance departments wants the corresponding Sales, expenses, tax accountsetc to be updated on the f ly. The account key in the pricing procedure ( with the help of Account Determination
) helps in identifying which G/L account this should the amount flow into. A simple example could be
Account Key Description Customer A/C Group Material A/C Group G/L AccountERL Sales Wholesale Consumables 1000040ERL Sales Wholesale Stationery 1000050ERS Discounts Wholesale Consumables 1100040ERS Discounts Wholesale Stationery 1100050
8/11/2019 SAP SD Pricing Fundamentals
7/14
StatisticalThis is a flag ( A Check mark ) that is used to signify if the pricing condition type is being used in the calculation
or not. For example, the actual cost of the material ( not the price but the cost price ) is available in all pricingprocedures, since this is used by Controlling ( CO ) to evaluate profitability. However, the value should not be
relevant when pricing to the customer. So, if you need informational condition types for further analysis set
them up in the pricing procedure as statistical.
8/11/2019 SAP SD Pricing Fundamentals
8/14
Print FlagThe print flag is another check mar that is used to tell SAP if the particular pricing condition type should be
printed on the final bill or not. As discussed in the previous example, the cost condition type should not be
printed on the invoice. With the advent of advanced technologies like SmartForms, Adobe Forms etc, this flag
has almost no use ( Since what is printed and what is not is decided mostly by these programs ).
8/11/2019 SAP SD Pricing Fundamentals
9/14
SAP Pricing ConfigurationNow that we have understood the basic terminology used in Pricing, let s dig deeper into the configuration. The
configuration is very similar to SAP Condition Technique . We will only discuss the rest of the pricing relevant
stuff going forward.Maintain Condition RecordsA condition record is actually a row in a database table. The actual database table is defined in the Condition
Table assigned to the Access Sequence . Let s start by creating an condition record for a condition type PR00.
The transaction code to create the same is [VK11]. The menu path is [ Logistics -> Sales and Distribution ->
Master Data -> Condition -> Select Using Condition Type ]. Enter the pricing condition type, and select the right
Condition Table.
http://www.magnatraining.com/sap/sap-tutorials/sap-sd/condition-technique-in-saphttp://www.magnatraining.com/sap/sap-tutorials/sap-sd/condition-technique-in-saphttp://www.magnatraining.com/sap/sap-tutorials/sap-sd/condition-technique-in-saphttp://www.magnatraining.com/sap/sap-tutorials/sap-sd/condition-technique-in-sap8/11/2019 SAP SD Pricing Fundamentals
10/14
Enter the values and save the record. There are some advanced concepts like rebate functionality, conditionsupplements, scales etc which will not be discussed here.
SAP Pricing DEMOLet s start by creating a new sales order for the customer and material that we have created condition records
for and see the effect of the condition records on the sales order pricing. A sales order is shown below for
Customer 1400 and for the material M-01 that we created the condition record for with a price value PR00 of
50. Select the line item and click on the Nickel button in the bottom ( Pricing button ) to view the pricing details
for that line item.
8/11/2019 SAP SD Pricing Fundamentals
11/14
You will be taken to the Line Item s Condition tab where the pricing details can be viewed specific to that line
item. As you can see, the PR00 value is set as 50.00 which is exactly what we have set in the pricing conditionrecord.
8/11/2019 SAP SD Pricing Fundamentals
12/14
Let s say somebody else has entered the condition record for that material and you have just created the sales
order. Now if you want to analyze and backtrack why the pricing is coming up as 50.00 click on the Analysis
button as shown below.
8/11/2019 SAP SD Pricing Fundamentals
13/14
A new screen opens up where if you explore the particular condition type ( PR00 in this case ) you will see for
which combination ( customer material in this case ) that pricing has been picked up.
You can just click on the area highlighted above to see further details of the condition record. For example, if
you click on PR00 above, you will be taken to a new screen that shows you the actual condition record, itsvalidity ( Valid From and Valid To dates ) along with the value for PR00.
8/11/2019 SAP SD Pricing Fundamentals
14/14
This concludes SAP SD Pricing Fundamentals.
Related Exercises