Dashboard
…
Getting Started With Blogs
Skip to end of banner
Go to start of banner
An Introduction to Enhancements and Modifications in SAP for Beginners
Skip to end of metadata
Created by Unknown User (j01tzp1) on Jul 25, 2011
Go to start of metadata
Introduction
Enhancements and modifications are inevitable in any implementation project. It means to enhance or add additional features to the standard SAP applications as per the client's requirement.
Normally, when we think of enhancements and modifications, the following aspects come in to picture.
- Customizing
- Modifications
- Enhancements
Customizing
Customizing includes the Development of Application Program from Scratch especially when the Standard SAP Solutions do not meet the Requirements of the Customer or it could also be defining Customer-Specific Configuration Items. They are Customer Specific.
Example: Z-Reports, Z-Function Modules etc and any other Customizing done through Implementation Guide (SPRO).
Modifications
Modifications include making Changes to the Standard SAP Applications to suit Business Needs of the Customer.
Example: Changing SAPMV45A using an Access Key or VOFM Routines.
However, this method is not recommended most of the times unless we are out of options to meet the Business Requirement.
Enhancements
The Enhancement Concept allows us to add our own Functionality to SAP’s Standard Business Applications with having to Modify the core Applications.
SAP Creates Customer Exits for Specific Programs, Screens and Menus.
These Exits act as Hooks. These exits do not contain any Functionality.
Not all of the Standard SAP Programs will have Exits.
Why Enhancements?
They do not affect Standard SAP source code.
The Customer Objects are Linked to Standard Applications but exist separately from SAP’s Standard Software Package.
They Do not Impact the Functionality during Updates.
Customer Objects’ Name ensures that they are not affected by any changes or the new Functionalities to the Standard Software Package when it comes to Upgrade to a Higher Version.
User Exits Vs Customer Exits
• User Exits – Implemented as Subroutines
• Customer-Exits – Implemented as Function Modules
Types of Enhancements
There are Several Types of Customer Exits. Each of these Exits act as Hooks where you can add your own Functionality in addition.
Menu Exits
Screen Exits
Function Module Exits
Field Exits
Menu Exits
These Exits are Helpful in adding Items to the Pull Down Menus in Standard SAP Applications.
These are Created by SAP by defining special Menu Items in the Menu Painter.
These Special Entries have Function Codes (SY-UCOMM) that begin with + (a Plus Sign).
Screen Exits
These Exits are Helpful in adding Customer-Specific Fields to the Screens in the Standard SAP Applications.
SAP Creates Screen Exits by Placing Special Sub Screen Areas on a Standard Screen and Calling a Custom Sub screen from the Standard screen’s Flow Logic.
Function Module Exits
These Exits add up additional Functions to Standard SAP Applications.
These are associated with both Menu & Screen Exits.
Function Modules are implemented as Calls to Customer Functions.
These Calls will have the Syntax: Call Customer-Function ‘001’.
Field Exits - Refer to SAP Note 29377
These Exits help us add our own Programming Logic for any Data Element in DDIC (Data Dictionary).
We can Implement / Activate Field Exits using the Standard SAP Program RSMODPRF and after Transporting this Field Exit to the Target System, we must run the Program RSMODFDG to activate the same in the Target System and Client.
From 4.6C onwards, SAP no longer supports Field Exits. Alternatively, lot of Flexibility has been given by SAP by means of BADIs, User Exits.
From Release 6.10 and after, the Profile Parameter abap/fieldexit must be Changed from 0 to 1. Transaction Code RZ11 and System must be Restarted for these changes to come into affect.
Limitations
User Exits
User Exits Cannot be Re-usable.
Will be overwritten during Upgrade.
Read / Change almost every Data Object which is defined Globally in the Program.
Very Easy to manipulate the Data which could result in Erroneous outcome.
Customer Exits
Concurrent Development is not possible.
Very Difficult to keep track if the Project is not Created.
The New Enhancement Framework
Components of Enhancement Framework
Enhancement Points
Enhancement Sections
Implicit & Explicit Enhancements
BADIs
Types of Enhancements
Function Group Enhancements
Class / Interface Enhancements
Source Code Plug Ins
Business Add-Ins
Business Add-Ins are similar to User Exits but they are implemented using ABAP Objects.
Based on Classes & Interfaces.
Classic BADIs & New BADIs
Classic BADIs are the ones which were Implemented Prior to Netweaver 7.0.
New BADIs are introduced along with Enhancement Framework and Switch Framework.
Business Add-Ins - How to Find out?
Class CL_EXIT_HANDLER
A Method Call CL_EXITHANDLER=>GET_INSTANCE returns the BADI Implementations which have been Called.
Performance Trace (ST05)
This Analyzing Technique is based on the Fact that all the BADIs are stored in SAP Tables. Turn the Table Buffer Trace On in ST05.
The Tables in which the BADIs are Stored are
SXS_INTER
SXC_EXIT
SXC_CLASS
SXC_ATTR
The above mentioned Tables are always accessed by two Views.
V_EXT_IMP
V_EXT_ACT
Finally, you can refer to my earlier blog which explains one of the ways / solutions in which I've used the concept of Enhancement Framework.
Hope this would be helpful.
enhancements
and
modifications
1 Comment
Former Member
nice explaination the concepts in breif.
but it musch better ot would be to get ideas if expalined in detaill. most likely the BADI concept.