Condition/Pricing in purchasing(General)
在本篇中,Condition和pricing是同一个概念,就不再解释. 另外,price producing就是condition calculation schema
其实确定Conditions in purchasing主要是两个大的步骤:
一. 确定calculation schema
这一步确定后会控制Condition Type出现的方式顺序以及各个Condition Type之间的计算逻辑
二. 根据Condition Type得出最后的计算结果
对具体的某个Condition Type做控制,Condition Type有共用的t-code:MEK1可以维护,当然在PB00这种可以在建立P-INFO的时候维护。
详细说明如下:
一 确定calculation schema
这一步相对比较简单些,SAP还是老一套用Group.
1.通过Vendor 确定Schema Group【图1】【图2】
2.通过Purchasing Org.得到Schema Group【图1】
3.最后通过两种Group的组合得到Calculation Schema produce 【图3】
【图1】
【图2】
【图3】
当然,确定了Calculation Schema后就的这个Schema发挥复杂的控制作用了【图4】详见Define Calculation Schema
【图4】
在说第二项前插播个动作---设置是否by plant,直接引用“SAP屠夫”的文章说明下:
图1-[1]:企业通常不希望PO的采购价格直接在PO item中输入而从info record中带出来,此
时我们可以使用(SE16:V_162)将ME21N的layout selection group quantity and price组的price
and price unit设置成display. 没SE16权限的同学可以用SPRO
关于info record change不多说了,其更改记录可以通过ME14查看(你也可自定义report,关于
相关表格请看接下来的PO定价表格)
图1-[2]:空表示建立info record可不指定plant,+要指定plant,就是说info record是plant级的如选择-表示禁止plant-level的,此时你只能建立purchase organization级的info record.
info record.
(其实就是设置p-info是否需要by plant)
新建物料ZST_SUBCON是委外的(MRP2的procurement type F with special procurement type 30 outsourcing,新建很重要以免可能已经有多个info record你搞不清楚状况,对于处理多个info record接下来会有讨论),假设plant 5100|5200同属一个purchase org. 5100,你将conds. at plant level设置成空,建立这么几个info record(1)只输入purchase org 5100不带工厂,然后使用CK11N去估算(2)加上plant 5100而5200不加,看CK11N结果. 当然这个不是我做我对这个已经很了解了,有兴趣的读者自己去try,相信你马上几明白了这个设置的意义.
二. 根据Condition Type得出最后的计算结果
此项就是搞清楚一张图,不过说起来容易做起来难啊~
图二-[1]:表示PB00的获取是按一定的顺序策略从相应的条件表中取得维护的条件记录.Access sequence比较复杂,它能决定什么时候Condition 会出现。可以仔细对比下PB00和PBXX,前者会在建立P-info点Condition设置(其它Condition Type如果设置这个东东也能达到这种效果);后者不会。
图二-[2]:表示PB00是价格条件类,表示是基于什么计算的.(例:如果你的价格是基于重量的,物料基本数据是PC,你选D,如果你这样做可能在开K类PO时会有点小问题,你可能需要重写requirement)
图二-[3][8]:如果你看Condt. Type: FRA1(FRA2)-FRC1(FRC2),这块是B,表示delivery cost,同时和图二-[8]应计连在一起(选上)表示该condition是运输费类条件类型,并且需要设置Account key(会计科目OBYC->你定义或SAP已存在之T/E Key).
你根据实际需求参考copy出所需要的delivery cost或其它类condition,如果需要在PO能default带出,你可能需要建立条件表和自定义的存取顺序,你还可决定是否需要为该condition建立对应会计科目(通常是应计类科目,请看定义T/E Key).
*如果你使用B类delivery cost condition在计税方案未设置account key在PO中会有错误
提示. 同时在MIRO时你可专门对planned delivery cost进行发票校验.
图二-[5]:设置Condt. Type 的输入方式(如PB00采购价格condition的Manual entries设成D不能手工输入,同时在PO屏幕设置将item的price也设置成display,这样采购价格就只能从info Record带出)
图二-[7]:item级的condition,同时允许你在PO item的condition list删除它,不勾就表示不可删除.通常采购价格condition比如PB00在计价方案会设置是强制必输.
图二-[8][9]:表示PB00是采用数量类等级价格,比如vendor规定1-100个某料1.00USD/PC,101-500个0.95 USD/PC诸如此类的等级价格,另外一个比较实际的例子是采用日期型的等级价格,不同的时间(可是周月旬)给你不同的价格,如果需要你可以自定义等级价格的公式.
你可以从表KONM中读到这些数据,关于condition table关系请看接下来的实例.
图二-[10]:SAP的帮助举了一个实例,物料A,B同属一个material group 01,Material A 100个,Material B 150个,假设vendor给定1个1%折扣,100个开始给2%折扣这样一个价格等级,A+B =250个,享受2%折扣,如果它不work,不要紧,后面不是有个Groupcond routine吗?
图二-[11]:你可使用Rererence condition type,在SD定价中设置了ZPR1的reference condition type是ZPR0,这样VK11只要维护ZPR0就行,K,跳到SD干啥呢?我的意思MM定价和SD定价原理基本完全大概都一样.
图9-[12]: PricingProc:定义对于condition type是main condition的(一般用于PB00),有哪些supplementary condition可以用,这也是定义在一个calculation schema中的如果有必要。例如你可以将折扣附加费海关运费和PB00使用同一个附加计价方案,SAP default的RM0002,这样在维护PB00时,你可同时在此维护这些condition,如图10,FRA(B)1-FRA(B)3是无access sequence的,这样做的好处是这些condition不用使用access sequence而在开PO时间也能自动随PB00带出(捆绑在一起同一info record number嘛).
非常遗憾的是,这样做可能不到好,因为info record的PB00通常是针对某物料某vendor某pur.
Org而且某plant的,而通常运输费海关费是只根据国家代码运输Route制定计划价格,所以通
常还是建立access sequence然后MEK1维护计划价格