最近我一直在使用SAP / ABAP,我正在检查接口'IF_EX_IDOC_CREATION_CHECK'的实现,该接口有一个带有3个参数的方法'IDOC_DATA_CHECK';
我的问题是我无法在互联网上找到与此界面相关的文档或示例。我想知道参数'IDOC_DATA'在调用时具有什么值。它是否一次处理一种材料的IDOC,或者它带有所有材料的所有IDOC。
令我头疼的代码就是这个;
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.
语句时,它会在不处理下一个IDOC的情况下循环,但我不确切地知道它是否停止检查所有材料的下一个IDOC或方法'IF_EX_IDOC_CREATION_CHECK~IDOC_DATA_CHECK用另一种材料的下一组IDOC再次调用。
不幸的是我无法使用示例数据运行此接口,因为它直接更改了其他系统的数据,所以我只能读取代码。
因此,如果有人在此问题上有经验或参考,我将非常感谢您的帮助。
提前致谢。
答案 0 :(得分:1)
exit语句将导致程序退出循环,如果循环是方法中唯一的处理块,它也将退出该方法。
但是,应该为每个IDOC再次调用BADI /方法。
你有没有开发或QA环境,你可以测试这个只是为了确定?