各位,
我开发了一个程序,调用BAPI_ACC_DOCUMENT_REV_POST冲销跨公司代码的凭证,使用方法如下:
对于跨公司代码交易(比如A公司和B公司),会同时产生3张凭证, 其中包括2张正式财务凭证(假设:A公司代码下的凭证100001,和B公司代码下的200001), 以及一张跨公司代码间凭证(假设为: 100001A0009).
在执行程序时. 只对A公司下的凭证 100001用BAPI_ACC_DOCUMENT_REV_POST冲销, 结果是A,B两个公司代码下2个财务凭证都被成功冲销, FB03里查看原凭证及冲销凭证,均没有问题,表BSEG里数据也没有问题.
但是,当用标准报表检查科目余额时,发现了问题; 本该在借方的余额,却在贷方. 检查后发现,表FAGLFLEXA里的相关行项目中,字段DRCRK的值更新有错误.如下图:
Part 1:
-
DOCNR RBUKRS DOCLN RACCT HSL DRCRK
6200000141 21B0 000001 6600960101 50.00 S
6200000141 21B0 000002 9999020000 50.00- H
Part 2:
-
DOCNR RBUKRS DOCLN RACCT HSL DRCRK
6200000145 21B0 000001 6600960101 50.00- H
6200000145 21B0 000002 9999020000 50.00 S
在Part 2 中,科目6600960101对应的行中,字段DRCRK的值为H, -
这是不对的,正确的结果应该是S.
如果使用标准T-code FBU8来冲销同样的凭证, 那么表FAGLFLEXA里的更新是正确的,科目6600960101对应的行中,字段DRCRK的值会是S.
用这个程序,冲销非跨公司代码的凭证,是没有任何问题的. 而且即使是冲销跨公司代码凭证,也是公司A的冲销凭证没问题,而公司B的冲销凭证是不对的.
所以,我现在很疑惑,不知道问题出在哪里? 难道是BAPI_ACC_DOCUMENT_REV_POST 不适用冲销跨公司代码的凭证吗?
希望有哪位达人能帮我分析一下这个问题, 尤其是来自SAP的同仁, 请帮忙关注一下.
这个问题很着急! 非常感谢各位关注!
Brian Liu