Enhancement Framework

Agenda
Introduction
Components Enhancement Options •Explicit Enhancement Option •Implicit Enhancement Option Enhancement Spots Enhancement Implementations

Enhancement Framework.ppt

Introduction to Enhancement Framework .

-4- Enhancement Framework. only through customer-exits) BADI’s: It exist in pre NW04s releases are now called old classicBADI’s.ppt .Current options available for Enhancements User-Exits: The very first mechanisms provided by SAP to execute custom code in between the standard SAP control flow. This was the first object-oriented way to enhance the ABAP system. This. allows multiple implementations with limited filter support. Customer Exits: It is implemented using Function Modules and so has a well defined parameter interface. This is implemented as subroutine call (PERFORM xxx). the maintenance is easier than user-exits. The classic-BADI’s are implemented using ABAP Objects.6. A classical example for User-Exit is MV45AFZZ include in order processing module of SAP R/3. to a certain extent. (Before 4. Also since the custom coding done as part of these customer-exits is located away from the original SAP code.

ppt .Evolutions of SAP Enhancement Technology -5- Enhancement Framework.

ppt .Drawbacks of previous Enhancement Techniques  No support for multiple users or projects  No support for parallel developments  Will appear much more often in adjustment tools  Higher adjustment effort (during upgrade & SP import) -6- Enhancement Framework.

Released from SAP NetWeaver 7.  Enables the integration of different concepts for modifying and enhancing development objects.What is Enhancement Framework  New enhancement concept in SAP.ppt .0  Replace or incorporate the existing enhancement and modification concepts (solve the issues with the previous concepts).  The enhancements of the enhancement concept can be switched on/off using the Switch Framework. -7Enhancement Framework.

 Enhancement Spots .The enhancement implementations manage the enhancements of the enhancement options. Enhancement Framework.Are positions in Repository objects where enhancements can be made.Different components of the Enhancement Framework The enhancement framework consists of three higher level components :  Enhancement Option . These options are either explicitly defined (by the developer) or exist implicitly. Enhancement spots carry information about the positions at which enhancement options were created.The enhancement spots are used to manage explicit enhancement options. both explicitly and implicitly.ppt -8- .  Enhancement Implementation .

ppt .Enhancement Options -9Enhancement Framework.

ppt – Methods of classes .Types of Enhancement Options Enhancement options can be classified into two categories : Explicit Enhancement Option  Are defined explicitly by the developer. Implicit Enhancement Option  Always exist and do not have to specified by developer  Managed using enhancement spots  Enhanced using enhancement implementations  Are of two types : – Source code plug-in – Kernel BADI (or new BADI)  No enhancement spots are needed  Enhanced using Enhancement Implementations  Are of three types : – Specific options in programs – Parameter interfaces of function modules Enhancement Framework.10 - .

ppt .11 Enhancement Framework.Enhancement Spots .

 A composite enhancement spot can hold multiple simple enhancement spots.ppt .  Spots are always provided by the application developer  No spots are required for implicit enhancement options .12 - Enhancement Framework.What are Enhancement Spots  Enhancement spots are created to manage explicit enhancement options  An explicit enhancement option is always referenced using spot name and option name  An enhancement spot can contain multiple enhancement options  An enhancement option can be assigned to multiple enhancement spots.

Enhancement Implementation .13 - Enhancement Framework.ppt .

14 - Enhancement Framework.  An enhancement implementation element for a explicit enhancement option must be associated with an enhancement spot.What is an Enhancement Implementation  Used to manage enhancements  Enhancement Implementations are created by the customer  An enhancement can/must be a part of only one enhancement implementation  An enhancement implementation can contain multiple enhancements  An individual enhancement inside an implementation is known as an enhancement implementation element. .  A composite enhancement option can contain multiple simple enhancement options.ppt .

Representation of Spot and Implementation .ppt .15 - Enhancement Framework.

16 Enhancement Framework.ppt .Explicit Options .

ppt .  Enhancement – Section • Can be static or dynamic • Used to modify / replace a certain section of code. Enhancement Framework.Source Code Plug-in The following enhancement options are available in the source code:  Enhancement . Can belong to multiple enhancement spots Multiple active implementations possible and will be executed with no guarantee in the order of execution.17 - . • Can belong to multiple enhancement spots. • Implementation gets executed and the original code does not gets executed. Used as a place holder to place additional coding. Only one is active at a time.Point • • • • Can be static (data declaration) or dynamic (coding).

– Use the button to leave the enhancement mode.18 - Enhancement Framework. .in – Editor Modes  Creating enhancement options – Use the Change mode for creating enhancement points or sections – Use the button to switch between change  display modes  Implementing enhancement options – Use the Enhancement mode to create implementations – Use the button to get into the enhancement mode.Source Code Plug .ppt .

ppt .Demos for Explicit Enhancement Options Demo for Enhancement Point Demo for Enhancement Section: •Before Implementation •After Implementation .19 - Enhancement Framework.

ppt .20 - .BADI Enhancement Option  What are BADIs ? – Business Add – Ins – Is an anticipated point of exception – these points act like sockets and exist in the original coding – has well defined interface in contrast to source code plug-ins and is more stable to changes in the original code  Kernel BADIs – New Features – Can be switched by switch framework – Integrated directly in the ABAP language runtime – Improved filter support (non-character filter types) – Enable Reusable Implementations – Stateful BADI – Control lifetime of Implementations – BADI-Context Enhancement Framework.

Comparison The new BADI has several advantages over the classic BADIs Classic BADI New BADI .21 - Enhancement Framework.BADI Enhancement Option .ppt .

Demo for Kernel BADI •Creation of Enhancement Spot fro BADI •Creation of Enhancement Implementation for BADI •Call of the BADI from the program .22 - Enhancement Framework.ppt .

23 Enhancement Framework.Implicit Options .ppt .

Function)  At the end of a procedure  At the end of parameter set of a method (Changing. Exporting)  Demo for Implicit Enhancement of Subroutine Enhancement Framework.Source code (Specified points) options : These are enhancement options at predefined points in a program :  At the end of an Include  At the end of a private. . Importing.24 - .ppt Implicit enhancement options always exist and no enhancement spot is assigned to them. Method. public or a static section of a class  At the end of an implementation for a class  At the end of an interface definition  At the end of structure definitions  At the start of a procedure (Subroutine.

 Demo for Parameter enhancement option for Function Module .ppt .  The added parameters can be utilized by making other enhancement implementations in the source code.25 - Enhancement Framework.Parameter Enhancement Option  The parameter enhancement option provides an option to add new parameters to a function module interface  The parameters are always optional.

Class Enhancement Option Using the class enhancement options you can :  Add new methods to a class / interface  Add new attributes (Public / Private / Protected)  Add pre or post methods to an existing method  Demo for Class Enhancement Option .ppt .26 - Enhancement Framework.

Copyright © 2008 Deloitte Development LLC. All rights reserved. .

Sign up to vote on this title
UsefulNot useful