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

about BAPI ANF BADI

former_member192432
Participant
0 Likes
488

Hi experts,

What is BAPI'S AND BADI'S? give me information along with some example..

4 REPLIES 4
Read only

Former Member
0 Likes
446

Hi,

Bapi is used to create the Database Entries :

Running BAPI directly hits the Database..for eg PO is created by running Tcode ME21n and the changes are reflected in the ReleVANT TABLES..

LIKE ekko AND ekpo so on ..

But running BAPI is direct way..when u pass all the header and item details..

Whereas BADi is provided in the SAP code just like Customer Exits..

to adjust the User Requirement .

BAdi is Object Oriented..

BAPI (Business Application Programming Interface) :

BAPIis an API method of a business object which intern is a RFC enabled Function Module.

Business Objects are the Objects which has business sence associated to it. Ex. Sales Orders, Purchase Orders etc.

The Properties of BAPI are:

Every BAPI name should start with letters 'BAPI'.

It is an API method of a Business Object.

it does not contain a internal COMMIT statement in the Function Module.

It does not contain "CALL TRANSACTION" statements.

BAPI do not raise 'EXCEPTIONS'.

a RETURN structure is defined as an interface parameter of a BAPI which is used to log all the errors, warnings and the successful processes tha are triggered in the course of execution of a BAPI.

A successful execution of a BAPI requires the data to be commited and this process of performing a COMMIT is achieved by calling the BAPI_TRANSACTION_COMMIT' explicitly if there are no errors logged in the RETURN structure.

There are two types of BAPI's: Instance Dependent & Instance Independent.

BAPI provides an access to the SAP system for external applications to have the business data processed in the form of web services. When BAPI's are used to post the data in SAP system these are used as Function Modules.

for further information check following:

Go to the below link for BAPI.

http://help.sap.com/saphelp_nw04/helpdata/en/e0/9eb2370f9cbe68e10000009b38f8cf/frameset.htm

BAPI

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

http://www.sapgenie.com/abap/bapi/example.htm

http://help.sap.com/saphelp_46c/helpdata/en/9b/417f07ee2211d1ad14080009b0fb56/frameset.htm

http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html

http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html

http://techrepublic.com.com/5100-6329-1051160.html#

http://www.sap-img.com/bapi.htm

http://www.sap-img.com/abap/bapi-conventions.htm

http://www.sappoint.com/abap/bapiintro.pdf

http://www.sapgenie.com/abap/bapi/example.htm

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

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

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

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

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

BAPI Programming guide: -

http://help.sap.com/saphelp_nw04/helpdata/en/e0/9eb2370f9cbe68e10000009b38f8cf/frameset.htm

BAPI user guide: -

http://help.sap.com/saphelp_46c/helpdata/en/7e/5e115e4a1611d1894c0000e829fbbd/frameset.htm

BAPI STEP BY STEP PROCEDURE: -

http://www.sap-img.com/abap/bapi-step-by-step-guidance.htm

Example:-

http://www.erpgenie.com/abap/bapi/example.htm

PDF download: -

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/200dd1cc-589e-2910-98a9-bb2c48b7...

BADI

Business Add-Ins are a new SAP enhancement technique based on ABAP Objects.

Badi’s allow for a multi-level system landscape (SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like).

Business Add-Ins can be created at each level within such a system infrastructure

Some BADI can have multiple independent implementations which is much better for software deployment as several developers can implement the same BADI independently.

1} Identify the User Exit suitable for the requirement and that is available in the system:

Code SE18 is used to Identify the BADI available.

Look for the string 'CL_EXITHANDLER' in the standard program. This is a class which has a method 'GET_INSTANCE' which is used to trigger BADI's from the Standard Program. The interface parameter for this static method 'EXIT_NAME' is used to pass the BADI to the method.

Open Standard Program and do a global search 'CL_EXITHANDLER'.

SE18 > give the BADI name found through above search.

CUSTOMER_ADD_DATA > which has a method SAVE_DATA.

2} Implement the User Exit identified through above process.

T.Code SE19 is used to Implement BADI.

SE19 > give the implementation name > Give the Definition name as CUSTOMER_ADD_DATA and the Short Text.

Check these blogs 2 find a BADI:

How To Define a New BAdI Within the Enhancement Framework (Some Basics About the BAdI,BAdI Commands in ABAP,

When to Use a BAdI?)

/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series

How to implement a BAdI And How to Use a Filter

/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework

Introducing Business Add-Ins

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f3202186-0601-0010-6591-b832b1a0...

How to implement BAdi in Enhancement Framework

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0456c54-0901-0010-f0b3-cd765fb9...

Business Add-Ins

http://help.sap.com/saphelp_47x200/helpdata/en/ee/a1d548892b11d295d60000e82de14a/frameset.htm

BAdI: Customer-Defined Functions in the Formula Builder

http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm

Difference Between BADI and User Exits

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

To Use BADI - Business Add In you need to Understand ABAP OO Interface Concept

http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm

Regards,

Raj.

Read only

Former Member
0 Likes
446

BADI - is nothing but a user exit, if you need to hav ecustom logic in between the standard code you use this.

BAPI - Its a API exposed to the external system. So, the business objects / methods can be accessed from a external system.

BAPI Step by Step Example

http://www.erpgenie.com/abap/bapi/example.htm

BADI...

https://www.sdn.sap.com/irj/sdn/nw-development?rid=/webcontent/uuid/2342e1f3-0b01-0010-a186-fdd40488... [original link is broken]

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

Refer

https://forums.sdn.sap.com/click.jspa?searchID=11250111&messageID=4261887

Regards

Kiran Sure

Read only

Former Member
0 Likes
446

Hi chetan,

BAPI Programming Tips and Tricks

SAP created the Business Framework to allow the technical integration and exchange of business data among SAP components and between SAP and non-SAP components. Important components of the Business Framework are the Business Application Programming Interfaces (BAPIs), which represent visible interfaces at the component boundaries and whose properties serve to integrate these components.

The integration can include both components within a local network and components that are connected with one another through the Internet.

BAPIs allow integration at the business level, not the technical level. This provides for greater stability in the link, and independence from the underlying communication technology.

You can get all the standard SAP BAPI functions with the transactions code 'BAPI'.

More info on BAPI can be obtained from the below link.

http://sap-img.com/bapi.htm

BADI:

SAP provides multiple implementations of Business Add-Ins (BAdIs), which enhance the functions of the Configuration Control component.

In addition, there are multiple empty BAdIs available for implementing a customer-specific logic for special functions.

For more information on the BAdIs, see the Implementation Guide (IMG) for Plant Maintenance and Customer Service under Business Add-Ins.

More info on BADI can be obtained from the below link,

http://help.sap.com/saphelp_47x200/helpdata/en/06/d264a794636945b7b21f3ccaa3cb5b/frameset.htm

http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm

Pls reward if useful,

Thanks,

Sirisha.

Read only

former_member192432
Participant
0 Likes
446

thanks for reply