IDOC_CREATION_CHECK参数填充



我正在检查接口IF_EX_IDOC_CREATION_CHECK的实现,该接口有一个带有3个参数的方法IDOC_DATA_CHECK

  1. IDOC_CONTROL类型EDIDC
  2. IDOC_DATA类型EDIDD_TT
  3. CREATE_IDOC类型C

我的问题是,我在互联网上找不到与这个界面相关的文档,也找不到例子。我想知道参数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的情况下退出循环,但我不知道它是停止检查所有材料的所有下一个ID ocs,还是用另一材料的下一组IDocs再次调用方法IF_EX_IDOC_CREATION_CHECK~IDOC_DATA_CHECK

不幸的是,我无法使用示例数据运行此接口,因为它直接更改其他系统的数据,所以我只能读取代码。

因此,如果有人在这个问题上有经验或参考,我将感谢你的帮助。

提前谢谢。

exit语句将导致程序退出循环,如果循环是方法中唯一的处理块,它也将退出方法。

但是,应该为每个IDOC再次调用BADI/方法。

难道你没有一个开发或QA环境,在那里你可以测试这一点来确定吗?

相关内容

  • 没有找到相关文章