二维码

[概述] 深入浅出话增强-SAP增强的基本概念

Twilight发表于 2014-03-02 13:35lixiaohui_ 最后回复于 2018-04-19 16:49 [复制链接] 2133 2

1、设计增强的目的
SAP Netweaver既是一套标准的ERP系统,又是一个功能强大的二次开发平台。在我们对SAP系统进行实施的时候,都要针对用户的需求进行定制化的开发,主要分为以下几类:
(1)利用IMG,对SAP各个模块的配置项进行配置,这个工作主要是由业务顾问来做的
(2)对于SAP没有提供的功能,我们用ABAP进行开发,满足用户的这类需求,这项工作主要是由ABAP开发顾问来开发
(3)SAP提供的标准模块功能,基本上能够满足用户的需求,但是有些地方需要修改,比如增加或者减少字段,改变某些环节的取数逻辑等等,需要在SAP的标准模块基础上进行调整,而这些调整通过业务顾问的配置无法完成。

前两种情况相对来说比较简单,第三种情况就比较复杂了,一般应对这种情况,有以下三种方法:
(1)利用SAP标准程序中预留的可供个性化实施的接口进行二次开发从而更改标准程序
(2)将SAP标准程序拷贝一份,然后修改,从而达到效果
(3)直接修改SAP的标准程序

对于后两种方法,缺点是显而易见的,一方面,修改SAP标准代码还是比较困难的,另一方面当SAP系统升级后,用第2种方法的,享受不到升级带来的改进,用第三种方法的,改了全白改。对于大多数问题,我们采用的是第1种方法。

所谓增强,就是要实现在不修改SAP程序代码的情况下,对SAP程序进行调整,满足用户的个性化需求的方法的统称。

增强有一下几个好处:
(1)代码安全,程序本身和增强部分分割,互相不影响
(2)升级安全,程序主体升级,不影响增强部分的开发,并且SAP确保如非必要,程序的升级并不需要对应的升级增强
(3)标准与个性的统一。

2、增强的体系
经过多年的发展,SAP也在不断的用各种方式来实现增强,具体的技术实现,分为通过在程序中设定可自定义的子过程、设置可以自定义的函数模块、通过面向对象实施的方式,增强的对象可以是业务逻辑、屏幕元素、菜单、子屏幕等。

我们首先从整体上进行分类,SAP的增强整体上分为两个框架:
(1)SAP标准程序更改框架(Changing the SAP Standard):包含了SAP逐渐演进的一系列增强技术,是一系列技术的集合,具体包括ABAP数据字典增强,User Exits,Customer Exits,Business Transaction Events,Classic BAdIs,也是目前用的比较多的。参考资料:http://help.sap.com/saphelp_nw74 ... 322d00/frameset.htm
(2)增强框架(Enhancement Framework ):将之前所有的技术整合在一个框架当中,使得整个体系更加统一。将Webdynpro的增强技术也整合了进来。整个的增强体系将逐步向新的框架演进。新的增强框架目前还不支持ABAP数据字典增强,但是可以和老框架中的include structor,append structor协同工作。参考资料:http://help.sap.com/saphelp_nw74 ... 1550b0/frameset.htm

3、增强基本理解思路
SAP的增强种类很多,概念的叫法也很多,容易搞的我们眼花缭乱,并不是SAP诚心搞出这么多各种各样的增强,这也是因为SAP系统发展了很多年头又要保证向后兼容性导致的。在学习各种增强的时候,可以顺着以下的大体思维去学习:
(1)首先,我们把需要增强的程序,叫标准程序,这个程序可以是SAP的标准程序,也可以是第三方公司提供的解决方案,也可以使你自己开发的程序。当开发者在开发标准程序的时候,程序到某一个步骤,开发者觉得这个步骤的具体执行方式可能会由于用户不同,执行方式不一样,于是在程序中保留了一个代码段,或者其他什么东西,用来调用,里面的逻辑交给增强的开发者来完成。
(2)既然交给增强的开发者完成,必须要以某种方式告诉增强的开发者,“这里有增强”,于是标准程序的开发者就要按照一定的规则定义一些东西,来告诉SAP系统,增强在哪里,同时SAP系统也会提供工具帮助增强的开发者来找到增强。
(3)找到了增强在哪里,增强的开发者就要对增强进行实施,一般来讲,标准程序的开发者会提供默认逻辑或者示例代码,增强的开发者可以方便的进行修改。
(4)一个增强可能会有不同的人给实施程序,可能会根据不同的条件,决定执行哪个实施程序,也可能要把每个人写的实施程序按顺序执行一遍,SAP系统提供了相应的机制来管理哪个或者哪几个实施程序得以执行。

4、学习顺序
本文先从最传统的增强技术开始、逐步推进,挨个介绍各类增强的概念、设计理念、编写方法、实施方法。建议学习者对与老的增强技术,掌握怎么寻找,怎么实施,对于怎么编写,有个概念性的了解即可,对于最新的增强框架,不但要掌握增强的实施,还要掌握增强的设计和编写,帮助自己在ABAP技术上更上一层楼。
回复

使用道具 举报

zhongguomao
66666666666666
回复 支持 反对

使用道具 举报

lixiaohui_
给你点个赞
回复 支持 反对

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表