SAP 增强--第三代增强出口BADI

第三代出口-BADI

BAdIs(Business Add-Ins)是SAP在R/3 release 4.6A后增加的增强技术。总的来说,BAdIs克服了之前出口的所有缺点,并且还是用最新的OO技术实现。

相关事务代码:

1、SE24:查找相关事务代码的BADI增强出口

2、SE18:创建及维护BADI对象。创建增强点、维护接口/类(Interface)、维护方法,维护方法的参数、维护实施Implementation(可以在SE19下面查看)

3、SE19:维护BAdI实例,BAdI功能的实现

BADI调用机制:

总是执行一个方法来获取BADI,通过调用该方法获取到BADI instance(BADI具体的实例)

 

SAP 增强--第三代增强出口BADI

 

查找BADI业务模拟:

SE24进入CL_EXITHANDLER,在方法GET_INSTANCE中设置断点,然后运行事务代码(例如需要增强MM01等)进入DEBUG模式,观察 exit_name的值:

SAP 增强--第三代增强出口BADI  SAP 增强--第三代增强出口BADI

设置断点:

SAP 增强--第三代增强出口BADI

然后输入事务代码MM01,观察EXIT_NAME值(即该事务代码对应的BADI):

SAP 增强--第三代增强出口BADI

附:事务代码MM01销售视图下的BADI出口清单:

(1)输入MM01后:

BADI_SCREEN_LOGIC_RT:屏幕顺序/有效性客户自我控制出口

W_RETAILSYSTEM_IDENT:系统配置 'SAP 零售'的识别

BADI_MATN1:转换退出MATN1的BAdI

(2)选择视图时:

BADI_MATERIAL_OD:物料或条款主数据中新对象的集成

(3)进入事务代码后:

BADI_MATERIAL_OD:转换退出MATN1的BAdI

BADI_MAT_F_SPEC_SEL:用于物料特定字段选择的BAdI

BADI_LAYER:layer value management for BADIs

BADI_MATERIAL_REF:物料的附加客户定义缺省