最近遇到个奇葩生产机问题,业务那边三大模块SD、MM、EWM的顾问都调查过了,依然无果。万般无奈之下,甩锅给开发,于是众望所归身负重任的我上线了(此处应有掌声)。

首先介绍下业务背景:

公司间关联交易通过STO生成外向交货单(Tcode:VL10D),并且配置了抬头输出类型SPED(Tcode:V/34),当外向交货单过账完成则会自动生成内向交货单。

因为启用了EWM系统,所以细分到仓储位置的交货单新建完成之后便传输到EWM系统,由EWM负责拣配包装过账,并同步至ERP系统,不过可以忽略这复杂流程,因为没有EWM系统直接在ERP系统里过账交货单也会出现同样问题。

然后问题来了:

当外向交货单过账完成,生成内向交货单时候报错了,如下图所示:

业务顾问那边给出的描述是外向交货单过账完成物料从发货工厂发出,收货工厂还未收货,但HU的库存已经到了收货工厂(Tcode:HUMO)。

怎么调查的呢?客官莫急,且让我先嘚瑟一会,哈哈哈哈哈哈哈哈哈哈

经过我耐心细致的Debug,终于窥见一丝端倪,原来是交货单行项目里字段POSTING_CHANGE为空导致的,而正常能够执行下去的交货单该字段值为E。

Debug源码图片

交货单行项目数据对比图

所以现在可以确定创建交货单时已经出现问题了,那就继续Debug生成外向交货单的标准程序,其实VL10D底层是调用的函数SHP_VL10_DELIVERY_CREATE。一遍遍跟踪变量XLIPS[],最终发现是移动类型的类别导致的POSTING_CHANGE赋值不一。

出错交货单的移动类型

正常交货单的移动类型

到此,原因大白于天下,怎么解决的呢?接下来就到了我与业务顾问周旋的时刻了。

我:你们是不都应该用643这移动类型?

业务顾问:嗯,我在看是不是移动类型配错了。

————————————————   半小时之后   ———————————————————

业务顾问:643不允许用项目库存,我看看能不能用别的移动类型。

我:你们可以拷贝出来一个移动类型改下吗?

业务顾问:我再试试。

( 这边解释一下,交货单做了增强,如果有项目库存则将WBS元素写入交货单行项目,所以移动类型只能使用带项目的。)

————————————————   两小时之后   ———————————————————

业务顾问:找不到合适的移动类型,拷贝出来也不让修改类别,那字段是灰色的不可修改。可不可以通过增强实现?

我:......(思考良久)你们想怎么改?

业务顾问:(喜极而泣的表情)试试在写入WBS元素那边修改 LIPS-GMCONTROL = 'B' 和LIPS-POSTING_CHANGE = 'E'。

于是码农我又开始搬砖了,VL10D再次Debug在交货单增强处修改了值,业务顾问拿着新生成的亮闪闪的交货单继续跑业务流程,完美生成内向交货单并过账,检查库存也无误。

PS:交货单使用BADI增强 LE_SHP_DELIVERY_PROC,修改方法IF_EX_LE_SHP_DELIVERY_PROC~CHANGE_DELIVERY_ITEM,如下图所示:

经此一役,再次巩固了我在业务顾问心目中完美无缺的ABAP大神形象,哈哈哈哈哈哈哈哈哈哈

收工~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SAP 公司间关联交易 外向交货单自动生成内向交货单报错:处理的单位XXXXXXX已经入库.无法进行分配相关推荐

  1. mybatis-plus自动生成的时候报错java.lang.NoClassDefFoundError: org/apache/velocity/context/Context

    当使用mybatisplus的代码自动生成的时候报错 09:02:44.188 [main] DEBUG com.baomidou.mybatisplus.generator.AutoGenerato ...

  2. SAP公司间关联交易

    在集团企业实施SAP项目的时候,一定会遇到集团内不同法人公司间发生采购销售业务往来,也称为公司间关联交易业务.其涉及到的业务情形主要有以下几种: 第三方销售(参考文档http://www.itpub. ...

  3. SAP公司间STO流程里外向交货单PGI后自动触发内向交货单的实现

    SAP公司间STO流程里外向交货单PGI后自动触发内向交货单的实现 公司间采购(公司间库存转储)在很多SAP项目里很常见,笔者在很多项目里都有这种场景.项目实践中,都是采用SAP的Inter-comp ...

  4. 通过IDoc来实现公司间STO场景中外向交货单过账后自动触发内向交货单的功能 – Part 2

    通过IDoc来实现公司间STO场景中外向交货单过账后自动触发内向交货单的功能 – Part B 6, 入站IDOC的设置 IDoc type – DELVRY01 Message Type – DES ...

  5. 通过IDoc来实现公司间STO场景中外向交货单过账后自动触发内向交货单的功能 - Part I

    通过IDoc来实现公司间STO场景中外向交货单过账后自动触发内向交货单的功能 - Part I 公司间采购(公司间库存转储)流程里,常见的解决方案是发货方完成发货过账后,自动触发收货方的内向交货单.除 ...

  6. SAP MM 公司间STO外向交货单SPED输出报错 - PO### does not contain a confirmation control key -

    SAP MM 公司间STO外向交货单SPED输出报错 - PO### does not contain a confirmation control key - 公司间STO#4501566234, ...

  7. SAP公司间STO里发货单过账后触发的IDoc报错 – Could not find code page for receiving system –

    SAP公司间STO里发货单过账后触发的IDoc报错 – Could not find code page for receiving system – 如下的交货单80000786是公司间STO的外向 ...

  8. SAP公司间销售与采购

    SAP公司间销售: 所谓公司间销售就是公司BP01销售给客户,而发货方是公司BP0X,公司间销售时需要处理两张发票,一张是公司BP01开给客户的,一张是公司BP0X开给公司BP01的,也就是说,公司B ...

  9. SAP WM自动创建TO后台作业报错 - Processing Type没有维护 - 之对策

    SAP WM自动创建TO后台作业报错 - Processing Type没有维护 - 之对策 笔者所在的D项目上,需要设置自动创建TO的后台作业.笔者为程序RLAUTA10定义了变式,然后设置了后台作 ...

最新文章

  1. 数据蒋堂 | SQL是描述性语言?
  2. zw版【转发·台湾nvp系列Delphi例程】HALCON SmoothImage
  3. 学python好不好-26岁了,自学Python怎么样?
  4. VTK修炼之道33:边缘检测_Sobel算子
  5. 痛并快乐着看火箭比赛
  6. [译] 用 Shadow DOM v1 和 Custom Elements v1 实现一个原生 Web Component
  7. Docker 部署dotnetcore
  8. 行列式的本质是什么?(附MATLAB代码)
  9. MMD动作下载:世界第一公主殿下 World Is Mine Project DIVA
  10. CEO “排队”卸任、企业“扎堆”造车,2021 科技圈十大事件你知道几个?
  11. 券商理财和银行理财的不同
  12. 虚拟化技术——VLAN策略
  13. TX2超详细,超实用刷机教程(亲测有效,所有步骤都是博主亲自实践过)
  14. AppInfoUtil 获取App应用程序信息工具类
  15. Unity打包PC包时,在WIN7环境下播放视频崩溃问题的解决记录
  16. 谁能够最终实现超越普通计算机的“量子霸权”
  17. 保理供应链金融系统:上下游企业流动性压力迎刃而解!
  18. python学习_3
  19. 【机器学习】Scikit-Learn数据预处理文档翻译+笔记记录 - 1
  20. 网络入门基础(网络布线)

热门文章

  1. QT 利用slite3和mediainfodll类获取多媒体标签
  2. 节气生活,邮箱推送,提前预警,告别炎炎夏日下的束手无策
  3. 什么是智慧消防?数字孪生技术打造的“智慧消防”系统管控云平台了解一下
  4. 团体天梯 L2-030 冰岛人 (25 分)(思路、测试点分析)
  5. [原创] 利用busybox, extlinux 在工控机CompactFlash(CF卡)上构建Linux系统(中)
  6. 发现一个免费打网络电话的方法。
  7. 基于单片机音符和音乐电子琴仿真设计-毕设课设资料
  8. 2018-2019-2 20165330《网络对抗技术》Exp4 恶意代码分析
  9. ibm tivoli_解决Tivoli Directory Server同步问题的方法
  10. Linux系统重置root管理员密码