代码增强(Code Enhancement)

http://blog.chinaunix.net/uid-697173-id-2680883.html

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 之后,替换旧代码,只执行新代码,原来的代码不再执行.

 

显式增强 和  

隐式增强implicit 每个程序都有隐式增强. 不用 enhancment-point 和 enhancement-section

Show Implicit Enhancement option.

可以用 implicit enhancement 在report 或者 function module之后追加代码.具体方法 参考 enhancement-point

 

 

 

完整的语法格式:

ENHANCEMENT-POINT

Syntax

ENHANCEMENT-POINT enh_id SPOTS spot1 spot2 ... 
                  [STATIC] 
                  [INCLUDE BOUND].

Extras:

1. ... STATIC 

2. ... INCLUDE BOUND

ENHANCEMENT-SECTION 

Syntax

ENHANCEMENT-SECTION enh_id SPOTS spot1 spot2 ... 
                    [STATIC]
 
                    [INCLUDE BOUND].
 
  ...
 
END-ENHANCEMENT-SECTION.

Extras:

1. ... STATIC 

2. ... INCLUDE BOUND

 

本例中的代码:

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:

http://help.sap.com/saphelp_nw04s/helpdata/en/3b/0a39426f79f83ae10000000a1550b0/frameset.htm

 

SDN:

WIKI Enhancment Spot

https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/The+new+Enhancement+Framework+and+the+new+kernel-based+BAdI

()

 

本文出处:

http://blog.chinaunix.net/u2/64908/showart.php?id=1665547

PDF版下载地址:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值