BADIs 实现&小例

调用创建的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的变量

原文地址:https://www.cnblogs.com/SolisOculus/p/2957652.html