调用创建的BADI
-当一个BADI被创建时,增强管理器会自动产生一个类来实施接口
-为了能够调用静态方法,你必须使用ABAP面向对象'class ... definition load'的声明
-你可以写一个调用BADI的函数,如下:
-声明一个BADI接口的参考引用变量 DATA exit_ref TYPE REF TO zif_ex_****.
-调用call method cl_exithandler ...',在此使用接口的参考引用变量和BADI,实例化一个请求对象.
SAP提供BADI的实现
-找到SAP相应事务代码的BADI
-创建该BADI的Implementation
-选择BADI中合适的方法
-在方法中写想要实现功能的代码
-执行SAP事务,在激活的状态下进行测试
例如:
首先,得找到SAP相应事务代码的BADI
创建该BADI的Implementation T-CODE:SE19
输入Definition name
输入Implementation name
点击create
此时系统会自动创建一个Implementation Interface
当Implementation创建时,系统会自动生成生成Implementation Interface和Implementation类用以实施增强接口, adapter类会自动命名,并且将'CL_IM_' 插入到Implementation Name的第一个字符和第二个字符之间.
双击‘method’名来编辑
此例中,是在VL31N中加入物料描述的标签页,首先是创建了函数组,在激活标签页的方法中,配置EF_PROGRAM时,要使用函数组的主程序名称
在TRANSFER_DATA_TO_SUBSCREEN的Method中,选择数据,并将数据用自己创建的函数传给全局变量 ,而此全局变量定义子屏幕9000的变量