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

diff between badis and enhancements

Former Member
0 Likes
686

what is the difference between bad i's and enhancements?

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
659

Enhancments are way of enhancing the standard SAP logic by writing custom code.

BADI's are one way implementing the enhancements.

User Exits are other way of doing the same.

Regards,

Ravi

what is the difference between bad i's and enhancements?

4 REPLIES 4
Read only

Former Member
0 Likes
659

Hi ,

BADI is just an object-oriented version of user-exit. Instead of entering program code into some function module (as in customer-exit), you define some class which has to implement predefined methods and those methods are fired at predefined points just like an old user-exit. Some BADI can have multiple independent implementations which is much better for software deployment as several developers can implement the same BADI independently.

Difference between BADI 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.

http://help.sap.com/saphelp_nw2004s/helpdata/en/8f/f2e540f8648431e10000000a1550b0/frameset.htm

Reward points if this Helps.

Manish

Read only

Former Member
0 Likes
660

Enhancments are way of enhancing the standard SAP logic by writing custom code.

BADI's are one way implementing the enhancements.

User Exits are other way of doing the same.

Regards,

Ravi

Read only

Former Member
0 Likes
659

Hi Sunil,

1. BADI's can be used any number of times, where as USER-EXITS can be used only one time.

Example: if your assigning a USER-EXIT to a project in (CMOD), then you can not assign the same to other project.

2. User exit implemented using function module and include (old concept) on the other hand, BADI is using class-object concept.

Regards,

Ferry Lianto

Read only

Former Member
0 Likes
659

Hi Sunil,

If you look in the forum you will find other threads with the same topic.

Regrads,

Eric