Beruflich Dokumente
Kultur Dokumente
of questions that you may encounter at interviews for SAP jobs. The idea is to have every post devoted to a particular SAP interview question.
Hopefully, our articles can help you in gaining advanced knowledge of SAP and acing your SAP job interview.
Our first article is intended for SAP functional consultants and it will provide some basic information about BADIs, BAPIs, and User Exists. We
are sure that most of SAP functional consultants have heard these terms and have an initial understanding of them but still there is a lot of
confusion about their purpose and the difference between them. So, let us get started.
What are BADI, BAPI, User Exits, and Customer Exits? What Is The
Difference Between Them?
Basically, all of them are programs and they enable us to extend the functionality of anSAP system in order to meet custom requirements of
business. It is a good idea to discuss them one by one and then make a comparison.
1/3
07/11/2014
User Exit
User Exit is an ABAP form that is called by SAP standard programs. It is identified with a three character code that tells the SAP system that a
custom chunk of code needs to be executed at a predefined point of a standard SAP program. The character codes look
like SXX or UXX where XX represents a two-digits number. If a code starts with S letter, it is a standard user exit delivered by SAP. If a code
starts with U letter, it is a custom user exit defined by a user. Inside a user exit it is possible to read and change almost any data (local or
global) from the host SAP program. Therefore, user exits give you a lot of flexibility but this flexibility comes at a price of the higher risk to make a
critical error that would lead to an ABAP dump or inconsistency in database records.
Customer Exit
Customer Exit is an ABAP function that is called by SAP standard programs. It serves the same purpose as User Exit: enabling users to add
their own functionality to the standard SAP transactions. There are several types of Customer Exits: Menu Exits, Screen Exits, Function
Module Exits, Field Exits. Unlike User Exits, Customer Exits are more restrictive in terms of what you can do with them because inside
a Customer Exit you can only access and manipulate the parameters specified with keywords import, export, changing, tables. At the same
time it is much safer to use Customer Exits than User Exits because the risk to break something or create inconsistent database entries is low.
2/3
07/11/2014
provided above. Nevertheless, let us elaborate a little bit. If you need to enhance the standard functionality of SAP, you should be looking
at BADI, User Exits, or Customer Exits. They all are created with the purpose of enabling a convenient plugging of new (custom) functions
in the standard SAP programs using predefined hooks. These three enhancement interfaces offer more or less similar capabilities but BADI is
currently the most advanced approach towards creating custom enhancements in the standard SAP functionality. On the other
hand, BAPI serves more general purpose and simply provides an interface for accessing data and processes inside an SAP system. One of the
most common applications of BAPI is to enable connections between SAP and non-SAP system.
http://sap-certification.info/badi-vs-bapi-vs-user-exits-vs-customer-exits/
3/3