IF_EX_IDOC_CREATION_CHECK的文档

时间:2012-02-24 00:45:05

标签: sap abap

最近我一直在使用SAP / ABAP,我正在检查接口'IF_EX_IDOC_CREATION_CHECK'的实现,该接口有一个带有3个参数的方法'IDOC_DATA_CHECK'; ​​

  1. IDOC_CONTROL类型EDIDC
  2. IDOC_DATA类型EDIDD_TT
  3. CREATE_IDOC类型C
  4. 我的问题是我无法在互联网上找到与此界面相关的文档或示例。我想知道参数'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再次调用。

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

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

    提前致谢。

1 个答案:

答案 0 :(得分:1)

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

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

你有没有开发或QA环境,你可以测试这个只是为了确定?