SAP增强Enhancement

本文详细介绍了SAP增强技术的四个发展阶段:基于源码的用户出口、函数模块增强、基于类的BADI以及Enhancement Framework。第一代增强涉及源代码子过程,第二代基于函数模块,第三代BADI使用面向对象技术,第四代Enhancement Framework旨在减少标准程序的修改。文章还提供了各种增强的查找方法和相关表格。
摘要由CSDN通过智能技术生成

 

第一代:基于源码增强(子过程subroutine)

       第一代增强基于源代码,是SAP提供的一个空代码的子过程。在这个子过程中用户可以添加自己的代码,控制自己的需求。这类增强集中在一些文件名倒数第二个字符为Z的包含程序中。 一般是以UserExit_打头的子过程,因此形象地称其为用户出口。

       用户出口Include在SAP标准程序的源代码里,可以说是源代码的一部分,更改用户出口就相当于更改SAP标准程序,是需要在SAP Service MarketPlace里申请对象键(Access Key)才能更改,不需要建立工程;由于是在标准程序中,所以标准程序的全局数据都可以使用,但同时系统升级时会被新版本覆盖。

      用户出口的说明可以从后台配置SPRO的相关模块的路径找到,大部分SD的出口都是此类增强。

      查找此类出口的方法:
      1、在程序中查找文件名倒数第二个字符为Z的Include包含程序。
      2、在后台查找对应的模块增强:在程序中搜索USEREXIT_打头的子过程;在SAP中以PERFORM的形式被调用。
      3、单击”Display Object List”按钮,在子程序列表查找“UserExit_”打头的子过程。

第二代:基于函数模块增强(Function)

       第二代增强基于函数模块,用事务:SAP增强管理(SMOD)和增强编辑器(CMOD)维护。在SAP发布的版本中,使用Call Customer-Function 'xxx'调用函数模块,所以可以通过在程序中搜索 Customer-Function来查找第二代增强,第二代增强函数名构成为Exit_程序名_'xxx(3 digital number)'。它们在发布时只有一句代码include "ZXxxxxxx",修改时无需像第一代增强一样申请对象键,直接按两次Enter键就可以了。但同时这种增强以及后面几代的增强都不能像第一代一样随便使用程序的全局数据,只能使用接口中传递进来的参数。由于带有关键字Customer,故被称为Customer Exits(客户出口)。
       第二代增强主要有4类:
       E.Ehancement exits:这些出口以Exit_打头,可以在SE37中查看,也可以在数据字典TFDIR(函数表)中查询Exit_打头的函数
       C.GUI codes(GUI增强):用于区域菜单和工具菜单栏的增强
       S.Subscreens(屏幕增强):用于子屏幕设计增强
       T.include structure增强:用于表结构的增强
       另外,按用途分类:
       功能模块出口(Function Module Exits):在SAP标准事务中添加业务逻辑,一般用于验证标准事务中的字段
       屏幕出口(Screen Exits):定义自己的子屏幕嵌入应用屏幕,在标准事务中

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值