自开发程序里使用Badi小结

来源:互联网 发布:淘宝详情页图片超链接 编辑:程序博客网 时间:2024/05/01 13:17

 report ztest.

* for BADI,must define one instance variable for BADI interface
DATA: g_badi_name TYPE REF TO ZIF_EX_GET_MATERIAL_DESC.


data:begin of it_mara occurs 0,
       matnr like mara-matnr,
       maktx like makt-maktx,
     end   of it_mara.


START-OF-SELECTION.


  SELECT  matnr
  into table it_mara
  up to 100 rows
  from mara.

*& get the BADI Insatance
  Call METHOD cl_exithandler=>get_instance
    CHANGING
      instance = g_badi_name.


  LOOP AT it_mara .

    CALL METHOD g_badi_name->GET_MATERIAL_DESC
      EXPORTING
        matnr = it_mara-matnr
      RECEIVING
        maktx = it_mara-maktx.

    WRITE:/2 it_mara-matnr,
           20 it_mara-maktx.

  ENDLOOP.

 

NOTE:不能通过se18-badi name 创建badi definition,而是通过Utilities-create classic badi