SAP ABAP 每周一记 2021-08-17~24

1、关于PP模块,制造版本TCODE-C223的check功能

        数据的正确性反应在了绿灯和红灯上,黄灯表示还没有对数据进行检查或者有警告信息,没有没检查过的数据check data为空。  

        使用到的BAPI:CM_FV_MKAL_CONSISTENCY_CHECK

        前两天碰到一个项目需求,自开发程序做制造版本的批量登录,后面加了check功能,但是发现check成功的情况下,在C223 界面数据不是绿灯,设计者希望在check成功的情况下变成绿灯。于是对此需求做了调查,在我leader的帮助下,找到了控制灯颜色的字段。如下

这个check包含了4种情况,分别是 F, R ,C ,S。

所以BAPI在填写输入参数的时候,OBJECT_IMP的输入范围就是这4个字母。

 我们深入BAPI找到了相关代码:

大概就是上图所涉及到的部分

从实际的代码可以看出来,这个check不是随便就能做的,首先他会判断其中几个关联字段是否为空,根据不为空的字段去做相应的check。然后确定以下各字段的值,

以上这几个字段才是决定 数据整合性check后显示红灯还是绿灯还是黄灯,最重要的是,如果check日期(PRDAT)字段为空的话,这个灯是保持黄灯状态的。

2、关于以上想到的

客户提出的问题需求:如何将黄灯变绿

我们所发现的:1)BAPI成功执行为什么灯没变,是否执行后并没有正真成功

                          2)BAPI成功执行影响了数据库的哪几个字段

                          3)控制灯的依据是什么

                          4)这个依据是怎么来的(程序员的直觉:一定和数据库字段有关)

如果这个问题放到我自己解决,我可能找不到这么深的地方,还得感谢我的leader。今天完结日期是9月14日,已经过去了20天,中间pa没证疫情不能办证,考不了,身份证老外不认,手里工作忙了很久,周末上课,截至昨天日语考试没抢到座位,明年评优没有证书就会好难。那就坚持写博客吧,加油


版权声明:本文为weixin_41810211原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。