使用BAPI:BAPI_BATCH_CREATE 创建批次时,能够保存成功,但是MCH1表和KSSK表中没有内部对象号。
无奈,查找源码。
最后在BAPI中调用的这个函数这里找到了问题。此处kzcla需要打一个标识‘1’。

往上查找kzcla,找到该字段修改的地方。

上图所示,当batchcontrolfields-callcfc_cl EQ c_upper_x OR batchcontrolfields-callcfc_cl EQ c_lower_x.时,则修改 f_kzcla = ‘1’
通过调试得知,c_upper_x 是大写的‘X’,c_lower_x 是小写的‘x’,因此继续向上,发现 batchcontrolfields是传进来的值,因此找到了症结,
在调用BAPI_BATCH_CREATE时,传进这个值,并将batchcontrolfields-callcfc_cl = 'X'即可。

调用BAPI后发现可以在MCH1和KSSK中生成内部对象号CUOBJ_BM。
定期更文,欢迎关注

在使用BAPI_BAPI_BATCH_CREATE创建SAP批次时,遇到内部对象号未在MCH1和KSSK表中生成的问题。经过源码调试,发现在特定条件下需要设置kzcla字段为'1'。调整调用参数,将batchcontrolfields-callcfc_cl设为'X'后,成功解决了问题,使得内部对象号CUOBJ_BM得以在MCH1和KSSK表中生成。
746

被折叠的 条评论
为什么被折叠?



