2006 Jun 15 6:02 AM
Hi.
What is BADI and BAPI?. Where can we use these?
2006 Jun 15 6:04 AM
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.
Regards,
Ravi
Note : Please mark the helpful answers
2006 Jun 15 6:09 AM
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.
rgds,
Jothi.
2006 Jun 15 6:10 AM
Hi,
For information on BAdI's, you can take the standard SAP course "BC 425 - Enhancements and Modifications"
Here is a summary:
You can use the transaction SE18 to define a new BAdI definition which may be implemented by other developers later. It is not so challenging. Here is the roadmap:
A. BAdI Definition
1. SE18
2. Enter the name for the BAdI to be created in customer namespace and press "Create".
3. Enter a definition for your BAdI and on the interface tab enter a name for the BAdI interface. SAP proposes a name and it is pretty good. Meanwhile a BAdI class is also created which is not in our concern.
e.g for "ZTEST", SAP proposes "ZIF_EX_TEST" for the interface and "ZCL_EX_TEST" for the class.
4. Save your BAdI.
5. Double-click on the interface name. It will pass to a Class Builder session to make you implement your interface. If you are not familiar to the Class Builder; it's a bit like Function Builder and it will be easy to discover its procedure.
6. Save and activate your interface.
B. Calling your BAdI from an application program
1. Declare a reference variable with reference to the Business Add-In interface.
e.g. DATA exit_ref TYPE REF TO zif_ex_test.
2. Call the static method GET_INSTANCE of the service class CL_EXITHANDLER. This returns an instance of the required object.
e.g.
CALL METHOD CL_EXITHANDLER=>GET_INSTANCE
CHANGING instance = exit_ref .
3. After those two steps, you can now call all of the methods of the BAdI where it is required in your program. Make sure you specify the method interfaces correctly.
C. BAdI Implementations
1. SE19
2. Enter the name for the BAdI implementation to be created in customer namespace and press "Create".
3. It will request the BAdI definition name to which this implementation will be tied.
4. Enter a definition for your implementation and on the interface tab enter a name for the implementing class. Again SAP proposes a name and it is pretty good.
e.g for "ZIMPTEST", SAP proposes "ZCL_IM_IMPTEST".
5. Save your implementation.
6. To implement a method, just double-click on the method name and you will be taken to the Class Builder to write the code for it. Here you redefine the BAdI interface methods.
7. You must activate your implementation to make it executable. You can only activate or deactivate an implementation in its original system without modification. The activation or deactivation must be transported into subsequent systems
That's all. For further details, i.e. filter-dependence, multi-usage, menu nehancements etc... you can have a look at course materials of BC425 "Enhancements and Modifications".
-
BAPIs are function modules in a simple aspect. The importance of them is lied at their functionality. To inspect BAPIs and business objects use the transaction "BAPI".
BAPIs are taken as topics at several SAP courses.
Rgds,
Prakashsingh
2006 Jun 15 6:12 AM
Hi,
BADI - Business Add In's ..Go To SE18 T Code..to list of BADI...like a user exit, if you need to ecustom logic in between the standard code you use this.
In the Method you do coing according to ECustomer Req...
Where Filter would be used and BADI can be used for Multiple use..where user exist used only for particular project...
BAPI - Business Application programming Interface...
Its a API exposed to the external system. So, the business objects / methods can be accessed from a external system.
Go to SE37. and See BAPI_*..find list of BAPIs....
ALL BAPIS are Remote Enable Module...
Kindly Reward the points
Regards,
2006 Jun 15 6:25 AM
Hi ,
Please check the following links.
http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
http://www.sap-img.com/abap/how-to-find-bapi-for-particular-transaction-in-sap.htm
http://www.sapgenie.com/abap/bapi/index.htm
step by step BAPI eg
http://www.sapgenie.com/abap/bapi/example.htm
http://edocs.beasys.com/elink/adapter/R3bapv15/docs/r3bapug/cfgrfc.htm
BAPI conventions
http://www.sapgenie.com/abap/bapi/conventions.htm
A simple guides to BAPI
Foll is OOBADI practical example
http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
Please reward for the same.
2006 Jun 15 7:19 AM
Hi Osk,
Just refer the thread
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.
Reward points if helpful,
Regards,
Sumana
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |