分类:
2008-11-25 16:56:38
SAP New Enhancement Framework
无废话篇 之代码增强(Code Enhancement)
如果你对Enhancement Framework 中的Code Enhancement 感兴趣,并且不愿花半天时间看SAP的帮助,请参考本文.不足之处敬请指教.
这是一个普通ABAP Report,没有任何增强.
代码插入一个增强点(enhancement-point)
插入之后的代码:
以上只是设置了一个enhancement point, 没有去实现它,这时执行程序输出的内容和插入enhancement point 之前没有变化.
实际项目中我们要做的事情是: 实现(implementation) SAP预留给我们的enhancement point.具体操作如下:
1.切换到增强状态
点完后原有的代码不能编辑,如图中的XXXXXX,只能对代码进行增强相关的操作.
2.
实现Enhancement point
实现之后的代码:
运行结果:
对于ENHANCEMENT-SECTION, 定义和实现的方法与ENHANCEMENT-POINT一样.
两者的区别是:插入新代码 和 替换旧代码
ENHANCEMENT-POINT 没有代码,只有一个预留点.
允许在这个位置插入新代码(implementation).
ENHANCEMENT-SECTION 和 END-ENHANCEMENT-SECTION.之间有代码, implementation 之后,替换旧代码,只执行新代码,原来的代码不再执行.
完整的语法格式:
ENHANCEMENT-POINT
Syntax
ENHANCEMENT-POINT enh_id SPOTS spot1 spot2 ...
[STATIC]
[INCLUDE BOUND].
Extras:
ENHANCEMENT-SECTION enh_id SPOTS spot1 spot2 ...
[STATIC]
[INCLUDE BOUND].
...
END-ENHANCEMENT-SECTION.
本例中的代码:
REPORT ZES_000000001.
WRITE : / 'Hellow! Code Enhancement! ' .
ENHANCEMENT-POINT ZENH_POINT000001 SPOTS ZENH_SPOT0000000001.
*$*$-Start: ZENH_POINT000001--------------------------------------------------------------------$*$*
ENHANCEMENT 1 ZENHANC_IMP000000001. "active version
WRITE : / 'This is ENHANCEMENT-POINT ZENH_POINT000001 implementation. ' .
ENDENHANCEMENT.
*$*$-End: ZENH_POINT000001--------------------------------------------------------------------$*$*
参考资料
SAP help:
SDN:
WIKI Enhancment Spot
(完)
本文出处:
http://blog.chinaunix.net/u2/64908/showart.php?id=1665547
PDF版下载地址:
文件:
1.SAP代码增强(Code Enhancement).pdf
大小:
731KB
下载:
下载