登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

原来为了你

我的人生就是要一次次的超越

 
 
 

日志

 
 
 
 

关于enhancement point的简单使用  

2011-03-02 14:33:57|  分类: 增强 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

这是一个普通的report,没有任何增强。(如图1)

关于enhancement point的简单使用 - 2006057145 - 原来为了你

 
代码中插入一个增强点。(如图2,图3)

关于enhancement point的简单使用 - 2006057145 - 原来为了你

 

关于enhancement point的简单使用 - 2006057145 - 原来为了你

ZENH_SPOT01相当于一个容器,创建一个增强点的必要条件是要有一个容器。每个增强点(如ZENH_POINT01)都可以创建到这个容器当中,也可以再创建一个容器。删除这个容器的方法:在本地对象或它的包中删除或在SE18中删除,激活程序,退出再进。
插入后的代码。(如图4)

关于enhancement point的简单使用 - 2006057145 - 原来为了你

 

以上只是设置了一个enhancement point,而没有去实现它,这时执行程序输出的内容和插入enhancement point

之前没有变化。实际项目中我们要做的事情是:实现(implementation)SAP预留给我们的enhancement point。

具体操作如下:

1.切换到增强状态(如图5)

关于enhancement point的简单使用 - 2006057145 - 原来为了你

 
点完后原有的代码不能编辑,只能对代码进行增强。

2.实现Enhancement point(如图6),光标要定位到这行代码上。

关于enhancement point的简单使用 - 2006057145 - 原来为了你

 
弹出窗口(如图7)。

关于enhancement point的简单使用 - 2006057145 - 原来为了你

 

3.增强之后的代码(如图8,图9),在增强状态下激活一次。

关于enhancement point的简单使用 - 2006057145 - 原来为了你
关于enhancement point的简单使用 - 2006057145 - 原来为了你
 

 

4.然后在非增强状态下激活一次。(如图10)

关于enhancement point的简单使用 - 2006057145 - 原来为了你

 

5.可以看到增强后的效果。(如图11)

关于enhancement point的简单使用 - 2006057145 - 原来为了你
ENHANCEMENT 1  ZENH_IMP01.    "active version
ENDENHANCEMENT.
增强的修改,edit->enhancement operations->change implementation.
 
对于ENHANCEMENT-SECTION, 定义和实现的方法与ENHANCEMENT-POINT一样。两者的区别是:enhancement-point
没有代码,只有一个预留点,允许在这个位置插入新代码(implementation).
而enhancement-section和end-enhancement-section.之间有代码,implementation之后,替换旧代码,只执行
新代码,原来的代码不再执行。
 
编辑状态下能create option.编辑状态下不能编辑增强块,只能编辑其它地方。
增强状态下能对某个option create implementation.增强状态下只能编辑增强块,不能编辑
其它地方.
"例:
REPORT  ztest_enhpoint.
ENHANCEMENT-SECTION ZENH_SECTION01 SPOTS ZENH_SPOT02 .
WRITE:'SECTION 01'.
END-ENHANCEMENT-SECTION.
*$*$-Start: ZENH_SECTION01----------------------------------------------------------------------$*$*
ENHANCEMENT 2  ZENH_IMP01.    "active version
write:'SECTION 02'.
ENDENHANCEMENT.
*$*$-End:   ZENH_SECTION01----------------------------------------------------------------------$*$*
WRITE:'aaa'.
ENHANCEMENT-POINT ZENH_POINT01 SPOTS ZENH_SPOT01 .
*$*$-Start: ZENH_POINT01------------------------------------------------------------------------$*$*
ENHANCEMENT 1  ZENH_IMP01.    "active version
write:'ENH,aaa'.
ENDENHANCEMENT.
ENHANCEMENT 1  ZENH_IMP02.    "active version
write:'ENH,bbb'.
ENDENHANCEMENT.
*$*$-End:   ZENH_POINT01------------------------------------------------------------------------$*$*
WRITE:'bbb'.

* 先创建一个enhancement point在容器spot01里,并创建它的2个实现;
* 又创建一个enhancement section在容器spot2里,在section中输出'section 01',再选中section01,创建implimentation,
* 在这里不创建新的imp,而是选择ZENH_IMP01.(这样也可以,说明一个程序中的imp可以随时用,id增加了1),修改imp,输出'section 01'.
* 执行结果,我发现Section 01不再输出了。。
  评论这张
 
阅读(2745)| 评论(1)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018