ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [转载]BADI In an Enhancement (实现用户增强)

[转载]BADI In an Enhancement (实现用户增强)

原创 Linux操作系统 作者:TerryWangYR 时间:2008-07-12 00:50:02 0 删除 编辑

Tcode :CMOD  新建一个项目(project)用于实现用户增强。

       "Enhancement assignments" 输入要增强的程式(如:SZRS0003),"components"对应试一个增强程式可以查看有几个的出口(如:EXIT_SAPLSZAR_001,系统定义的标准出口)。双击出口Function (EXIT_SAPLSZAR_001)跳到ABAP编辑,在INCLUDE ZXSZARU01 .输入增强代码。

       激活新的CMOD项目,一个传统的用户增强完成,测试增强。

 

下面是使用BADI实现用户增强:

Tcode:SE18定义BADI (如:ZENH_SZRS0003)。属性中选中"multiple use"可以有多个的接口实现。接口定义接口(如ZIF_EX_ENH_SZRS0003),双击接口名称,保存定义进入输入接口类别制作器(class builder -SE24,BADI接口类实现还是最好由SE18中通过接口名称跳转进入。)

Tcode:SE24类别制作器,此由SE18跳转进入。输入方法名称与级别(method name and level),级别为“Static”,定义方法的输入输出参数,保存并激活则BADI定义完成,回到SE18画面。

Tcode:SE18还是在SE18画面,此做接口的实现。在初始画面,菜单Implementation->create新建一个(如果前面“multiple use”选中,可以建多个实现),进入后输入实现名称,双击实现再次跳转到SE24实现类别(BADI imlementation's class)。“CODE”代码实现接口的方法。最后BADI实现完成。

最后在EXIT_SAPLSZAR_001 (INCLUDE ZXSZARU01)出口中调用BADI接口类ZIF_EX_ENH_SZRS0003调用做增强。调用代码如:

data: lr_exit type ref to ZIF_EX_ENH_SZRS0003,"定义的接口类别
      y_error_table type  ERROR_TABLE.

y_adrc_struc = x_adrc_struc.
CALL METHOD cl_exithandler=>get_instance "取得接口实例
  CHANGING
    instance = lr_exit.
CALL METHOD lr_exit->address_check "到过接口实例调用出口实现的方法完成
  EXPORTING
    x_dialog_allowed = x_dialog_allowed
    x_accept_error   = x_accept_error
    x_adrc_struc     = x_adrc_struc
  CHANGING
    y_adrc_struc     = y_adrc_struc
    y_retcode        = y_retcode
    error_table      = error_table.

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9333231/viewspace-376660/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-05-17

  • 博文量
    41
  • 访问量
    41223