EWM收货ECC交货单校验逻辑问题_SAP刘梦_新浪博客

EWM跟ECC集成的。

在EWM进行收货,触发ECC过账。



EWM收货完,ECC查看的时候,发现并没有成功。


然后SMQ2查看Qrfc,就是上次写的那个debug系列里提到的方法。


查看报错:

EWM收货ECC交货单校验逻辑问题

负数,哪儿来的负数,


想VL33N查看下单据,结果dump,应该是那个字段不允许负数,显示的时候dump了。

EWM收货ECC交货单校验逻辑问题

然后查看下LIPS 和LIKP表,发现毛重字段出现了负数。


因为交货单都是通过接口传输创建的,那边接口没控制住,导致出现了负数,也不知道怎么写进去的。


然后查看对应的ECC BAPI:

SPE/INB_DELIVERY_CONFIRM_DEC

EWM收货ECC交货单校验逻辑问题
然后去debug看了下,定位报错位置的方法用的最简单粗暴的
EWM收货ECC交货单校验逻辑问题
然后F8 F8的看就行了,很快就能定位到位置
EWM收货ECC交货单校验逻辑问题

之后我们在Q系统进行模拟:

也是接口过来一个交货单,毛重负数,EWM进行收货,发现……

Q系统没出问题,而且lips表的负数还自动改为了EWM传过来的正数。


这就奇怪了,为啥P系统有问题,Q就没问题?

有代码没传吗?


后来我对比了下P系统和Q系统的这两条数据。


发现P系统是多个行项目,而且是部分收货,只对其中一行做了收货,而且毛重是正数的那条正常行项目进行的收货,然后才报的错。


而Q数据是单个行项目,就这一个行项目,而且毛重是负数。


那重新做数据,Q上三个行项目,其中两条毛重是负数,一条毛重是正数。然后分别对三个行项目进行收货。


问题重现了……


之后又试了一下,多个行项目,存在负数,然后一起收货的情况,没出现问题,EWM传过来的数据会覆盖掉ECC 负数的毛重。


那这么看就是说,ECC多个行项目,如果EWM收货的时候,传过来数据,就以传过来的数据为准,如果没传过来,会取ECC内数据,然后全部参与校验。


位置在这里:

EWM收货ECC交货单校验逻辑问题

WS_DELIVERY_UPDATE_2

VBPOK_INTERFACE_CHECK

EWM收货ECC交货单校验逻辑问题

最后处理方式其实也简单,EWM前台收货的时候,把有负数的行项目先进行收货,或者全部一起收货的话,就会直接覆盖掉。


如果前台处理不了,就在这里把vbpok_tab内表的数据,debug的时候把负数改一下,然后继续执行就行了。


以下是纯顾问群~

微信群:SAP干货铺,请联系本人微信 sapliumeng。

QQ群 :SAP干货铺,  群号:775662808

所有群管理严格,严格禁止一切外来链接、招聘、广告等垃圾信息!

EWM收货ECC交货单校验逻辑问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值