SAP 对HU做货物移动报错-Only 0 serial numbers entered instead of 30 -

元旦刚过,就收到客户的业务人员报错说,当其对HU做转库(同一个公司代码下工厂到工厂或者同一个工厂下存储地点对存储地点)都不成功,报错如下:

Only 0 serial numbers entered instead of 30/

以第一个HU为例,里面是包含有30个序列号的,

HU的状态是WHSE,表明HU里的货物是在库状态。数据都是正常的,HU状态等都一如从前正常。

那为啥用的好好的事务代码,过了一个新年就不能正常运行呢?这个报错信息,是加入项目近一年以来第一次遇到的。无论是业务人员还是我们运维团队,都感到奇怪!到底是为什么?

项目上对HU执行转库的事务代码,没有使用VLMOVE,而是在VLMOVE的基础上做了一个封装,允许一次对多个HU批量进行转库操作,其核心功能还是VLMOVE的功能。

1),我们去项目上的SAP测试系统上测试,发现如果把过账日期改成2019-12-31,不是当天(2020-1-3)的话,就报相同的错误:

如果不修改过账日期,就是用系统自己建议的日期,

执行,

成功了!

也就是说,这个不是对HU转库的程序问题。不过真的奇怪,跨了一个年就不能对含有序列号的HU转库过账了?这不合常理啊。

2),我们就这个问题向SAP公司发了一个Message。得到的回复,正如预期的回复一样,因我们使用的不是SAP标准事务代码,而是一个自开发的事务代码(虽然这个自开发事务代码核心功能还是调用标准VLMOVE功能),所以SAP公司不提供支持。

3),当然,我们也同时找了开发同事去调试程序。没有哪个问题是开发顾问调试程序找不到原因的!经过开发同事的努力,我们有新发现:当我们将过账日设置为2019年年底的时候,程序生成的物料凭证过账日期是2019年的,但是序列号相关年度是取的自然年度的日期2020年,这样会导致物料凭证不完整。也就是说标准SAP系统里VLMOVE不支持为含有序列号的HU做跨年转库等过账操作。

我们可以说是SAP系统的一个bug吧。

解决方案,自然不是去打Notes了,而是由开发同事在相关检查的地方加了增强代码,跳过相关的检查绕过这个报错,最终问题解决。

2019-01-03 写于银川市。

SAP 对HU做货物移动报错-Only 0 serial numbers entered instead of 30 -的更多相关文章

  1. SAP QA32试图做UD,系统报错-工厂 BTYC中的 QM 基选设置需要维护

    SAP QA32 试图做UD,系统报错 - 工厂 BTYC 中的 QM 基选设置需要维护 - 检验批 10000062593,试图做使用决策,系统报错, 工厂 BTYC 中的 QM 基选设置需要维护 ...

  2. SAP 对HU做转库操作,系统报错 - 系统状态HUAS是活动的 - 分析

    SAP 对HU做转库操作,系统报错 - 系统状态HUAS是活动的 - 分析 近日收到业务团队报的问题,说是对某个HU做转库时候,系统报错.如下图示: HU里有是三个序列号, 1191111034011 ...

  3. SAP MM ME29N 试图取消审批报错 - Document has already been outputed(function not possible) -

    SAP MM ME29N 试图取消审批报错 - Document has already been outputed(function not possible) - 今天收到用户的一个问题,说他试图 ...

  4. yum安装命令:遇到的问题报错如下: File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: 通过看报错可以了解到是使用了python2的语法,所以了解到当前yum使用的Python2,因为我单独安装了python3,且python3设置为默认版本了,所以导致语法问题 解决方法: 使用python2.6 yum install

    1.安装zip yum install -y unzip zip 2.安装lrszs yum -y install lrzsz 3.安装scp 遇到下面的问题: 结果提示: No package sc ...

  5. Python2.7在Windows下CMD编码为65001/utf-8时print报错[Errno 0]/[Errno 2]

    使用python2.7处理unicode的字符串,环境变量已设置PYTHONIOENCODING为utf-8,cmd编码为utf-8时print unicode字符串会报错[Errno 0]或[Err ...

  6. Mybatis传多个参数的问题 及MyBatis报错 Parameter '0' not found. Available parameters are [arg1, arg0, param1 问题

    对于使用Mybatis ,传多个参数,我们可以使用对象封装外,还可以直接传递参数 对象的封装,例如查询对象条件basequery对象 <select id="getProductByP ...

  7. Ubuntu系统---报错Assertion '0' failed

    Ubuntu系统---报错Assertion '0' failed YOLO V3,CUDA Error: out of memory darknet: ./src/cuda.c:36: check_ ...

  8. python报错使用yum命令报错File &quot;/usr/bin/yum&quot;, line 30 except KeyboardInterrupt, e: SyntaxError: invalid syntax问题

    参考链接:https://blog.csdn.net/ltz150/article/details/77870735 1.背景: CentOS 7升级Python到3.6.2后,需要在/usr/bin ...

  9. innobackupex对MySQL做热备份,报错mysql库下数据字典表损坏

    [root@node1 op]#mysql -Vmysql Ver 14.14 Distrib 5.6.29innobackupex热备份MySQL报错,报错信息:[root@node1 op]#in ...

随机推荐

  1. 【Java并发基础】安全性、活跃性与性能问题

    前言 Java的多线程是一把双刃剑,使用好它可以使我们的程序更高效,但是出现并发问题时,我们的程序将会变得非常糟糕.并发编程中需要注意三方面的问题,分别是安全性.活跃性和性能问题. 安全性问题 我们经 ...

  2. 如何修改win7文件夹的显示方式为详细信息

    1.首先对着空白处,鼠标右键单击,然后点击“排列方式” 选一个 还有 你还可以点击“查看” 选择图标大小.详细信息.平铺.列表 等2.点击我的电脑左上角的 组织 按钮 随后选择“文件夹和搜索选项” 再 ...

  3. linux DNS 服务器 配置

    1:named.conf 2:正向区域配置文件 3:反向域名解析文件

  4. axios请求方法封装.

    axios的使用上一般封装好对应的方法,ES6导出,直接调用,消息通知使用了ElementUI的Message组件. 这是一个封装了axios的Rest风格的工具类,包扩常用的POST,GET,PUT ...

  5. 源码详解系列(七) ------ 全面讲解logback的使用和源码

    什么是logback logback 用于日志记录,可以将日志输出到控制台.文件.数据库和邮件等,相比其它所有的日志系统,logback 更快并且更小,包含了许多独特并且有用的特性. logback ...

  6. Vue+elementUI 自定义动态数据菜单导航组件实现展开收缩+路由跳转router-view渲染数据 路由跳转到同一个页面带参数ID 自动刷新数据

    准备:导入ElementUI 看官网教程 数据准备:JSON数据转换成树状 参考文章: JS实现 JSON扁平数据转换树状数据 后台我拿的数据是这样的格式: [ {id:1 , parentId: 0 ...

  7. 什么是LakeHouse?

    1. 引入 在Databricks的过去几年中,我们看到了一种新的数据管理范式,该范式出现在许多客户和案例中:LakeHouse.在这篇文章中,我们将描述这种新范式及其相对于先前方案的优势. 数据仓库 ...

  8. php--->单例模式封装mysql操作类

    php 单例模式封装mysql操作类 单例模式的必要条件(三私一公) 私有的成员属性--防止类外引入这个存放对象的属性 私有的构造方法--为了防止在类外使用new关键字实例化对象 私有的克隆方法--为 ...

  9. linux实用指令 | 程序员线上排查必知必会linux指令(持续更新中)

    Linux线上排查程序员实用指南 一.乱码问题 二.帮助指令 1. help命令 2. man命令 3. info命令 三.性能监测与优化 1. top命令 参考资源 Linux线上排查程序员实用指南 ...

  10. spring实战第二章小记-装配bean

    时间:2020/02/06 一.思想 1.创建应用对象之间协作关系的行为通常称为装配,这也是依赖注入(DI)的本质. 对于上面这句话的个人理解:当我们在new一个对象时如果传入了别的对象作为参数(这个 ...