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具体的实例)
查找BADI业务模拟:
SE24进入CL_EXITHANDLER,在方法GET_INSTANCE中设置断点,然后运行事务代码(例如需要增强MM01等)进入DEBUG模式,观察 exit_name的值:
设置断点:
然后输入事务代码MM01,观察EXIT_NAME值(即该事务代码对应的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:物料的附加客户定义缺省