SAP QM 取消UD方法
一、业务场景
1、 适用业务
通常检验批作完检验结果录入后,最后一步就是做UD判断,这一步的内容主要包括两方面:选定UD代码,表示检验将作如何的判定,如A表示接受,R表示拒绝,A1表示让步接受…;另外就是做库存转移,就是将检验状态的库存移为非限制状态的库存(有的企业称为判良品)或者转为冻结库存,甚至如果是破坏性检验还要做样品消耗过账,当然有的企业还可以做物料降级使用(即309移动)。实质上QM真正和后勤其他模块集成的也就是库存转移这一步。既然有集成,往往也就很能会出现错误,比如在KEE项目上生产完工的入库检验(04),当完工报工确认(CO11N),系统自动入库,即产生相应的检验批(此时库存先入为检验状态),品管部再作检验,做后续的判定。那么此时很有可能会发生生产误报工,而到导致品管也跟着误操作,事后发现时,只能采用反冲销的方法解决。问题来了,大家都知道SAP的事务通常都有反冲销的作业,如报工取消CO13,物料凭证取消MBST…恰恰UD判定的没有提供。仔细想想,也是,UD判定本来就如包公判案一样,泼出去的水且能收回…当然无能如何,人总会有犯错的时候,估计包公也有办错案反悔的时候吧:)。
也许有人会想到直接MBST或作诸如322移动的过账,这种方法不可行,因为一旦QM质量检验激活,不可以手工作321或322的过账,会有如下图错误消息。要想这样做只能取消激活QM视图(不过如果有其他质检库存时,还不能取消激活)。汇总以上方案如下,
1)直接MBST时会有如下错误,不可行
2) 也可以不通过MBST而通过MB01、MB31或MIGO直接冲销,记得库存类型的X删掉,但如果是生产自动完工入库的则没法使用,因为需使用CO13取消报工和过账.
3)直接MB1B作322时会有如下错误,
4)有一种复杂的方法,就是要先激活08的检验类型,再用344(非限制到冻结)再349(冻结到检验),不过这种方法太复杂;
综上所述,无论哪种方案虽能解决问题,但都有缺陷,不是最完美的解决方案。到SAP Notes一查,其实SAP也提供了相应的解决方案,下面就谈谈该解决方案是如何取消UD的。
2、 业务流程
流程倒是比较简单:检验结果录入→UD判定→取消UD判定
3、 举例
比如在KEE项目上生产完工的入库检验(04),当完工报工确认(CO11N),系统自动入库,即产生相应的检验批(此时库存先入为检验状态),品管部再作检验,做后续的判定。那么此时很有可能会发生生产误报工,而到导致品管也跟着误操作,事后发现时,只能采用反冲销的方法解决。
二、操作说明
根据SAP notes 74638 和175842的说明,步骤如下,
1、 notes 74638里的程序zqevac40导入系统,并激活,执行如下,
分析一下这个程序,实际上就是取消UD 代码,并给检验批设置取消状态。
2、 Notes 175842的程序RQEVAC50导入系统,并激活,执行如下,
该程序实际上就是做反冲销凭证的操作,也许有人会有疑问,不是直接MBST不可以吗,而这支程序就可以?没错SAP在程序里做了手脚,主要是下面这段程序,
SAP 在过账前将QM 检验类型激活的变量清空,过账后又加上,原来在这儿…注:这不会修改质量视图的数据!!
理论上有了上面两支程序就足以解决问题,但唯一的缺点是两支程序是分别执行的,显得不太友好和专业。需要增强一下。
3、 运用增强QEVA0008,在UD界面里增加取消UD的按钮,并调用上面两支程序,如下图,
至此,所有的功能已加好,下面我们来测试一下这个功能的效果,找一笔已经作了UD的检验批,UD取消前的状态如下,
UD取消后的状态,注意状态变化,表明是成功运行了,如下图: