• 20170329 隐士增强问题


    一、增强:Enhancement implementation 与 Composite Enhancement implementation 的区别

    (1)Enhancement implementation 

    1, 这玩意是不是能在任何标准程序上加enhancement?这样岂不是以后不需要user exti (cmod/smod)了?
    2, enhancement并非真正嵌入标准程序中, 只是在SE80里显示在一起而已, 实际上enhancement存在一个集中的库里? 
    是这样么? 这样的话, 每个标准程序(以及开发程序)执行时都要去这个enhancemen库里找找自己有没有被enhanced?
    3, 定点enhancement是不是SAP标准的?自己不能加的?与implicit enhancement区别在哪儿? 各自适用场景是什么?
    4, Enhancement的操作真很复杂很奇妙,没人指导下或者没教材,很难摸清创建步骤。删除和修改的操作更够让人奇怪……

    答:

    Source Code Enhancement 毕竟不是 SAP 特意/蓄意留给客户的出口,没有稳定的接口。所以虽然升级不会覆盖它,但是有可能由于上下文标准代码的改变造成原有 Source Code Enhancement 与标准代码冲突或者无法实现原有的功能。所以还是优先考虑传统的 user-exit。
    不知道自己理解的对不对。
    源:http://www.itpub.net/thread-1392418-1-1.html
    SAP标准程序->Enhance->SAP标准程序
    也就是说标准系统预留了接口给你,你只要找到接口,实现处理就好了

     

     

    顾问解释:一般只需创建一个隐士增强点,下面一个是不用填的,

    填下面表示是复合增强,同一个增强可以在不同地方有作用,且需要已存在的 。

    Can someone explain me the difference between the two? 

    explain 1.

    Basically it is not necessary to create a composite enhancement implementation since you can do with the actual
    enhancement implementation itself.
    But, for example,
     in a more complex project in which you have to implement several enhancements at the same time,
    当在一个更加复杂的项目,你需要一次实施多个隐士增强,
    you can structure these enhancements in a better way by using the Composite enhancement implementation.

    This is a higher abstraction level for structuring your developments.
    Similar to (in a way) to Packages (main- and subpackage(s)). I recommend you to read the blogs from Thomas Weiss on the enhancement framework.
    Start [Enhancement Framework|
    http://wiki.sdn.sap.com/wiki/display/ABAP/ThenewEnhancementFrameworkandthenewkernel-basedBAdI#ThenewEnhancementFrameworkandthenewkernel-basedBAdI-technology]

    -》在一个更复杂的项目中,您必须同时实施多项增强功能,就要用到复合隐士增强。

    explain 2,

    An "Enhancement Implementation" can only contain one type of "Enhancement Implementation Element" 
    (for example, only Interface Enhancements, or Enhancement Point/Sections).
    Therefore, for a project where you must implement enhancements to both an Enhancement Point,
    and a Function Module Interface, you cannot group them in the same Enhancement Implementation.
    Instead, you must create two separate Enhancement Implementations, and in turn group those in a
    "Composite Enhancement Implementaion".

    -》一个 "Enhancement Implementation"一种隐士增强元素,
    当你需要对增强点实施增强功能 和 功能模块接口,您必须创建两个单独的增强实现,然后将它们分组在一个“综合强化实施”

    eg.

    创建composite enhancement implementation , 
    新建一个composite enhancement implementation,他可以用来收集一般的enhancement implementation,
    源:http://gdxnskhy.blog.163.com/blog/static/6652021920124344446342/

    ->composite Enhancement implementation 可以用来收集一般的enhancement implementation.
    这样composite xxx就成了一个隐士增强集合。

     

    得:
    当需要一次实施多个隐士增强,且需要同一个增强可以在不同地方有作用,更好的方式是使用 综合隐士增强点。

     

  • 相关阅读:
    关于读者来信的一些思考
    serializeArray()与serialize()的区别
    懒人代码-顶部栏
    $.ajax()方法详解
    JavaScript(js)对象常用操作,JS操作JSON总结
    js 获取手机浏览器类型,修改css文件的class的值
    阻止在极短的时间重复执行某个函数
    android WebViewClient和WebChromeClient
    java枚举使用详解
    android-async-http
  • 原文地址:https://www.cnblogs.com/rainysblog/p/6639948.html
Copyright © 2020-2023  润新知