SAP 增强已经发展过几代了,建议你系统学习一下 SAP 标准教材 BC425 和 BC427。
简单说一下我的理解:
第一代:基于源代码的增强。
源代码增强以子程序形式发布,在 SAP 的发行版本中,使用 PERFORM 调用这些子程序,它们在发布时都是空的,集中在一些文件名倒数第二个字符为 Z 的包含程序中。用户增强时,应首先到 service marketplace 申请对象键,然后才能修改这些子程序,这些子程序可以使用程序中所有的全局数据。
屏幕增强以客户屏幕形式发布,它们包含在标准程序中,没有什么特别规律。
这种源代码增强和屏幕增强的说明可以从事务码 spro 后台配置中相关模块的路径里面找到。
同时使用的针对数据表的增强是 append structure,可以在事务码 se11 中打开透明表,点击应用工具栏最右边的那个 append structure 按钮就能为数据表追加新的字段。
第二代:基于函数模块的增强。
源代码增强以函数模块形式发布,在 SAP 的发行版本中,使用 CALL CUSTOMER-FUNCTION 调用这些函数模块,它们在发布时只有一句代码 INCLUDE xxxxxxx。用户增强时,无需申请对象键,直接双击这个包含,然后回车,就可以创建相关的包含文件,编写相应的代码了。这些函数模块中只能使用接口中传递的参数,不能使用调用程序的全局变量。
屏幕增强也包含在函数模块所属的函数组中。
针对数据表的增强是 CI_ 结构,这些结构以 .INCLUDE 结构的形式包含在 SAP 发布的数据表中,用户可以通过向这些结构中添加字段而对数据表进行增强。
上述这类增强通过事务码 SMOD 进行维护,CMOD 进行实现。SMOD 中的一个增强可以包含上述的源代码、屏幕和表结构增强,按照较容易理解的逻辑结构来管理这些增强,使用相对更加便利。
第三代:基于面向对象概念的增强。
这就是传说中的 BAdI(Business Add-Ins),源代码增强以接口形式发布,在 SAP 的发行版本中,也是通过接口的方法调用来使用。用户增强时,实际是实现一个(或多个)基于这个接口的实现类。由于接口可以有多个实现类,所以对一个增强可以有多种不同的源代码,它们通过过滤器应用于不同的业务场景。
这种增强使用事务码 SE18 创建、SE19 实现。
很遗憾,我对面向对象理解不深,使用 BAdI 也很少,所以不清楚它怎么实现屏幕增强。
第四代:Switch Framework。
SAP 从 NetWeaver 7.0 以后退出的新增强体系,它对 BAdI 做出了改进,改叫新 BAdI 了。还新增 Enhancement Spot 和 Enhancement Section 以及隐式增强点的概念,基本可以在面向对象的程序里实现处处皆可增强的最高境界。
但是由于我公司业务环境问题,我还完全没有用它做过任何实例,因此没有发言权。
https://forums.sdn.sap.com/thread.jspa?threadID=1393381
分享到:
相关推荐
SAP增强工具程序SAP增强工具程序SAP增强工具程序
sap增强和出口的详细解释,很适合收藏哦,方便大家的查找。
SAP增强课件SAP增强课件SAP增强课件SAP增强课件
sap增强的分类,和增强的查找,适合初学者学习。
Sap的用户出口发展至今有四代,增强越来越趋于人性化,简单化。
SAP增强的CMOD和SMOD用法和区别
介绍SAP增强的相关操作,对ABAP开发感兴趣的朋友来看看啦
SAP增强包4 FOR ERP6升级介绍
透视sap增强,包含实例,内容详细,透视sap增强,包含实例,内容详细
SAP方丈-ABAP-SAP增强应用实例
SAP ABAP查找事务代码、程序的增强。
sap 增强 badi userexit customerexit。主要是介绍如何寻找SAP的各种出口
SAP增强介绍和查找的各种手段。 SAP 增强已经发展过几代了,可参考SAP 标准教材BC425 和 BC427。简单的说SAP的用户出口总共有四代。
SAP增强总结,
SAP方丈-ABAP-SAP增强应用实例.docx
SAP增强开发 BADI出口增强的查找方法
sap增强小总结收集.pdf
SAP增强查找工具借鉴.pdf
SAP增强-MM-物料主数据归纳.pdf