金色传说:SAP-ABAP-采购订单信息记录的奇怪现象:EINE表中信息记录有效期字段PRDAT问题


前言

前些天写了一篇文章:金色传说:SAP-ABAP-采购订单增强实例:检查信息记录有效期,过期不能创建采购订单其中的有效期字段是取的EINE表中的“PRDAT 有效期至”字段,但是在使用中发现EINE表中存储的值并不正确,怀疑是个SAP的碧油鸡,这里做个记录,有任何观点请留言,我们一起讨论下。


一、奇怪之处:疑似SAP碧油鸡

首先,在采购信息记录前台(ME12/ME13)去查询信息记录。
在这里插入图片描述
这里可以看到,有效期至这个字段的值是2022.12.31,取自EINE表。我特意用ST05跟踪了下,确实查询的是EINE表。
在这里插入图片描述
但是,奇怪之处来了,SE16N查询EINE表,结果如下:
在这里插入图片描述
这个字段中保存的值竟然和ME13中看到的不同,保存的是2021.12.31。这就很无语了,导致之前做的信息记录检查产生了错误的判断。

二、增强改进

1.原增强

金色传说:SAP-ABAP-采购订单增强实例:检查信息记录有效期,过期不能创建采购订单

2.代码修改

代码如下:

*      SELECT SINGLE prdat INTO @DATA(ds_prdat) FROM eine WHERE infnr = @l_item-infnr AND netpr NE ''. "因EINE值不准确,注释此行
*      改为先查供应商,再根据物料和供应商查A017表,得到最大的有效期    LJ   20220408
      SELECT SINGLE lifnr INTO @DATA(ds_lifnr) FROM eina WHERE infnr = @l_item-infnr.
      SELECT MAX( datbi ) AS prdat INTO @DATA(ds_prdat) FROM a017 WHERE lifnr = @ds_lifnr AND matnr = @l_item-matnr.

其他的代码不变,只将查询EINE表这行代码改为最终查A017表(物料信息记录)即可


总结

尽信书,不如无书。这句话非常有道理,敢于怀疑,细心求证,能让我们走得更远。
以上
不妥之处欢迎留言指正。手动笑脸
欢迎关注公众号,每日更新
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AI云书

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

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

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

打赏作者

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

抵扣说明:

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

余额充值