调用BADI时程序输出无显示

2020-08-19 02:27发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,我是abap的新手,目前正在...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,我是abap的新手,目前正在学习巴迪语。

我在Method的Z Badi接口中插入了简单的逻辑

 IV_MATNR导入类型MARA-MATNR
 LS_MARA更改类型MARA
 GT_MARA更改类型MARA



 选择matnr mtart INTO gt_mara FROM mara
       matnr eq iv_matnr在哪里。

       如果sy-subrc <> 0。
         清除gt_mara。
         其他。
           写入:/,/ls_mara-matnr,ls_mara-mtart。
         万一。
        ENDSELECT。

我正在尝试在程序中调用经典badi。 在参数中选择材料并执行后,输出为空。

如果有任何错误,请纠正我,谢谢

程序代码:

数据o_badi类型参考到ZIF_EX_ABAP_BADI。  ""经典BADi接口名称

 数据:带有标题行的gt_mara类型zmara_ttyp。
 数据:gs_mara与gt_mara类似。


 参数:p_matnr类似于gs_mara-matnr。



 选择开始。

 调用方法CL_EXITHANDLER => GET_INSTANCE""调用此方法为Classic BADI定义创建实例
   出口
     EXIT_NAME ='ZABAP_BADI'""经典BADi定义
 * NULL_INSTANCE_ACCEPTED = SEEX_FALSE
 *重要
 * ACT_IMP_EXISTING =
   改变
     实例= o_badi
 *例外情况
 * NO_REFERENCE = 1
 * NO_INTERFACE_REFERENCE = 2
 * NO_EXIT_INTERFACE = 3
 * CLASS_NOT_IMPLEMENT_INTERFACE = 4
 * SINGLE_EXIT_MULTIPLY_ACTIVE = 5
 * CAST_ERROR = 6
 * EXIT_NOT_EXISTING = 7
 * DATA_INCONS_IN_EXIT_MANAGEM = 8
 *其他= 9
         。
 *如果SY-SUBRC <> 0。
 **在此处实施适当的错误处理
 *万一。


 呼叫方法O_BADI-> MAT_DETAILS
   出口
     IV_MATNR = p_matnr
   改变
     LS_MARA = gs_mara
     GT_MARA = gt_mara。




 将gt_mara循环到gs_mara。

   写:gs_mara-matnr,
           gs_mara-mtart。

   ENDLOOP。