How to Find Suitable
Enhancements in SAP Standard
Applications
User Exits, Customer Exits, Business Add-Ins. For more information, visit the ABAP homepage.
Summary
ABAP developers will often be asked if they can 'tweak' SAP standard applications, and therefore may need
to search for a suitable enhancement in the application in question. This article takes you through some
techniques which you can use to search for the different types of enhancement you may find.
Author: Christine Arundell
Company: SAP
Created on: 31st October 2011
Author Bio
Christine Arundell is a Senior Education Consultant with SAP UK. She teaches courses across the
entire ABAP curriculum.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BA - boc.sap.com | UAC - uac.sap.com
© 2011 SAP AG 1
How to Find Suitable Enhancements in SAP Standard Applications
Table of Contents
User Exits............................................................................................................................................................ 3
Customer Exits ................................................................................................................................................... 4
Classic BAdIs ...................................................................................................................................................... 5
New BAdIs .......................................................................................................................................................... 6
Explicit Enhancements ....................................................................................................................................... 7
Copyright............................................................................................................................................................. 9
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BA - boc.sap.com | UAC - uac.sap.com
© 2011 SAP AG 2
How to Find Suitable Enhancements in SAP Standard Applications
User Exits
User exits have been around for a long time, they were used very heavily in the SD area, and are in fact
implemented as SUBROUTINES. To find a User Exit in a program, search for the string PERFORM
USEREXIT in the ABAP program
At this stage we would then probably set some breakpoints to understand WHEN these user exits are
triggered – we need to make sure we put our ABAP code in the right place. Once we have determined the
correct one, we must implement the subroutine – double-click on the name of the subroutine and put your
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BA - boc.sap.com | UAC - uac.sap.com
© 2011 SAP AG 3
How to Find Suitable Enhancements in SAP Standard Applications
Customer Exits
Customer Exits were introduced after user exits, and are in fact implemented as FUNCTION MODULES. To
find a Customer Exit in a program, search for the string CALL CUSTOMER-FUNCTION in the ABAP
At this stage we would then probably set some breakpoints to understand WHEN these customer exits are
triggered – we need to make sure we put our ABAP code in the right place. Once we have determined the
correct one, we must implement the code – this is done in transaction CMOD. For full details, see the
BC425 training course.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BA - boc.sap.com | UAC - uac.sap.com
© 2011 SAP AG 4
How to Find Suitable Enhancements in SAP Standard Applications
Classic BAdIs
BADIs (Business Add-Ins) were introduced after customer exits, and are in fact implemented as METHODS.
To find a classic BADI in a program, search for the string CL_EXITHANDLER=>GET_INSTANCE in the
At this stage we would then probably set some breakpoints to understand WHEN these BADIs are triggered
– we need to make sure we put our ABAP code in the right place. Once we have determined the correct
one, we must implement the code – this is done in transaction SE19. For full details, see the BC425 training
course.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BA - boc.sap.com | UAC - uac.sap.com
© 2011 SAP AG 5
How to Find Suitable Enhancements in SAP Standard Applications
New BAdIs
As of NetWeaver 7.0, SAP have started to provide BADIs in a slightly different way. They are still
implemented as METHODS, but we locate them in a slightly different way. To find a new BADI in a program,
At this stage we would then probably set some breakpoints to understand WHEN these BADIs are triggered
– we need to make sure we put our ABAP code in the right place. Once we have determined the correct
one, we must implement the code – this is done by double-clicking on the name of the method. For full
details, see the BC427 training course.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BA - boc.sap.com | UAC - uac.sap.com
© 2011 SAP AG 6
How to Find Suitable Enhancements in SAP Standard Applications
Explicit Enhancements
As of NetWeaver 7.0, SAP have also started to provide Explicit Enhancements. To find an explicit
enhancement in a program, search for the string ENHANCEMENT-POINT in the ABAP program:
At this stage we would then probably set some breakpoints to understand WHEN these explicit enhancement
points are triggered – we need to make sure we put our ABAP code in the right place. Once we have
determined the correct one, we must implement the code – to do this we need to go into ‘enhancement
mode’ in the ABAP Editor. For full details, see the BC427 training course.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BA - boc.sap.com | UAC - uac.sap.com
© 2011 SAP AG 7
How to Find Suitable Enhancements in SAP Standard Applications
Related Content
For more information, visit the ABAP homepage
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BA - boc.sap.com | UAC - uac.sap.com
© 2011 SAP AG 8
How to Find Suitable Enhancements in SAP Standard Applications
Copyright
© Copyright 2011 SAP AG. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG.
The information contained herein may be changed without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.
Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.
IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9,
iSeries, pSeries, xSeries, zSeries, eServer, z/VM, z/OS, i5/OS, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server,
PowerVM, Power Architecture, POWER6+, POWER6, POWER5+, POWER5, POWER, OpenPower, PowerPC, BatchPipes,
BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex, MVS/ESA, AIX,
Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation.
Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.
Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems
Incorporated in the United States and/or other countries.
Oracle is a registered trademark of Oracle Corporation.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of
Citrix Systems, Inc.
HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts
Institute of Technology.
Java is a registered trademark of Oracle Corporation.
JavaScript is a registered trademark of Oracle Corporation, used under license for technology invented and implemented by Netscape.
SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP Business ByDesign, and other SAP products and services mentioned
herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries.
Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and
other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered
trademarks of Business Objects S.A. in the United States and in other countries. Business Objects is an SAP company.
All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document
serves informational purposes only. National product specifications may vary.
These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP
Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or
omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the
express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an
additional warranty.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BA - boc.sap.com | UAC - uac.sap.com
© 2011 SAP AG 9