我正在检查接口IF_EX_IDOC_CREATION_CHECK的实现,该接口有一个带有3个参数的方法IDOC_DATA_CHECK:
EDIDC
我的问题是,我在互联网上找不到与这个界面相关的文档,也找不到相关的例子。我想具体地知道参数IDOC_DATA有什么值,什么时候调用?它是一次从一种材料中加工IDocs,还是携带所有材料的IDocs?
打破我脑袋的密码是
loop at idoc_data assigning <it_data>.
case <it_data>-segnam.
when 'E1BPE1MATHEAD'. " Segment
clear: it_mat,zliser.
it_mathead = <it_data>-sdata.
...
if sy-subrc eq 0. " -------> This
exit. " -------> is my
endif. " -------> headache
...当涉及到exit.语句时,它会在没有处理下一个IDocs的情况下退出循环,但我不知道它是否停止检查所有材料的下一个IDocs,或者使用另一个材料的下一组IDocs再次调用IF_EX_IDOC_CREATION_CHECK~IDOC_DATA_CHECK方法。
不幸的是,我不能用示例数据运行这个接口,因为它直接改变了其他系统的数据,所以我只能读取代码。
因此,如果有人在这个问题上有经验或参考,我将感谢你的帮助。
提前谢谢。
发布于 2012-02-25 08:18:25
exit语句将导致程序退出循环,如果循环是方法中唯一的处理块,它也将退出该方法。
但是,对于每个IDOC,应该再次调用BADI/方法。
您不是有一个开发或QA环境,您可以测试这一点,只是为了确定?
https://stackoverflow.com/questions/9423767
复制相似问题