Contents
Introduction ... 2
Configuration Steps ... 2
Maintain condition tables ... 2
Field Catalog ... 6
Define Access Sequence ... 8
Define condition type ... 11
Define calculation Schema ... 13
Define Schema Group ... 14
Schema Groups: Vendor ... 14
Schema Groups for Purchasing Organizations ... 15
Assignment of Schema Group to Purchasing Organization ... 16
Define Schema Determination ... 17
Assign vendor schema group to vendor master ... 18
Create condition master records ... 19
System Demo ... 21
Introduction
In order to calculate the cost of the purchase order, SAP has provided functionality called "Calculation Schema". The famous "Condition Technique" is used for this as well. (Click here to see more information on the "condition technique"). The same technique is used in SD Pricing as well. Let's see how this works in SAP for purchase orders.
Configuration Steps
The complete configuration is done in the below IMG Path;
IMG Path:
Maintain condition tables
Under this IMG node you can create a new condition table to store your pricing condition records. You can choose your own field combinations based on business requirements. If you cannot use SAP standard delivered condition tables, then you can create your own tables. In that case, you have to choose a table number between 501 and 999.
IMG Path:
->
In order to create a new condition table, enter the table number and press enter key to proceed
All available fields for your condition table can be found under . Fields which needs to be used for the table generation has to be added sequentially by double clicking on the name. For example, let's say I want to create a new condition table with fields Purchasing organization / Vendor and Material, then I need to double click on each field in the same sequence. You can go up and down in the section using "Page Up / Page Down” buttons in the key board. When you double click on the each field, it will be moved to the section
Table name will be automatically created based on the fields which you have added. If you want to change the name of the table, you can click on the button. Then the field will be editable
Note:
The Flag gives you a permission to have a release strategy for these condition records. This will allow the business to have a release procedure for the condition master record before they used in the purchase order. Please click here to see more detail on this.
By clicking on the button , you can see the technical names of the fields you have chosen.
The column determine where the field should appear in the condition master record creation
Once all fields are added to the table, you can generate the new condition table by clicking button. In order to transport the table to another client you will have to select relevant development package, which will then generate a work bench transport request. When the table generation is successfully completed, system will issue a message as below;
In the same manner for my testing, I will generate another condition table with number 889. (This will have Purch.Org./Material fields)
You can view these condition tables in the transaction SE11, with a prefix "A" Eg:
For SD condition tables, this logic (Prefix "A") is same, but the application is "M" for MM condition tables, where as application is "V" for SD condition tables.
Field Catalog
You have an opportunity of adding new fields to this field catalog using Button.
But in such a case, you have to fill KOMG, KOMK or KOMP structure during purchase order processing o KOMK - Price determination communication header
o KOMP - Price determination communication item o KOMG - Allowed fields for condition structures You need to use below function modules to fill these fields;
o Header Data - EXIT_SAPLMEKO_001 o Item Data - EXIT_SAPLMEKO_002
Define Access Sequence
IMG Path:
Under this IMG Path, you can assign your new condition tables to an access sequence. The condition tables should be assigned from the most specific to most generic sequence.
If I take my example tables, it has to be; o 888 - Purch.Org./Vendor/Material o 889 - Purch.Org./Material
It is advisable to keep a gap between step numbers. This will allow you to add a new condition table in between in future
Highlight the new access sequence and double click on the node to add your condition tables
Click on button to add tables in to the access sequence. Add those tables from the most specific to most generic manner with a gap in between step numbers
If you want to check any specific requirement against these condition tables, you can assign it under column
Note:
You can create your own requirement routines in the transaction VOFM (Menu -> Requirements / Pricing)
You can create a new requirement routine under application "M" for purchase order pricing Eg:
Once all tables are added to your access sequence, you need to select each table and double click on the node . This will generate the field assignment for this table,. Otherwise system will not able to find a condition record for this table. Finally you should be see the table like this;
Table 889:
Save the access sequence
Define condition type
Under this IMG node, you can create a new condition type to store your pricing and assign it to your access sequence
IMG Path:
->
Copy a standard price condition and create your own one. Later you can make the adjustments Eg: J3AP (Gross Pr.& Dim.)
Note:
Please note, the condition "J3AP" which you get in SD area is different for this. If you look at the table T685A, where these conditions are stored, you will see 2 conditions with ID "J3AP" for 2 different modules
Define calculation Schema
Under this IMG Path, you can define a new calculation schema for purchase orders. This will contain all condition types relevant for purchase order pricing.
IMG Path:
You can create your own schema by copying an existing one
Add your condition types according to your business requirements. For testing purpose, I have created a simple calculation schema as follows;
There are 16 fields in this calculation schema. Please click here to see the definitions and functionality of each field
Save your new calculation schema
Define Schema Group
When you create a purchase order in SAP, the calculation schema is determined based on the schema group which is assigned to vendor and the purchase organization.
Schema Groups: Vendor
Under below IMG Path, you can create a new schema groups for vendors.
IMG Path:
-> You can create your own schema group for vendors
Save the new schema group
This schema group has to be assigned to the vendor master Schema Groups for Purchasing Organizations
Under below IMG Path, you can create a new schema groups for purchasing organization.
-> Create a new entry for the schema group
Assignment of Schema Group to Purchasing Organization
Under below IMG path, you can assign the newly created schema group to your purchasing organization.
IMG Path:
->
If not you remove this assignment, then system will use the BLANK schema group during calculation schema determination
Define Schema Determination
Now you need to define how the calculation schema is determined during purchase order creation. This can be done in the below IMG path;
IMG Path:
Based on my above configuration, I have to maintain below entry
Assign vendor schema group to vendor master
Transaction: XK02 Easy Access Menu Path:
I will use and existing vendor to assign my new schema group. Under "Purchasing Data" you can assign it to the vendor
Create condition master records
Transaction: MEK1 Easy Access Menu Path:
Enter your condition type and press enter key
Based on the access sequence you have attached to this condition type, system will give a popup. The options represent the tables you have added to the access sequence
Select the access level you want to maintain, and press enter key. I will select the "Purch org / Vendor / Material" level as an example. Based on the field in that condition table (888), below will appear. You can maintain your condition record with the correct price and save
Fields are appearing in the header or footer is based on the condition table setup. Therefore based on the business requirement, you have to generate the table accordingly
Save your condition record
Now if you check the table "A888" (Application "M"), you can see this record
System Demo
Now let's create a purchase order for the vendor "A400" in the purchase organization "A300" for the material "AW01" to see how the price is determined
Transaction: ME21N
When you go to the item conditions tab, you can clearly see my new condition has been determined in to the purchase order
Under that option, you will see the condition schema which is determined as well as from which access level the price was determined
How prices got determined in the purchase order?
The below illustration can be used to explain how the price value was determined to the purchase order. The explanation is based on the sequence of data you have used to create your purchase order
As shown above, based on the access level which you have maintained these prices (In other words, which condition table), system will insert in to the purchase order.
Author: Anupa Wijesinghe
E-Mail: [email protected] / [email protected] Website: www.learnsaptips.com
View my profile in LinkedIn Follow me on Twitter
Disclaimer
This article is done based on my research and readings, unless otherwise stated. The views expressed are my own and not of anyone else.
Author accepts no liability for the content of the articles in this website or for the consequences of any actions taken on the basis of the information provided. Using this information is at the users own discretion and responsibility.