Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

user exit

Former Member
0 Likes
445

Hi Experts,

Could any one tell me what are user exits, cudtomer exits and BAPI, BADI s.

what is the difference between them and in what context which of the above will be used.

Regards

Venkat

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
396

Hi Venkat,

Just look up at how the enhancement technique has evolved so far in SAP.

u2018User-Exitu2019 is one of the very first mechanisms provided by SAP to execute custom code in between the standard SAP control flow.

This is implemented as subroutine call (PERFORM xxx). A classical example for User-Exit is MV45AFZZ include in order processing module of SAP R/3.

u2018Customer-Exitu2019 is better than the user-exit, in the sense that it is implemented using Function Modules and so has a well defined parameter interface.

Also since the custom coding done as part of these customer-exits is located away from the original SAP code, the maintenance is easier than user-exits.

u2018Business Transaction Events' - SAP developed this enhancement technique in Release 4.0, allows enhancements to be reused. Business Transaction Events (BTE) allow you to attach additional components, in the form of a function module, for example, to the R/3

.In contrast to customer exits, BTEu2019s allow you to use an interface for multiple types of additional logic.

The u2018BADI-su2019 (Business Add-Ins), as they exist in pre NW04s releases are now called old classic-BADIu2019s. This was the first object-oriented way to enhance the ABAP system. This, to a certain extent, allows multiple implementations with limited filter support. The classic-BADIu2019s are implemented using ABAP Objects. Implemented from release 4.6A.

u2018Enhancement Frameworku2019 is the new paradigm to bring all enhancement techniques under one roof. The aim of the new enhancement concept as of Release 7.0 is to unify all possible ways of modifying or enhancing SAP products , which go beyond the scope of Customizing.

As u can see above the brief history of the enhancement techniques.

User Exits first were introduced in the SD module.This was the first enhancement technique provided in SAP .

Due to the disadvantages they faced in the user exits (data can be intrepreted erronously) ,then SAP introduced the concept of Customer Exits.

As these have an disadavantage of single implementations it introduced BTEs

The object oriente approach of above concepts was BADIs

Each exits have their uses .

Though each of it has its own advantages and disadvantages they exist in the system as enhancement points.

Based on the requirement we get we choose the require exit,

for ex in SD most of the time we go for user exits as it provides more options like that.......

Reward points if useful.

Cheers,

Swamy Kunche

4 REPLIES 4
Read only

Former Member
0 Likes
397

Hi Venkat,

Just look up at how the enhancement technique has evolved so far in SAP.

u2018User-Exitu2019 is one of the very first mechanisms provided by SAP to execute custom code in between the standard SAP control flow.

This is implemented as subroutine call (PERFORM xxx). A classical example for User-Exit is MV45AFZZ include in order processing module of SAP R/3.

u2018Customer-Exitu2019 is better than the user-exit, in the sense that it is implemented using Function Modules and so has a well defined parameter interface.

Also since the custom coding done as part of these customer-exits is located away from the original SAP code, the maintenance is easier than user-exits.

u2018Business Transaction Events' - SAP developed this enhancement technique in Release 4.0, allows enhancements to be reused. Business Transaction Events (BTE) allow you to attach additional components, in the form of a function module, for example, to the R/3

.In contrast to customer exits, BTEu2019s allow you to use an interface for multiple types of additional logic.

The u2018BADI-su2019 (Business Add-Ins), as they exist in pre NW04s releases are now called old classic-BADIu2019s. This was the first object-oriented way to enhance the ABAP system. This, to a certain extent, allows multiple implementations with limited filter support. The classic-BADIu2019s are implemented using ABAP Objects. Implemented from release 4.6A.

u2018Enhancement Frameworku2019 is the new paradigm to bring all enhancement techniques under one roof. The aim of the new enhancement concept as of Release 7.0 is to unify all possible ways of modifying or enhancing SAP products , which go beyond the scope of Customizing.

As u can see above the brief history of the enhancement techniques.

User Exits first were introduced in the SD module.This was the first enhancement technique provided in SAP .

Due to the disadvantages they faced in the user exits (data can be intrepreted erronously) ,then SAP introduced the concept of Customer Exits.

As these have an disadavantage of single implementations it introduced BTEs

The object oriente approach of above concepts was BADIs

Each exits have their uses .

Though each of it has its own advantages and disadvantages they exist in the system as enhancement points.

Based on the requirement we get we choose the require exit,

for ex in SD most of the time we go for user exits as it provides more options like that.......

Reward points if useful.

Cheers,

Swamy Kunche

Read only

Former Member
0 Likes
396

hi Venkata Ramana,

DIFFERENCE BETWEEN BADI'S AND USER EXITS:

Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.

As with customer exits two different views are available:

In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.

In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.

In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.

SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR.

The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time. In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example).

All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard. A single Business Add-In contains all of the interfaces necessary to implement a specific task.

The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects.

BAdI is Business Add-In, and it should take the place from the user-

exits (trx: SE18, SE19)

BAPI is Business Application Programming Interface and has the role as

communication plattform for developing applications, e.g. booking

material documents from flat files, see more in trx BAPI

BAPI - These are published programs which is used to upload data i

nto SAP system.

BADI - This is a program enhancement technique. SAP pr

ovides BADI openings in the standard programs. You need to search for the s

uitable BADI as ur requirement and then do the coding and plug in the progr

am.

USEREXIT - It is also a program enhancement technique. here also u

need to find suitable userexit and code in ur program.

The main diff

bet BADI and USEREXIT is that in USEREXIT u code in the standard SAP progra

m, hence any updation in the version of the standard program will lead to t

he loss of ur coding. But same is not the case of BADI. Here the code remai

ns outside the standard program.

2. Both BDC and BAPI will work. For a

njoi SAP transaction, prefer a BAPI over a BDC

hope its clear to you ,

Reward points if usefull,

Thanks,

Kalyan.

Read only

Former Member
0 Likes
396

thanx to all of you.