原文链接:http://www.360doc.com/content/12/0121/07/1079063886_1079063886.shtml
BOM简称物料清单,它是PC和MC部门编制生产计划,物料采购和生产计划的依据,也是财务成本核算的基础,它的重要性不言而喻。
一个公司的生产管理模块(PP)应用的好坏很大程度上取决于它的BOM管理,不少公司就因BOM管理不规范,导致MRP都运行不起来。
BOM的管理是一个很大的话题,很多物料管理专家为此写了不少书,SAP已将这些管理的最佳实践融入进系统,本文不会细谈SAP系统如何管理BOM,只重点讲下BOM的系统管理中一个功能控制点,即系统要根据不同种类的BOM来决定BOM的修改变更是否需要通过ECN进行管控。
这也是在SAP项目实施中关于BOM管理流程中要求系统控制的一个常见需求,在介绍SAP系统对此需求的解决方案前,先来了解下此需求的业务背景。
我们知道对BOM管理规范的公司,一定会启用ECN管理,ECN即工程变更通知书,指公司中任何受到管控的BOM资料需要变更时,需要以ECN形式提出,经相关负责人会签批准后方可生效。
但在实际中公司会有不同种类的BOM,有些BOM是要ECN严格管控,有些BOM是没有必要进行ECN控制的,举个例子比如工程打样阶段的BOM,可能每天都需要根据工程验证的结果变更调整BOM,如果每次调整都用ECN管控,这必将导致流程效率低下和管理成本的上升。
基于以上业务原因,所有大部分SAP/PP模块的项目实施中,用户都会提出这样的需求,要按BOM的类型来控制BOM的变更是否要ECN管控。
下面讲解下SAP处理这需求的三个解决方案
方案1:配置+权限控制
步骤1.BOM的相关配置(OS27/OS25)
OS27的配置要点:BOM有效性维护、工程更改管理必须勾选、历史需求如果创建BOM(CS01)也要必须输入ECN管控,那么这个也必须勾选,否则不要勾选。
OS25的配置要点:历史需求必须勾选,如果不勾选即使OS27配置了也不起作用。
步骤2.配置权限对象(PFCG)
权限对象: C_STUE_NOH,将此权限对象分配给保护CS01/CS02权限的角色并设置如下权限为否
以上配置完成后将对应角色分配给SAP账号,就可是实现按BOM的用途决定BOM的变更是否必须输入ECN进行管控。
具有效果如下
方案1基本可以满足大部分项目对物料BOM的ECN管控的需求,但有时候也会遇到特别“变态”的需求,比如还要按工厂或物料类型的维度进行ECN控制的判断,即某些工厂下某类型的物料BOM变更需要ECN控制的,有些工厂是完全不要的ECN管控的。
这类特殊的需求是无法通过方案1去解决的,这时候必须使用增强,我不知道这方面有无标准的功能出口或BADI增强,记得之前当时我是通过Debug方式找到隐式增强点进行处理的。
方案2:增强开发
隐式增强点 :
CSBD_START_SCREEN_CHECK。
在这个功能模块函数的开头实施隐式增强。
备注:批量修改BOM的BAPI应该会跳过这个增强点,所以需要注意的是如果有开发批量修改BOM的程序,也需要按这逻辑先做检查。
使用这增强开发的方式,基本上只要逻辑合理的需求都可以实现。但实施隐式
增强比较麻烦的是不容易找到合适的增强点,我的经验是类似这类屏幕字段控制的隐式增强点的查找方法:可以先确定该字段所在屏幕,然后在程序中通过Debug该屏幕的PBO/PAI事件去查找一般都是可以找到增强点。
具体实施步骤,本文就不细讲了,可以参考下如下文章
SAP ERP系统SD模块常用增强之一:VA01&VA02创建或修改SO的输入检查
实施后实际效果如下
方案3:修改屏幕控制表
通过修改TCS33表:修改SB的值V,第11个改为+即可。
这方案需要修改标准表,一般情况不会被允许,后续升级会被覆盖,而且也不能实现按BOM用途去控制,所以不建议在实际项目中去使用。