‎2007 Oct 03 11:28 AM
Hello ABAP geeks
I am a CRM functional guy and have an idea about BADIs.My question is
if an ABAPer can write code to get standard SAP to behave in a custom friendly way, what is the need for a BADI in the programs ?
Thanks
Jessy
‎2007 Oct 03 11:31 AM
BADI stands for Business Add IN. They are oops version of user exits.
Check this link for more info.
http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
Regards
vasu
‎2007 Oct 03 11:34 AM
Hi Vasu
I know this and have gone through this.What I wanted to know is the benefit of using a BADI ?
‎2007 Oct 03 11:32 AM
go through this link
/message/1388480#1388480 [original link is broken]
http://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
Here is the best solution,
Follow the below steps to find out what all BADI's are called when you press any button in any transaction.
1) Goto se24 (Display class cl_exithandler)
2) Double click on the method GET_INSTANCE.
3) Put a break point at Line no.25 (CASE sy-subrc).
Now
4) Execute SAP standard transaction
5) Press the required button for which you need to write an exit logic, the execution will stop at the break point.
6) Check the values of variable 'exit_name', it will give you the BADI name called at that time.
7) This way you will find all the BADIs called on click of any button in any transaction
Please give me reward point..
Thanks
Murali Poli
‎2007 Oct 03 11:33 AM
<i>if an ABAPer can write code to get standard SAP to behave in a custom friendly way, what is the need for a BADI in the programs ?</i>
ABAPer can write code to get standard SAP to behave in a custom friendly way The above said only possible through user exits or BADI or Enhancements.
That is the Need of BADI in the Standard Programs. But your question is not clear . are you asking the use of BADI's in custom programs....
Regards
Vijay
‎2007 Oct 03 11:33 AM
Hi jessy,
There are two things one is user exit and the other is customer exits...U r talking about customer exits...
When we go for customer exits then we are overwriting the standard SAP functionality,when we go for userexits we are enhancing the SAP functionality..Like the userexits BADI'S also enhances SAP functionality,instead of overwriting like customer exits..
Plz refer the below link..
http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
Reward points if u find useful..
Regards,
Nagaraj
‎2007 Oct 03 11:38 AM
Hi,
1. BAdI object
a. With classic BAdIs, a BAdI object is created by calling a factory method, and referenced via a reference variable of the type of the BAdI interface.
b. With new BAdIs, a BAdI object is created via the ABAP statement GET BADIas a handle for the calls of BAdI methods, and referenced via a reference variable of the type of the BAdI. A BAdI object is an instance of an internal BAdI class, which otherwise is invisible to the outside.
2. Passing comparison values for the filter
a. With the classical BAdIs, the filter values are stored in a structure and passed with the call of the BAdI methods.
b. With the new BAdIs, the comparison values for the filters used to search for implementations are passed when the BAdI object is created with the GET BADIstatement.
There is no way of migrating the call of the factory method one-to-one into the ABAP statement, because GET BADI can also return an existing BAdI object, which is not possible with the factory method.
3. Calling BAdI methods
Passing comparison values for the filter
a. A classic BAdI can be called only once and the call positions are registered centrally.
b. With new BAdIs, multiple calls are possible and the call positions are not registered centrally.
For the above reasons, an automatic call migration is not possible.
Have a look at below link.
http://help.sap.com/saphelp_nw2004s/helpdata/en/ee/6f3b42ea85b26be10000000a155106/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/0e/4d3e42fc94aa04e10000000a1550b0/content.htm
I hope it helps.
Regards
Sudheer
‎2007 Oct 03 11:39 AM
Hi,
1. We can integrate self defining functions
2. We can also call BAPI methods in USer Exit
3. Based on OOPS concepts, can be extendable.
4. Multiple implementation possible
5.Since specific industries often require special functions BADI is useful.
6. Multi Level system landscape.
7. You can create definitions and implementations of Business Add-Ins at any level of the system landscape.
8. SAP guarantees the upward compatibility of all Business Add-In interfaces.
Reward if useful!