SAP采购订单“交货已完成”勾选后仍可收货的原因分析及解决方案

SAP MM模块项目实施中,很多用户对采购订单中交货已完成这个字段(如下图)的功能用途存在困惑。

比如:上图采购订单100个,已收货50个,另外50个因为质量或其它原因不需要供应商再交货,很多用户认为通过手工勾选这个标识后,这张采购订单应该不能再进行交货了,但实际并不能起到这样的控制效果,仓库仍然可以继续收货,为什么?

从这字段翻译的中文意思上理解,既然交货已完成,就应该不能再继续交货了,但其实这个字段作用不是用于控制采购订单能否继续交货的。

这个字段作用是用于控制采购订单中的项目是否还有未清项的,它可以由系统在达成交货完成条件后自动设定,也可以在未达成交货完成条件时,通过手动设定,它的主要作用体现在MRP计算逻辑中。

举个例子:采购100件物料,只收了50件,另外50件尚未收货,如果这个采购订单中没勾选这个字段,那么跑MRP时会将这个采购订单中的未收货数量做未供应来计算,但如果勾选了,跑MRP时将不会再计算该采购订单的未供应数量。

这个字段的作用虽然不是用来控制采购订单能否交货的,但在很多实际项目中,用户都希望这个字段勾选后,采购订单就不能再进行交货了。

遇到这样业务控制需求,通常会采用如下两种解决方案来满足用户。

方案一:通过配置系统消息号,然后在采购订单上手工勾选收货已完成,并设定最近收货日期为过去的日期。

方案二:通过增强,增加采购订单收货的判断条件,当已完成收货打上勾选后不允许在进行交货。

对比下这两种方案的优缺点。

对此很多人也许会抱怨SAP系统怎么那么烂,这么简单的功能还要特殊配置或增强,但是如果能从业务管理角度去看SAP标准为何不做这样控制,会发现其管理理念的前瞻性。

我也认为这样控制的必要性是值得商榷的,试想一下一个公司的采购如果经常出现部分交货后,因质量或其它原因就不让供应商交货了,难道不是更应该反思公司采购管理的问题,如果通过系统上去堵,那么供应商交货质量的数据又如何在系统中真实体现出来,你又根据什么去评估管理供应商?

另外如果写增强代码去控制,随着业务的发展,因为这增强的存在,有些业务就需要比较复杂并且低效的方式去处理。

虽然我认为没有必要做这样的控制,但我也知道在项目中要说服别人接受你观点,还是非常挑战人的沟通能力的,所以最后附上上面两种方案的具体实施步骤供大家参考下。

方案一:通过配置方式实现

步骤1:使用TcodeOMCQ ,将系统消息号163 类型设置为”E“.

步骤2:使用TcodeME22N 修改采购订单,将交货已完成勾选上,同时要设置最近交货日期为过去的一个日期,如下图。

这样设置后,再使用MIGO进行收货,效果如下,系统弹出错误信息,不允许仓库再进行收货。

方案二:通过写增强进行控制。

增强出口:EXIT_SAPMM07M_001

步骤1:输入TcodeCMOD,回车,进入如下界面。

步骤2:输入项目名称,点击创建,进入如下维护界面。

步骤3:输入短文本描述,点击保存,后进入如下维护界面。

步骤4:点击本地对象后进入如下维护界面。

步骤5:点击增强分配后进入如下维护界面

步骤6:点击组件后进入如下维护界面。

步骤7:双击功能出口名称:EXIT_SAPMM07M_001,进入如下维护界面。

步骤8:双击ZXMBCU02,进入如下维护界面

步骤9:点击返回至如下界面,激活增强。

激活成功显示如下绿色灯

按上面步骤完成增强后,再使用MIGO进行收货,效果如下,系统弹出错误信息,不允许仓库再进行收货。

特别声明:以上纯属个人学习SAP的体会和想法,不代表任何公司 ,文中操作演示截图,来源于SAP软件,相应著作权归SAP公司所有。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT 与丘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值