我正在检查一个接口的实现 IF_EX_IDOC_CREATION_CHECK
其中有一个方法 IDOC_DATA_CHECK
有3个参数。
而我的问题是,我在互联网上找不到与这个接口相关的文档,也找不到例子。我想知道具体的参数是什么值?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,还是停止检查这个方法。IF_EX_IDOC_CREATION_CHECK~IDOC_DATA_CHECK
是用另一组材料的下一组IDocs再次调用。
不幸的是,我不能用样本数据运行这个接口,因为它直接改变了其他系统的数据,所以我只能读取代码。
所以如果有谁在这个问题上有经验或参考,我会感谢你的帮助。
先谢谢大家了。
退出语句会使程序退出循环,如果循环是该方法中唯一的处理块,也会退出该方法。
但是,每处理一个IDOC,都应该再次调用BADImethod。
难道你没有一个开发或QA环境可以测试一下就可以确定吗?