内容目录
1. SAP第一代增强技术:基于源码增强(子函数subroutine) (2)
基本概念 (2)
通过实例说明实施步骤 (2)
2. SAP第二代增强技术:基于函数出口增强(功能模块Function) (2)
基本概念 (2)
通过实例说明实施步骤 (3)
3. SAP第三代增强技术:基于类的增强(BADI技术) (12)
概念介绍: (12)
通过实例说明实施步骤 (12)
4. SAP第四代增强技术:显式和隐式增强技术 (32)
基本概念 (32)
通过实例说明实施步骤 (35)
1.显式增强实施步骤 (35)
2.隐式增强实施步骤 (45)
1.SAP一代增强技术:基于源码增强(子函数subroutine)
基本概念
➢这些Form集中存储在一些文件名倒数第二个字符为Z的包含程序中(如后面销售凭证主程序SAPMV45A中的MV45ATZZ、MV45AOZZ等Include文件)
➢这些Form的名称一般是以UserExit_打头的子模块,所以一般到所要增强的主程序,再查UserExit_ 关键字即可到相关的出口
➢Form源代码增强事先要到service marketplace 申请对象键(ACCESS KEY),然后才能修改这些子程序
➢另外,可以在SPRO中搜索USER EXIT关键字来查
通过实例说明实施步骤官方mv
由于一代增强由于目前基本上不使用,所以本文也不再进行详细介绍。本文主要针对SAP二代,三代、四代增强技术的基本概念原理和具体的实施步骤做详细介绍和讲解。
2.SAP二代增强技术:基于函数出口增强(功能模块Function)
基本概念
➢基于函数出口增强(Function):用SMOD(激活增强,只需一次激活)和CMOD (实现增强)维护;在SAP发布的版本中,使用CALL CUSTOMER-FUNCTION <3位数字>调用函数模块的,所以你可以通过在程序中查cusomer-function来查增强,出口函数名称由三部分组成:EXIT_<;程序名>_<3位数字>(注:这里的<;程序名>即指调用此出口函数的程序名),这样你就可以到对应的增强函数了。
➢针对数据表的增强出口是“CI_ ”打头的结构,这些结构将.INCLUDE 结构的形式包含到时相应的数据表中,用户可以通过向这些结构中添加字段从而达到对数据表字段的增加
通过实例说明实施步骤1.到增强用户出口
打完断点退出后,输入需要查增强用户出口的事务码,以me21n 为例
回车,进入如下调试界面
在表MODSAP中查这个用户出口程序名的出口名称