IDOC_CREATION_CHECK参数填充?

问题描述 投票:1回答:1

我正在检查一个接口的实现 IF_EX_IDOC_CREATION_CHECK 其中有一个方法 IDOC_DATA_CHECK 有3个参数。

  1. IDOC_CONTROL类型EDIDC。
  2. IDOC_DATA类型 EDIDD_TT
  3. CREATE_IDOC type 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就退出了循环,但我不知道它到底是停止检查所有材料的下一个IDocs,还是停止检查这个方法。IF_EX_IDOC_CREATION_CHECK~IDOC_DATA_CHECK 是用另一组材料的下一组IDocs再次调用。

不幸的是,我不能用样本数据运行这个接口,因为它直接改变了其他系统的数据,所以我只能读取代码。

所以如果有谁在这个问题上有经验或参考,我会感谢你的帮助。

先谢谢大家了。

sap abap idoc badi
1个回答
1
投票

退出语句会使程序退出循环,如果循环是该方法中唯一的处理块,也会退出该方法。

但是,每处理一个IDOC,都应该再次调用BADImethod。

难道你没有一个开发或QA环境可以测试一下就可以确定吗?

© www.soinside.com 2019 - 2024. All rights reserved.