SAP Materials Management Overview on pricing procedure….. 28/04/2013
By: Ashish Sawant
“ANALYSIS OF ACCESS SEQUENCE IN PRICING PROCEDURE”
“ANALYSIS OF ACCESS SEQUENCE IN PRICING PROCEDURE”
ACCESS SEQUENCE STUDIED: 0002(STANDARD) GROSS PRICE
SAP MATERIALS MANAGEMENT
PRICING PROCEDURE: (6 Digit alpha –numeric code) We define the pricing procedure to define condition supplement for the material price. The condition supplement specifies the discount, surcharge, freight etc that we want a system every time to access material price condition records. The total value of the material is calculated or based on all addition and subtraction i.e. discounts, surcharge, tax freight etc IN SHORT PRICING PROCEDURE
GROSS VALUE: QTY*UNIT PRICE = 1000*10 = 10000 DISCOUNT
=10% ON GROSS PRICE = 1000
= GROSS – DISCOUNT = 9000
CONDITION TYPES INVOLVED:(EXPENDITURE) FRA1(FREIGHT) = 100 RS INSURANCE
= 10 RS
= 50 RS
EFFECTIVE PRICE =(10,000-1000+100+10+50) = 9160/-
THUS, CALCULATION SCHEMA:(RM0000) GROSS PRICE DISCOUNT NET PRICE
EXPENDITURE EFFECTIVE PRICE
Pricing procedure is picked up based on schema group vendor & schema group Purchase Org
SCHEMA GROUP: Grouping together vendors for whom the same calculation schema(procedure) is valid and same. Ex: Vendors V1 V2 V3 V4 V5
Procedure(calculation schema) P1 P2 P2 P2 P2
Thus schema group vendor: G1(SCHEMA GROUP) V1 V6
Thus schema group vendor: G2(schema group) V2 V3
Grouping together certain purchasing organizations that use the same calculation schema(procedure)
Purchase org*vendor combination po1*v1 po2*v2 po3*v3 po4*v4 po5*v5 po6*v6
Procedure(calculation schema) P1 P2 P2 P2 P2 P1
S1(SCHEMA GROUP) PO1*V1 PO6*V6
S2(SCHEMA GROUP) PO2*V2 PO3*V3
Path: Go to SPRO - MM - Purchasing - Conditions - Define Price Determination Process Define Schema Group
1) Schema Groups: Vendor 2) Schema Groups for Purchasing Organizations
3) Assignment of Schema Group to Purchasing Org
You can assign Schema Group Vendor in purchasing data screen in vendor master record. You ou can assign the schema group purchasing org for company purchase org.
You can assign the required Pricing procedure procedure(RM0000) to the combination of schema group vendor & schema group Purchase Org Org.
MM pricing procedure related condition records we have to maintain using TCODE MEK1
TAX procedure related condition records we have to maintain using fv11 tcode, and SD related condition record we have to maintain in vk11.
Tax procedure can be seen using OBYZ tcode
“An Access Sequence access a Condition Record of a Condition Type in a Condition Table is a Condition Technique”.
A)Access Sequence (accesses condn record) It specifies the order in which system searches or access the condition records from condition table
Access sequence is search strategy which searches valid condition records (from condition table for condition types. If we want to make the condition type independent then we assign access sequence to it so that it will fetch the value from condition tables . But we dont assign access sequence to dependent condition types because they take value from the independent condition type on which it is dependent . “For example PBOO is a independent condition type so it will fetch value from the condition table related to info record. Then other dependent condition types related to surcharge , discount will take the value from PBOO” Very imp: FOR EXAMPLE In pricing you want the discount/material to overrule the discount /customer , then you have to position the discount / material condition table above discount / customer table. Access sequence will pick access the discount /material condition table first and picked the prices.
B)Condition Record Condition Record: Condition record is a data record that stores a condition or condition supplements. Conditions include:
Prices, Discounts and surcharges, Taxes, Output etc.
Condition records allow you to store and retrieve pricing data in the system. system All the pricing elements of your daily business - the prices,, discounts, and surcharges for freight and taxes - that you want to use for automati automaticc pricing must be stored in the system as condition records. You can define as many condition records as you want for the different pricing elements for any validity period. You create condition records for all the pricing elements that the system takes into account during automatic pricing. pricing. During document processing, the system transfers data from the condition records and determines the amounts for individual pricing elements (prices, discounts and surcharges) and the final amount for the sales document.
It is a data record used to store conditions or condition supplements,, i.e. condition like, gross price,discount, discount, freight, and surcharge, Tax etc. data store
Condition Type :
Condition type: Condition type is a Pricing element or in other way it is a characteristic of a condition.
Ex: In Pricing, different condition types are used to distinguish between a discount that refers to a Net price and a Discount that refers to a Gross Price.
Here the Condition Type is very important like PB00, PBXX,RA01 etc. In the background every Condition Type has its own definition means the purpose of the Condition Type like, is it for Pricing or Percentage, Quantity base, Accrual Fields etc is to be defined to work this functions. Normally we use the existing ones without any risk. But some cases, we have to Create a New Condition Types as per the organisation requirement. The Pricing Schema is nothing but the calculations procedure of Condition Type. Ex. RA01 - Discount % is calculated on PB00 - Gross Price means RA01 is based on PB00 like that we have to define in the Pricing Schema which makes easy to use in real time. lets say PB00 has the Access Sequence - 0002. But RA01 does not have the Access Sequence, because it is a dependent on PB00. But both are Condition Types.
Ex:in below screen shot we can see that there different condition types of discount and surcharge,sales price inclusive of tax and exclusive of tax etc. Condition record stores Condition record, records data for each condition and condition supplement(eg. Diff. types of discounts)
Condition Table Condition Table: Condition table is a table that defines the structure of condition record keys. And the key consists of a variable part that represents one or more fields, and a fixed part that is identical for all condition records.
STEPS IN PRICING PROCEDURE:
SPRO MATERIAL MANAGEMENT PURCHASING CONDITION DEFN PRICE DETERMINATION DEFN SCHEMA DETERMINATION
CLICK SCHEMA GROUP VENDOR
NEW ENTRY/COPY FROM STD.AND RENAME IT RE = RELS PRICING PROCEDURE NOW CREATE SHEMA GROUP PUR CHASE ORG. AND IN NEXT STEP ASSIGN IT TO OUR PURCHASE ORGANISATION
Select standard procedure. RM0000, Copy and rename it by your procedure , here” rmrels”
COPY STANDARD RM0000 and rename it with your pricing procedure name say RMRELS
Enter enter…..until you get below mentioned screen
DEFINE SCHEMA DETERMINATION:
ENTER NEW ENTRY
Put your p.org, porgschema and calculation schema
Define condition types”
COPY AND CHANGE NAME OF CTYPE FROM PBOO AND PBXX TO REOO AND REXX
It should be changed to “RMRELS” i.e. our pricing procedure,we will change it in further steps.
Define access sequence
COPY ALL and enter till you get screen:
Save Come again back to condition types and put the access sequence in condition type details:
Note to change pricing procedure here from rm0002 to” to rerels”
If you want to create condition tables you can create , but no need in case we had copied procedure from standard , so we will use the same condition tables in it rather than creating.
If still want to create procedure is:
Click local object
Go back to define access sequence and in your access sequence(rels) details put your table as follows:
Here you can create new entry and put your table 633 and give the sequence no where you have to put italso note to tick exclusive indicator:
Go back to define calculation schema Go to control data
Change pb00 to re00 and pbxx to rexx
In vendor master put your vendor schema group , say” re” as shown below
Click condition and put condition type re00 and values.
In condition tab see your condition record re00 appears (which was earlier pb00) Thus in maintain condition types you can create your own conditions for freight and discounts and also put in inforecord conditions tab so that all conditions appear appe in po. Create po:
Click analysis : to determine from where price picked:
Go to access sequence in pricing procedure , it will show frm where priced picked and which conditions got satisfied.
Thus we can see sequence no 25 got satisfied hence it triggers(material – inforecord). Fields satisfied from access sequence, sequence no 25 are:
SIMILARLY WE CAN DO MANY SCENARIOS , AND CAN SEE PRICING PROCEDURE WILL PICK PRICE FROM WHICH SEQUENCE FROM WHICH CONDITION TABLE: Below are some brief scenarios explained
We have different access sequence steps and table nos in particular access sequence say 0002.it also contains different fields. It can be observed in access sequence 0002
When P.O. is assigned / applied with pricing procedure,then the procedure will trigger iff your requirements in P.O.(and associated inforecords iff any) matches with the key fields and requirements in the condition tables assigned with the access sequence steps, and only that particular sequence step will trigger and price in the p.o. will be picked from the condition records(or inforecord) maintain Access Overview condition tables. ACCESS OVERVIEW CONDITION TABLES are the tables where condition records are saved.
WHEN THE SEQ STEP 40 AND TABLE 25 =INFORECORD FOR NON STOCK ITEM WILL TRIGERRED ?
Requirements for the condition 40-25 25 to be trigerred are: a) b) c) d) e) f)
Vendor P. org Material Group Purchase inforecord Plant Inforecord category
Along with these ,it also has a requirement of “38”(plant info record-NLAG)means for non-stock able items. Thus if Our P.O. (inforecord combination),will meet the above requirements then the condition will trigger .
Thus we will do the following steps: a) Make plant specific inforecord(/nme11) Vendor:2797 Porg:dpo1 Plant:d1 Inforecord category : std
Enter : Material Group = 0020020(suppose) Price = 60(suppose) Save: Inforecord generated: 5500000219
Now , we can make P.O.(/NME21N)
PORG: DP01 “K”
GO TO CONDITIONS
Result: Thus here we can observe that all the criteria are satisfied and also the requirement “38” is also got satisfied by putting account assignment category “k” and just a material description, which will denote that the material is non stockable and consumed directly by the cost centre(9999,g/l acc400000)
Thus the procedure id trigger with the sequence no and steP25 and thus price taken from condition record maintained in table A025
SCENARIO: HOW SEQ STEP 15 TABLE NO 16 WILL TRIGGER
SOLUTION: Check the inputs for the table 16.
Here we can observe that the keyfields in table 16 are: a) purchase document b) item thus iff these two necessities will get satisfied then only the pricing procedure will trigger. As it is a contract item doc, here we have to create a contract:
Steps:/nme31k Vendor:2797 Agreement: mk
Agreement date:1.3.2013 Porg:dpo1 Pgrp:434 Plant:d1 Sloc:001 Material grp: 001 ENTER ITEM
SAVE……(4600000108 DOC SAVED)
NOW WHEN YOU POST A P.O.: /nme21n(put outline agreement no: 4600000108)
Go to condition view
HERE WE CAN SEE THAT THE PO WILL PICKE THE VALUE FROM CONDITION RECORD MAINTAINED IN A016(TABLE 16) FROM STEP NO 15. THUS THE REQUIRED CONDITIONS SATISFIED AND HENCE TRIGERRED.
SCENARIO3: HOW Seq step no 20 and condition table 67 (PLANT INFO RECORD PER ORDER UNIT) can be triggered.
Requirements for the conditions are: 1) requirement “36”(which means PLANT INFO RECORD/BME ACTIVE) IF WE CHECK ABAP program for this we can see it will ask for variable p.o. unit active to be made.
2) The other requirements to satisfy the conditions are: Vendor Material Porg Inforecord category Plant and order unit
Once these requirements will get satisfied ,in our p.o. inforecord combination, this sequence step 20 will trigger and it will pick price from A067(TABLENO 67)
FOR 1ST CONDITION TO SATISFY: In inforecord make “ VARIABLE PURCHASE ORDER UNIT ACTIVE” HERE PUT”2” WHICH WILL RESEMBLE ACTIVE WITH OWN PRICE
Go to change view of material master(/nmm02) Go to additional data
Unit of measurement X 1 3 4 2
AUN EA KG TO DZ
Y 1 1 1 1
AUN EA EA EA EA
NOW,make inforecord with: Vendor,material,porg,plant,inforecord category,order unit and save. IN INFORECORD GO TO CONDITION DOUBLE CLICK
UNIT OF MEASURE EA
KG PUT PRICE AND COME BACK, DO FOR ALL 4 UNITS AND SAVE.
THE PRICES ENTERED ARE: EA DZ TO KG
100 400 250 350
Screen shot for material master additional data adding units
click condition , put price for each units. And save(in save inforecord)
Final display mode of inforecoed after putting price for each unit
Put vendor and inforecord
We can see that as all the two requirement which was essential(mentioned above) got satisfied and triggered the po will pick the price from condition record in the condition table in the sequence step no 20 and table no 67.
CONCLUSION: Thus all other Steps-sequence, sequence, and condition tab tables les in combination worked in the similar way and trigger the sequence once the requirements in the condition table matches with the requirements in p.o