是否有一个功能模块或BAPI或方法可以很好地执行给定材料的材料/材料分类帐一致性检查?
我知道报告SAPRCKMU
在我自己的程序中很难使用。
我也知道并使用执行一致性检查的功能模块CKML_F_CKML1_PRICES_GET
。
当此功能模块发现不一致时,它会调用MESSAGE E
...这意味着我在程序中失去控制权。这是我的核心问题。
所以我正在寻找一种检查一致性的方法,然后以一种方式调用CKML_F_CKML1_PRICES_GET
,这种方式为我提供了一个带有错误消息的返回参数,而没有调用MESSAGE E
....
答案 0 :(得分:2)
我找到了一个效果很好的解决方案:
将行error_message = 99
添加到功能模块调用:
CALL FUNCTION 'CKML_F_CKML1_PRICES_GET'
....
EXCEPTIONS
...
error_message = 99
others = 98.
现在,当功能模块本身使用MESSAGE E...
而不是RAISE ...
时,程序不会中断控制流程。
每当在内部调用MESSAGE E...
时,它都会转换为SY-SUBRC = 99
,同时也会设置SY-...
中的错误字段。