Skip to Content
author's profile photo Former Member
Former Member

Enhancement spots and the guaranteed interface

Up to the creation of enhancement spots it was a strict rule not to modify original code because changes to the original code can harm the modification. BADIs and customer exits had guaranteed interfaces and one could trust that this interface does not change.

Am I right that enhancement spots and sections do not guarant anything? Where is the difference to a modification if support packages are loaded and we would enhance a often changed application, e.g. SAPMM06E?

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

1 Answer

  • author's profile photo Former Member
    Former Member
    Posted on Jan 09, 2008 at 01:37 PM

    Hi,

    Some info on enhancements:

    Enhancement Framework

    Purpose

    The new enhancement concept of the ABAP Workbench (Enhancement Framework) enables the integration of different concepts for modifying and enhancing development objects. The enhancement concept is supported by the Enhancement Builder tool and ABAP language elements.

    Previous Concepts

    In the long-term, the new Enhancement Framework is to replace or incorporate the existing enhancement and modification concepts. These are described under Changing the SAP Standard (BC).

    The previous concepts were separated into modifications – that is, changes to delivered development objects, and enhancements – that is, inserting user developments at points predefined by SAP.

    ● Modifications were carried out using the Modification Assistant and supported in system upgrades.

    ● Before Release 4.6, enhancements were only possible via Customer Exits. As of Release 4.6, function module exits (customer exits for source code enhancements) were replaced with Business Add-Ins.

    Problematic aspects of the previous concepts are:

    ● There is no real upgrade support for modifications and enhancements made in different systems of a transport route – for example, by SAP, to partner add-ons, or to customer developments.

    ● It is difficult to trace developments made in different parallel systems back to one system.

    ● In the case of systems in which large amounts of user developments and modifications were made, retracing and testing these developments after an upgrade is a very time-consuming process.

    Features

    The aim of the new enhancement concept as of Release 7.0 of the SAP NetWeaver Application Server ABAP (SAP NetWeaver 7.0) is to unify all possible ways of modifying or enhancing SAP products (more precisely, Repository objects of the SAP NetWeaver Application Server ABAP), which go beyond the scope of Customizing. The corresponding tool is the Enhancement Builder, which is integrated in the ABAP Workbench.

    In the context of the new enhancement concept, the following can be handled as enhancements:

    ● Modifying a Repository object

    ● Replacing a Repository object with an identically-named object

    ● Enhancing a Repository object at a predefined position

    ● Using a foreign object

    The Enhancement Framework knows all information about an enhancement that is required, for example, for an upgrade or for the ABAP runtime environment.

    The enhancements of the enhancement concept can be switched using the Switch Framework. This means that an enhancement takes effect when the package in which the above enhancement components are defined is assigned to a switch of the Switch Framework and this switch is not deactivated.

    Multilayer Support

    In constrast to modifications, with enhancements it becomes possible to have enhancements on different development levels, for example:

    ● core development

    ● application development

    ● add-on development

    ● customer development

    Regards,

    Renjith Michael.

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      This is all true but this is not the question!

      The question is: In the classic enhancement technologies the interface of some called customer code does not change. In the new technology as fare as it is not a new BADI the implementation replaces or enhances a conding sequence. I never read anywhere that it is quaranted that this conding sequence exists after a new support package has been imported and that the sequence workes together with its environment without changes which affect the implementation of the enhancement. That means: I see no difference to a modification where I have with transaction SPAU to verify what I have did and what SAP did afterwards and if my implementation in still working.

      If I enhance in an environment like my example SAPM006E what is frequently changed by SAP I am afraid to have all the time work to verify and to update my implementation.

      That is my problem!

      So again: Does anyone know on what I can trust if I implement an enhancement spot what is not a BADI?

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.