作者:SAP屠夫-付鸿杰2007/10/04透视条件(Condition)技术在采购和销售环节,企业可能遇到各种复杂的定价问题,下面举几个实际业务实例:(1).A公司需要将一批物料转储到异地某仓库,运输费和货箱体积或重量相关,比如10立方米或10吨以内价格是X元/立方米或吨,超过则为1.2X元这样一个超额累进费率。A公司还和某Forwarder签定了组合计量单位进行定价合同,即按重量*公里数决定运输费用。(2).B公司维护了物料采购价格信息,原则上即为采购订单价格,由于价格经常波动但是又想进行有效控制,规定采购员开单时价格波动只能在已维护的采购价格信息上下3%,如果超过则需要审判否则禁止定单通过.(3).C食品公司希望其食品定价和时间相关,这个时间可能是月,周或日,甚至当天不同的时刻,同样食品的价格都有所不同。(4).D公司的供应商的材料供应采用的典型的阶梯(等级,多维)定价,规定购买1-100PC一个价格,1000-5000价格优惠3%,5000-10000价格优惠5%,10000以上5.5%等。(5).E公司接受到供应商甲的含税报价,供应商乙却给E公司报不含税价格。(6).F公司规定购买其公司10斤以上瘦肉搭赠猪肝一副。(7).G公司玩的比较BT,在不同地搞空调促销活动,华东区大客户阿大阿二参加,促销价PX,总数量限制1000台;华北区大客户大毛二毛三毛参与促销,促销价PY,数量限制2000台。(8).H公司决定在每期末按照客户累计超额销售量给予一定折让。……SAP的条件技术可以非常灵活地处理以上各种不同定价策略,条件技术不仅用在MM&SD的采购/销售定价策略(Pricing)和采购销售环节中的各种折扣和附加费计算(Rebate/Discountsandsurcharges)s上,也用于税务计算,成本核算单(Costingsheet)和各种消息输出(OutputMessage例如Print,EDI,Fax),SD的收入科目确定实际上也采用条件技术。正因如此,传说条件技术曾被多家独立咨询公司评为XXXX年度管理软件设计金奖,你说这种好玩意不宰透怎么对得住全国人民?举一个经典Scenario来说明条件技术工作原理。业务场景:甲公司采购料除涉及采购净价和17%进项增值税外,还涉及7%价内可抵扣运输费用(价内另93%进存货)、报关费和商检费等采购附加费用,这些附加费用对应不同供应商并且进入存货。建立以下5个条件类型:PB00:采购含税价(假设供应商报价即信息记录是含增值税的总报价,系统自动计算出净价)ZM01:增值税(通过含税价计算出增值税)ZM05:运费(由于是价内税,系统将自动将运费/1.07计算出应进存货成本部分)ZA05:商检费ZA06:报关费用采购附加费用企业会计准则第1号——存货(2006)的第五-六条,存货应当按照成本进行初始计量。存货成本包括采购成本、加工成本和其他成本。存货的采购成本,包括购买价款、相关税费(除价外的增值税)、运输费、装卸费、保险费、仓储费、合理运输损耗,入库挑拣费以及其他可归属于存货采购成本的费用。其中除购买价款外的各项费用统称采购附加费用。在实务中,实际上各项采购附加费用分摊存货上并不容易,比如某电子制造厂的运输费用,一大卡车运了上百种电子元件,千把块的运输费用按元件个数、重量还是体积去分?作者:SAP屠夫-付鸿杰2007/10/04在旧准则中,商品流通企业发生的附加成本就是因很难合理准则到多种特定存货,因此直接计入期间营业费用,在新准则中,商品流通企业已可以将采购附加成本计入存货,中国加入WTO,国际贸易磨擦和纠纷很多都是针对中国,中国制造的产品便宜,一个解释说,商品流通企业将附加成本计入成货,可以改善商品报价能力。帝国主义一方面设置技术壁垒在中国坐收暴利,另一方面还攻击中国式血泪工厂生产出的产品价格低廉,中国人才赚几个小钱他们就眼红,可见,有些鬼佬的良心都长到背上去了。(1)定义采购定价控制级别(SE16:V_001W_K)SAP在定价设计上可谓下足了工夫,比如某企业为了加强采购管理,将价格维护和开设订单权限分开,建采购单时价格直接从价格信息记录(Info.Record)中带出来,禁止修改,其中一个解决方法是使用配置(SE16:V_162)将Tcode:ME21N的layoutselectiongroup的”quantityandprice”组的”priceandpriceunit”设置成display就行,至于inforecord的变更也可通过Tcode:MEI1/MEI4/MEKP等方便找出,因此有人企图在价格上做文章实施系统后是困难的。可以限制在建立采购价格信息记录(Tcode:ME11-信息记录)和采购框架协议时(Tcode:ME31K-采购合同|ME31L-计划协议)和指定采购工厂相关,如图2。“Conds.atplantlevel”有3个标志:空:Conditionsallowedwithandwithoutplant建立信息记录或框架协议可不指定plant。作者:SAP屠夫-付鸿杰2007/10/04-:Noplant-relatedconditionsallowed表示禁止plant-level,此时你只能建立采购组织级的信息记录或框架协议。+:Onlyplant-relatedconditionsallowed+表示建立信息记录或框架协议必须选择工厂。集团可能采用总部集中采购方式,也就是说对于同一供应商同一物料在集团下任一工厂价格都会一致,集中采购方式的优点之一就是汇总采购数量取得价格优惠,但是也存在一定缺点,集团如果采用分散采购,则同一供应商同一物料对于不同地区的不同工厂价格当然可以不一致,想想深圳一屠宰公司将猪肉送到某集团东莞分公司和北京分公司当然价格会不同。图2中假设工厂5100选择了标志‘+’。新建委外成品号ZST_SUBCON,MRP2视图的procurementtypeF,specialprocurementtype选择30-Subcontracting,表示该料是外购,而且是外包,可以建立外包价格信息,系统提供了4种信息记录类型:0:Standard(普通)2:Consignment(供应商VMI库存价格信息)3:Subcontracting(外包价格)P:Pipeline(管道物资)(2)熟悉采购定价过程现在来看看采购定价配置,如图4,这里谈谈定价涉及的8个主要步骤(注意顺序)。作者:SAP屠夫-付鸿杰2007/10/04图4-[1]:扩展条件表字段SAP定价条件表字段组合非常灵活,你可根据组织单元字段比如国家、地区、公司代码、采购组织、工厂等,或产品相关的产品组、物料组、物料类型等,或采购销售条款的贸易条款、运输方式、贸易合同,或客户/供应商层次、客户组供应商组、不同的送货方开票方,或计量单位比如数量重量体积时间来进行定价组合。对采购定价POheader,POItem(表EKKO,EKPO,EKET)等表字段都可用作定价条件字段,如果你家的定价比较复杂,系统还允许你自定义字段,甚至你自己定义表中的字段(比如为了更多采购信息,你使用增强MM06E005激活PO屏幕增强SAPMM06E,自定义屏幕激活后通常会作为一个名称叫CustomerData的Tab页,在自定义屏幕上你将输入信息记录到自定义表中,如图6)进行定价。大都数情况下,并不需要增加额外的条件字段就能满足企业定价需求。有某家企业将采购组(对应字段EKGRP)对应成采购部门的Buyer,现在是,定价条件需要为同一物料不同地方的buyer设置不同的采购价格(Itemcondition),象我这样长的比较帅的Buyer采购时价格就优惠点,如果你稍有ABAP知识,你应该知道采购组EKGRP是POheader表EKKO的字段,如果你需要将它用于POItemcondition,要在KOMP和KOMG俩个定价结构中增加同时ZZEKGRP字段。另外,假设某公司需要将国内生产的产品运输到国外的集团分公司去,根据不同的运输目的地点确定不同运输费用,跨公司ROUTE(对应转储单Itemshippingdata表EKPV-ROUTE字段)将作为整个TransferorderPOheaderconditioned定价字段。注意:只有转储单才会出现图6-[1][2]的shippingTab页,才可设置Shippingroute,关于转储单处理流程请参考相关部分,Shipping和routedetermination请参考LogisticsExecutionIMGpath下的shipping和routedetermination相关配置。在KOMP和KOMG增加ZZEKGRP和ZZROUTE字段,按规矩需要申请AccessKey,然后如图5中加入此字段。作者:SAP屠夫-付鸿杰2007/10/04在图6-[1]中,可以看到转储单的ShippingTab页的将用来于定价的Route字段,图6-[3]则显示出激活屏幕增强SAPMM06E采购行项目屏幕将出现一个“Customerdata”的Tab页。如果想让自定义扩展字段用于定价,比如ZZEKGRP字段,现在要激活Lineitem增强LMEKO002(HeaderconditionexifLMEKO001)写几句简单代码就行。MOVEI_KOMKTOE_KOMP.MOVEI_EKKO-EKGRPTOE_KOMP-EKGRP.图4-[2]:建立条件表定价信息作为条件记录储存在条件表中,条件表由多个条件字段组成。建立条件表很简单,只要将所需要的条件字段选到左边就可以,如图7。作者:SAP屠夫-付鸿杰2007/10/04图7-[1]:选择需要的条件字段,按此按钮生成条件表A990(建立条件表输入的是数字990,系统默认给条件表加字母A前缀),在A990中使用了自定义的条件字段ZZEKGRP。图7-[2]:可不断点击”Otherdescription”按钮切换条件字段的短中长描述。图7-[3]:增减条件字段,但当条件表已生成后就不允许再增减条件字段的。在下面定义定价条件时,如果将条件记录对应到此条件表A990,Tcode:MEK1为该条件类型创建的条件记录就会保存在A990中。图4-[3]:定义存取顺序什么是存取顺序,怎样的条件类型才要存取顺序呢?存取顺序:是帮助找到某条件类型的有效条件记录的一种寻找策略,可以为某条件类型分配一个存取顺序。为了方便理解存取顺序,以系统默认的采购价格条件PB00例,其对应存取顺序0002,如图8显示的是存取顺序0002的内容。作者:SAP屠夫-付鸿杰2007/10/04图8中存取顺序0002包括一系列按从小到大编号的条件,注意到“Requirement”和“Exclusive”列,Requirement中可以编写小段代码,就是说只有满足一定需求(Requirement,在SAP中返回值SY-SUBRC=0表示成功满足)才考虑该输出记录,“Exclusive”则表示只要按编号顺序抓到一个条件表中的条件价格,就不往下继续寻找价格记录了。怎么理解呢?由于定价的丰富多性,比如默认的采购价格条件类型PB00,如果你使用MEK1建立PB00的价格记录,你可看到一系列keyCombination,正对应图8的存取顺序。图4-[4]:定义条件类型依旧采购价格条件类型PB00例,如图9,其存取顺序是0002,而另一个系统默认的条件类型PBXX则没有设置存取顺序。作者:SAP屠夫-付鸿杰2007/10/04图9中,可以看到一个条件类型复杂的参数设置。(a).在Controldata1页面,可以选择该条件类型所属的Conditionclass,Calculate.Type,ConditionCategory,舍入的规则,舍入可以是四舍五入的商业规则或向上向下直接取整。Plus/minus则标志出该条件类型的正负标志,比如折扣条件类型就是以负号出现。注意三个名词:ConditionClass:决定条件类型用于表示折扣,附加费用,采购价格,税