二维码

[三代] sap增强进阶(五)- Enhancements Spots

Twilight发表于 2014-05-02 23:18songxin2000 最后回复于 2015-06-08 23:09 [复制链接] 6377 1

1. 实现方法
查看想要增强的标准代码,在工具栏上点击“Enhance” ,工具条多出增强激活按键,点击它激活的是增强的代码而不是标准程序,屏幕也由灰变白,但仍然是不可以直接修改的,毕竟它是标准程序。

图-17-1 增强点实现方法.jpg
图-17-1 增强点实现方法

屏幕中可以看到许多的增强点,把光标移到下图所示位置

图-17-2 增强点实现方法.jpg
图-17-2 增强点实现方法

单击鼠标右键,选择创建实现

图-17-3 增强点实现方法.jpg
图-17-3 增强点实现方法

选择“CODE”

图-17-4 增强点实现方法.jpg
图-17-4 增强点实现方法

填写增强实现的名称和描述,注意这里要先创建一个综合增点实现或者选择一个已有的,这里可能是一个增强项目的概念,综合管理多个实现,具体的暂时没有深究

图-17-5 增强点实现方法.jpg
图-17-5 增强点实现方法

创建后,在原光标位置将出现一个ENHANCEMENT ENDENHANCEMENT ,这时你就可以在这之间写代码了。写完后点击来激活增强代码,从而实现客户功能。

2. 查找方法
在标准程序的相关代码处,点击菜单上的“Show Implicit Enhancements Options”即可,一般增强点在子程序的开头和结尾处。
3. 增强点及BADI实现原理
假设此程序由SAP公司 开发,并且规定经典代码不能修改。
很多人SAP开发人员添加新逻辑,需要一个完整的注册体系,来记录Enhancement Options(开发人员的新增强在哪个程序的哪个位置,谁写的等等)。
BADI是怎么被集成进Enhancement Spot的?在以前没有Enhancement Framework之前,我们是可以单独创建BADI ,也就是所以用SE19创建。但是自从SAP NETWEAVER后,SE19被分成了2个部分,一个叫做CLASSIC BADI.一个叫做NEW BADI.这说明SAP 对BADI做了向上向下兼容。CLASSIC BADI(经典BADI/老BADI)其实都被赋予给了新的Enhancemtn Spot.但是作为SAP的老用户,不知道它的SPOT是啥,只能用它来查了。SE18亦是如此。
NEW的BADI的操作思路就很明了了:创建Enhancemnt Spot, 实现Enhancment Spot.然后在 SPOT实现界面里面左面创建BADI等等等....CLASSIC呢?有些麻烦,现在就是我们使用
CLASSIC BADI创建了一个BADI,那么也会强制的要指定一个它属于的Enhancment Spot了等等。
BADI怎么实现的?SAP两步走策略:定义BADI  =>在这个界面指定是否复用过滤等等,还有其他的FCODE SUBSCREEN标签页属性指定;实现BADI  =>指定实现接口,指定实现类等等。
更详尽BADI原理将在另一文《BADI实现原理分析》中展现。
回复

使用道具 举报

songxin2000
讲得好,受益匪浅
回复 支持 反对

使用道具 举报

快速回帖

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

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