Enhancement Framework: Olivia Suarez
Enhancement Framework: Olivia Suarez
Olivia Suarez
Agenda
• Overview
• User Exits
• Customer Exits
• Enhancement Technologies
– Source code enhancement
– Function group enhancement
– Class enhancement
– BADI
• Switch Framework
Enhancement
• Customizing - defining system behavior through standard SAP
provided mechanism without coding
• Enhancement - adding custom code at strategic hook positions
provided by SAP
• Modification - modifying SAP supplied code directly – often
called Core-Mod
• Enhancement Types:
– Program Exit -> to implement additional or alternative functions
– Menu Exit -> to include an additional menu entry with customer functions
in an SAP screen
– Screen Exit -> to include additional fields in an SAP screen
User Exit
• ‘User-Exit’ is one of the very first mechanisms provided by
SAP to execute custom code in between the standard SAP
control flow.
Customer Exit
• ‘Customer-Exit’ is better than the user-exit, in the sense
that it is implemented using Function Modules and so has a
well defined parameter interface.
Source Code Enhancement
• This is to be used whenever enhancement needs to be
incorporated directly into the ABAP source code. This
technology is also called as Source Code Plug-In.
– Implicit enhancement option -> placed at certain points in the SAP
program and they are not explicitly provided by SAP Development
– Explicit enhancement option -> provided by SAP Development
1.
2.
Steps for Defining BADI (cont’d)
3.
4.
5.
BADI
Steps for Creating a BADI Implmentation (SE19):
1. Double click on Implementation. Enter the Enhancement
Name.
2. Enter the name and description of the implementation. Press
enter.
3. Double click on the method name. Write the processing code.
4. Save and Activate.
Steps for Creating a BADI Implementation
1.
2.
Steps for Creating a BADI Implementation (cont’)
3.
BADI
• Multiple-Use BADI
Any number of Implementations can be created for a
multiple-use BADI. There can be more than one active
implementations of such BADI.
– Can Use Importing as well as Changing Parameters
– Order in which BADI implementations are called cannot be
controlled technically.
– Chances that changing parameter of one implementation can
be overwritten by other implementations.
BADI
• Filter-Dependent BADI
– Implementation can differ based on the filter value.
– An Implementation of BADI Definition should exist for
each filter value.
– More than one Filter value can refer to same
implementation.
Switch Framework
• Switch Framework is used to create switches and to assign
packages, screen elements and menu entries to them.
Business functions are used to group these switches.
• Transaction SFW5 is used to activate and deactivate
business functions.
• Switch Framework is also used to activate and deactivate
enhancement implementations
Switch Framework
Switch Framework
Creating, assigning, activating/deactivating Switch:
1. Define a switch (SFW1)
Switch Framework
Creating, assigning, activating/deactivating Switch:
2. Assign packages to a switch (SFW1)
Switch Framework
Creating, assigning, activating/deactivating Switch:
3. Define a business function (SFW2)
Switch Framework
Creating, assigning, activating/deactivating Switch:
4. Assign switch to a business function (SFW2)
Switch Framework
Creating, assigning, activating/deactivating Switch:
5. Activate/deactivate business function (SFW5)
Other References
• To find User Exits and Customer Exits
Adobe Acrobat
Document
• To find BADIs
Microsoft Office
Word Document
Thank you
The End.