The state-of-the art technology to enhance and adapt SAP standard objects is the new Enhancement Framework (available as of ABAP 7.0). You should use if you are sure that you have done everything in terms of customizing and still not completely accomplished what you need. As you read in the weblogs listed below this enhancement technology has many advantages over the classic modification technology. In particular, it causes far less work in an upgrade, because customer enhancements are objects of their own and, in general, owned by the customer whereas modifications are part of the SAP object they modify. This way, all modifications have to be adjusted after an upgrade, no matter if the underlying SAP object has changed or not. In contrast as a customer you have only to adjust enhancements in the rare cases in which the underlying development object has been deleted or incompatibly changed. To support you in doing so there is the transaction SPAU_ENH that is new with NetWeaver 7.0.
The basic idea of the new Enhancement Framework (is to make modification-free enhancements of development objects such as programs, function modules, global classes, and Web Dynpro components. All these technologies and the new kernel-based BAdI are now integrated in one Framework that has the following features:
- Enhancements of existing development objects on different levels - for example, in an industry solution, in the IT department of the customer, and finally in a customer's company.
- Better upgrade support
- Switching of enhancements with the Switch Framework
- Support for grouping enhancements and appropriate tool support for documentation.
The Switch Framework (available as of ABAP 7.0) is made to control the visibility of development objects at runtime. If a switchable development object is not switched on it is not part of the ABAP load and therefore behaves as if it would not exist at all though as a transport object it still exists. The Enhancement and the Switch Framework are closely integrated which means: All enhancements of the Enhancement Framework (but also many other objects) can be switched by the Switch Framework.
The three major use cases or scenarios by the Enhancement Framework are
- The adaptation of SAP standard programs by customers
- The re-integration of the SAP Industry Solutions in the ERP core
- The Enhancement Package Strategy of SAP ERP 6.0 and the Business Suite 7.0.
You find a description of these three use cases and an introduction to and explanation of how the Switch Framework is used for re-integration of the Industry Solution in the ERP core and in the Enhancement Package strategy in a weblog series. It is intended to give you an overview of the technology of the framework by showing its major use cases:
- The Three Use Cases of the Enhancement and Switch Framework
- Weblog Series on the Technology of the Enhancement Framework
- Weblogs on the New BAdI that is Part of the Enhancement Framework
The Three Use Cases of the Enhancement and Switch Framework
- The Three Use Cases of the Enhancement- and Switch-Framework - Part 1
Learn about the exciting opportunities that the three most important use cases of the Enhancement and Switch Framework offer to you. In part 1 of this weblog series you get to know these use cases from a high level perspective: enhancements instead of modifications, all SAP Industry solutions developed in one system, and the Enhancement Packages of SAP ERP 6.0. And you will understand the basic advantage of enhancements over modifications in some detail.
- The Three Use Cases of the Enhancement- and Switch-Framework - Part 2
Developing enhancements is different from normal development. In this weblog I explain why even a very small enhancement project requires many enhancements and how the different enhancements interact. You will understand all this by going through an improvement of the example given in weblog one of this series.
- The Three Use Cases of the Enhancement- and Switch-Framework - Part 3
In this weblog you learn in a step-by-step description how simple it is to replace the implementation of a method by an overwrite method using the Enhancement Framework. The idea is to give you an outline of the procedure, and not to focus on details.
- The Three Use Cases of the Enhancement- and Switch-Framework - Part 4: The Many Ways to Enhance a SAP Application With the New FrameworkWith the new Enhancement Framework you get plenty of options to enhance SAP development objects for free. In this weblog you get to know all these so-called implicit Enhancement Options and you understand the difference between them and the explicit Enhancement Options.
- The Three Use Cases of the Enhancement- and Switch-Framework - Part 5: The Basics about Switching
This weblog tells you all the basic facts about switching with the new Switch Framework. You will both understand how it technically works and what the motivation for switching is.
- Second Try: The Three Use Cases of the Enhancement- and Switch-Framework - Part 6: The Re-Integration of the SAP Industry Solutions into the ERP Core
What is the Re-integration of the SAP Industry Solutions into the ERP core, What are its benefits for the customer, and how is it realized by means of the Switch- and Enhancement Framework? These are the questions that are answered in this weblog.
- The Three Use Cases of the Enhancement and Switch Framework: Part 7 - The Enhancement Package Strategy of SAP ERP 6.0The Enhancement Package Strategy of ERP 6.0 is a new way to get new functionality: You can stay on one stable release and install and activate optional portions of functionality on top of your application just as you like. This weblog gives you an introduction to this strategy and explains how the optional activation is empowered by the Enhancement- and Switch-Framework.
In case you are interested in the technology of the Enhancement Framework in some detail and want to work with it you should read this series. It explains you both the basic concepts of the framework and shows you how to create and implement enhancement options:
Weblog Series on the Technology of the Enhancement Framework
- What the New Enhancement Framework Is For - Its Basic Structure and Elements For Beginners
This weblog explains what the new Enhancement Framework is for thereby telling the basic advantages of enhancements over modifications. After reading it, you will understand that the basic structure underlying this framework is simple and straightforward: An enhancement option and its implementation element. This weblog also conveys an idea of why the framework as a whole needs some complexity if it should enable you to structure, organize and manage all the different enhancements in a system.
- The new Enhancement Framework Part 2 - What Else You Need to Know Before Building an Enhancement
This weblog provides some more background knowledge on the new Enhancement Framework. Both weblogs together provide all the information a developer needs before starting to define and implement an enhancement.
- Source Code Enhancements - Part 5 of the Series on the New Enhancement Framework
In this weblog you learn in which cases it is useful for you to define an enhancement option, if you are a developer outside of SAP. You will understand, in which cases source code enhancements should be your first choice, though, of course, BAdIs are the enhancement technology that SAP recommends in general. So much for the theory. The weblog also shows to define an enhancement point, how to implement it and how to replace an existing implementation. For those still not completely familiar with the structure of the Enhancement Framework, there is again the structure of the entities involved in defining an enhancement point and creating a source code plug-in that implements this enhancement point.
Weblogs on the New BAdI that is Part of the Enhancement Framework
SAP Business Add-Ins (BAdIs) are one of the most important technologies used to adapt SAP software to specific requirements. They were introduced with Release 4.6 and replace function module exits. This technology is not limited to SAP applications. BAdI calls can be integrated in customer applications. These can then be enhanced by other customer applications. In the various SAP applications, BAdI calls are implemented at places where enhancements are appropriate. With the new Enhancement Framework comes a new BAdI that has a more transparent and easier syntax, is integrated in the kernel and therefore a lot faster, and can profit from all the advantages of the Enhancement Framework in which the new BAdI is fully integrated:
- How To Define a New BAdI Within the Enhancement Framework - Part 3 of the SeriesThis weblog shows how to define a new BAdI in the new Enhancement Framework. You learn how to create a BAdI with the respective tools in the ABAP Workbench, how to use the relevant commands in ABAP and how to provide a default class for a BAdI.
- How to implement a BAdI And How to Use a Filter - Part 4 of the Series on the New Enhancement Framework
In this weblog you learn, how to create a BAdI implementation,how to add a filter to a BAdI definition, how to create a filter condition in a BAdI implementation, and the relevant ABAP code to use a filter when calling a BAdI.
If you are acquainted with the concepts and the technology of the Enhancement and Switch Framework you might still need some guidance on how to work with this framework most efficiently if you as a customer want to adapt SAP standard programs. In this case you should read the weblog:
How to Get the Most From the Enhancement and Switch Framework as a Customer or Partner - Tips from the ExpertsHow to proceed when adapting SAP development objects and how to use the Enhancement and Switch Framework best when you want to adapt a SAP application as a customer or partner? This blog gives you guidance on how to do this best and it explains you also why you should proceed this way by summarizing the main benefits of the new framework and its advantages over classic modification technology.