开发基础 报表教程 数据字典 对话编程 表单打印 增强出口 SAP接口 S/4 HANA
实战案例 实战笔记 资料下载 CRM
问答互助 会员分享 俱乐部 广告区
论坛指南、建议和投诉
Twilight发表于 2014-05-02 23:18songxin2000 最后回复于 2015-06-08 23:09 [复制链接] 6377 1
使用道具 举报
Twilight
管理员
发表回复 回帖后跳转到最后一页
查看想要增强的标准代码,在工具栏上点击“Enhance” ,工具条多出增强激活按键,点击它激活的是增强的代码而不是标准程序,屏幕也由灰变白,但仍然是不可以直接修改的,毕竟它是标准程序。
图-17-1 增强点实现方法
屏幕中可以看到许多的增强点,把光标移到下图所示位置
图-17-2 增强点实现方法
单击鼠标右键,选择创建实现
图-17-3 增强点实现方法
选择“CODE”
图-17-4 增强点实现方法
填写增强实现的名称和描述,注意这里要先创建一个综合增点实现或者选择一个已有的,这里可能是一个增强项目的概念,综合管理多个实现,具体的暂时没有深究
图-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实现原理分析》中展现。