按图1-[1]”New Entries”按纽建立一field reference 5100,其对应的Field Selection group 202设置为必输”Reqd entry”.
*还可定义industry级别,Tcode级别和Material type的field reference(Tcode:OMS3)等,比如可限制Material type是原材料,MM01时字段才必输入,总之,允许用户玩各种花哨动作. 第二步:分配字段组(参考)给工厂 Tcode:OMSA 如图2-[1],将图1建立的field reference(field selection) 5100分配给工厂5100,注意其它的plant没做限制依旧使用默认的0001.
一个小技巧:设置锁定字段
Tcode:OMSFIX
如图3-1是物料主数据的一个截图,可将物料主数据的某些重要字段设置成lock-revelant,这样如果被锁住必须由被授权用户解锁后才能被修改.
留一个思考题:
系统可根据Material type/Industry sector/plant/T-code/Procurement type建立所谓的field reference,现在假设你的industry假设是M,将上面的field group 202设置成hide,然后Tcode :MM01又设置成必输, 然后plant 5100又是hide,最后Material type ZRAW又是必输. 我有一个经历就是本来只该在生产工厂Plant 5100 MM01才设置必输的字段结果在其它销售 工厂也被弄成了必输,结果用户维护主数据时就出现了问题. 现在问: 现在当你MM01为plant 5100建立ZRAW时,你家的Industry是M,SAP搞出这么多字段组合花样,那么Group 202的俩字段此时究竟是被hide还是必输? 第三步:增强主数据字段修改授权. Tcode:BF24|BF34
SAP还可控制比如象Group 202 的俩字段origin group(MBEW-HRKFT)和material orgin (MBEW-HKMAT)只有让授权用户才可维护?上面的lock-revalant小技巧是一种方法,还可以使用BTE(关于BTE详细请参考本书相关章节)来限制比如不允许非授权用户更改origin group. 方法如下:
一.Tcode:BF24 建立一product假设叫ZMMCHK,并激活它.
二.Tcode:BF34 选择Event选1250(如图4),Function ZMMCHK是从函数SAMPLE_INTERFACE_00001250
copy出来的(Tcode:SE37).
*你可以从Event中选择到合适的Event,比如FI的某些预制凭证没有validation,可以使用 BTE来做凭证的有效性检查.
然后在ZMMCHK中写一段代码 Check sy-Tcode = 'MM02'.
If I_MBEW_NEW-HRKFT Ne I_MBEW_OLD-HRKFT .
Message E001(00) with '我origin group跟您老人家又不是很熟,干吗乱改人家?'. Endif.
BTE函数非常有用,比如可以检查物料分类帐的Currency type 10必须和30的单价必须相同,因为MM01/MM02没有合适的增强,使用BTE就非常方便,只要加入类似条件: If I_MBEW_NEW- Ne I_MBEW_NEW- .
Message E001(00) with “10和30的单价必须保持一致”. Endif.
(4).设置物料交易状态(Tcode:OMS4)
上面着重介绍了物料字段状态的设置,SAP玩了很多花样,留下一个增强BTE更是能满足用户对物料主数据各种BT的控制需求。 Tcode:OMS4
用户可以通过设置物料状态控制物料的不同交易,如上图物料状态01表示采购栏的采购信息和仓库的移动被锁定,SAP将物料主数据分为集团层次的基本视图和指定工厂层次的其它视图,同样,物料状态也分跨工厂物料状态和特定工厂物料状态,这很有显示意义。 如果将状态01分配给集团跨工厂层次,则表示该料在任何工厂都不允许采购和移动,如果集团产生一个新原料料编码,在未经审批禁止采购就可使用跨工厂状态;如果特定工厂的某部分物料可能存在潜在的质量问题需要经过质检确定才允许发到产线,就可在工厂层次锁住不允许发料,更进一步,如果该料即使有点小问题通过稍微修复还能用,则没必要锁住该料不参与MRP,否则,比如已明确这些料一定有质量问题只需等待退货手续,则不但锁住不允许发料,虽然还在库房也不应该参与MRP运算。
再比如食品、医药等行业保质期用于管理企业存货的有效期,如果到了有效期自动弹出预警窗口,可设置警告或错误信息,可设置物料的状态,过了保质期不仅仅出库的问题,还可锁住不让跑MRP等等待报废批准。
你还可以随意冻结物料主数据,做删除标等。
某天俺有感而发涂鸦了一首诗:前不见宰牛的,后不见屠龙的,只见一个杀猪的,念管理软件之艰难,独怅然而涕下. 好友看了诗后居然都狂吐了一地,这些家伙简直太没诗意了!
物料主数据的的设置是自制件E,如果这种设置了,标准的系统是还可以下采购订单的,系统能否在系统配置里达到此功能,所我自己的经验和推测,因为在运行MRP时出来的计划订单也可以转成采购订单,而计划订单出来的是由物料主数据里的X或E而来了,所以我认为可能没有标准的配置,不知道其他人还有什么解释和理解的,是否只能通过用户出口来解决此问题,请大家发表自己的看法这个MMPP状态,也就是基本视图里面的\跨工厂物料状态\获取类型是E的如果在这个地方设置了\因采购/仓库而被冻结,这样这个物料就不能下采购订单了
(5).特殊物料处理
MB58是用于显示Customer Consignment[寄存于客户的库存状况]!
乱谈一下几种比较特殊的物料在SAP中的处理。 管道物料(Pipeline Material)
管道物料指直接在生产过程中消耗不需库存管理的诸如燃油工业用电用水等特殊物料(意思是从管道,输电线路等获得),这些物料有这么些特征1.不用做物料计划,比如工业用电一般随时可获取 2.通常不用做库存管理 3.需用时直接消耗月结时才结算相应负债(应付).
话说回来,其实要说管道物料不做计划随时获得也不大合情,比如工业用电吧(当然企业就用几度电照照明而已也没有必要使用这个管道物料付电费直接做一笔帐也就行了,如大量用电比如炼钢厂需要将用电量计入生产成本可以用用)不说某地区电量短缺就是电量丰富的地区
那也要跟电大哥关系搞好,止不定人家就在关键时候停你的电.当年我就开一小网吧管我那片电的那家伙都时不时要弄个吃喝的发票到我这报报,有更狠的,据说某派出所弟兄NB,从不交电费,后来供电所给拉闸了,派出所的弟兄们急了,逮住一个机会将供电所所长大人在某宾馆办那好事抓了个现场,听说还给拍了一些艺术照准备拿去展览,反正事后听说此该派出所再也未断过电.
管道物料的基本处理流程是 (1).MM01建立管理物料
(2). ME11建立Pipeline category的info record (3) 201 P|261 P|281 P发料. (4)期间结算使用MRKO
一个案例是,物流企业生产外包,工艺非常简单,外包商唯一要做的就是将一些零件贴上标签组装起来最后包装,公司将贴标签动作设置成虚拟物料比如单价2分钱/100个动作,组装5分钱/100个动作,建立在各BOM中. 因为外包商和公司在同一楼,实际上开工单领料都是该外包商,做完后将成品送回公司,公司根据每天所做成品数量展BOM算工钱给外包商出. 将这些人工不做作业的好处是省的外包商随意confirmation 作业.
某服装厂的生产员工使用计件工资,不希望使用作业统计人工成本以免月末分配分摊的烦死一堆人而想让生产成本-人工直接反映在工单上就可使用管道物料,下面是参考步骤. (1)建立管道物料ZJJGZ
(2)ME11建立Pipeline info record对应单位价格/件 .
(3)建立一个专门的vendor account group后将产线员工建成vendor 对应的Recon. Account是应付工资,ERP中将员工建成专门的vendor或customer也不是什么新鲜事. (4)根据当日统计的各员工实际件数做MB1A 261 P到相应的工单,vendor输入员工vendor,弄个excel做个批导入.
此步产生的会计凭证是Dr:生产成本投入—管道物料 (OBYC-> GBB-VBR,将生产成本投入-管道物料名称改成生产成本投入-人工比较好听写), Cr:应计计件工资(OBYC->KON),这样在工单上就能看到实际的人工,如有必要,在OKTZ中将生产成本投入—管道物料(即生产成本投入-人工)专门做一个cost component structure .
(5)MRKO期末结算,产生的分录是 Dr: :应计计件工资(OBYC->KON) Cr:应付工资(员工vendor对应的科目).