Application Development 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: 

BADI's & BAPI's

Former Member
0 Kudos

Hi,

Pl throw light on the following issues.

1) What is BADI's & BAPI's?

2) Where it is used & how the same need to be used?

3) What are the deciding factors for selecting BADI or BAPI or an user exit?

4) I understand that user exits can be used only once & the BADI's can be used in different functionalities. Am i right?

Thanks in advance.

Chan

4 REPLIES 4

Former Member
0 Kudos

hi,

BADIs are used to enhance the standard functionality according to the client requirement where as BAPI are used for uploading data from legacy to sap.BAPIS are advanced to BDCs and BADIs are advanced to user exits.

user exits can be implemented only once where as BADIs can be implemented any number of times.

reward points if useful,

siri

Former Member
0 Kudos

HI

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.

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

Former Member
0 Kudos

Hi Chandra,

BADI stands for Business Add-in. BADIu2019s are an enhancement concept which uses ABAP objects. Totally a object oriented method to enhance classes, interfaces, methods.

Links on BADI:

http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm

http://www.esnips.com/web/BAdI

http://www.allsaplinks.com/badi.html

http://www.saphelp.com/SAP_Technical.htm

BAPI stands for Business API(Application Program Interface).

A BAPI is remotely enabled function module ie it can be invoked from remote programs like standalone JAVA programs, web interface etc..

You can make your function module remotely enabled in attributes of Function module but

A BAPI are standard SAP function modules provided by SAP for remote access

Check this link on bapi:

http://help.sap.com/saphelp_nw04/helpdata/en/7e/5e114a4a1611d1894c0000e829fbbd/frameset.htm

BAPI Programming Guide

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf

BAPI User Guide

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf

Difference between BADI and User Exit:

http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm

Hope this helps you.

Regards,

Chandra Sekhar

Former Member
0 Kudos

The question is answered