Skip to Content
Author's profile photo V S BHARGAV MYLAVARAPU

How to find BAdIs with a Function Module

Hi All,

After seeing a Lot of questions on Identifying BADI. Here I would like to give a simple and easy method to Identify a BADI.

Many people was not aware of Object Oriented Programming as they wish to succeed in Procedural programming only.

So they prefer not to search a BADI using commonly know method CL_EXITHANDLER and GET_INSTANCE.

There is one more way to identify the BADIs in a simple way

Using the Function Module SXV_GET_CLIF_BY_NAME.

How to use this Function Module to Identify a BADI for a Transaction.

Step 1. Go to SE37 and display the Function Module SXV_GET_CLIF_BY_NAME.

Step 2. Put a break point at the ENDFUNCTION of the Above mentioned Function Module.

Step 3. Run the Transaction for which you want to search a BADI.

Note: For every operation the Code Breaks and Function Module return some values in its Parameters.

In the Parameter CLIF and NAME. you will get the BADI or Exit name.

Now the question is how to identify whether it is a BADI or Exit. Answer is, Parameter PREFIX of the Function Module.

If this is CL_EX then it is a BADI else it is a Exit. Example is shown in the below Screen shot. A BADI for Transaction FPP2 when you click on SAVE.

IMG.jpg

Hope this document helps Other people who dont know this method of finding a BADI.

Regards,

V S BHARGAV.

Assigned Tags

      52 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Chaudhury Sourya Prakash Dash
      Chaudhury Sourya Prakash Dash

      Very usefull and easy way.

      Author's profile photo Sijin Chandran
      Sijin Chandran

      Hello Venkat ,

      Very thanks for this useful document.

      Till now I was aware of CL_EXITHANDLER ( setting Breakpoint ) technique only.

      This will definitely be an added advantage for sure.

      Author's profile photo V S BHARGAV MYLAVARAPU
      V S BHARGAV MYLAVARAPU
      Blog Post Author

      Thanks Sijin.. Hope you will have fun with this...

      Author's profile photo Sijin Chandran
      Sijin Chandran

      Definitely I will give this a try, the next time I need to deal with BADIs. 🙂

      Author's profile photo Kesavadas Thekkillath
      Kesavadas Thekkillath

      Hi Venkat,

      Though this is a known way to find the badi, some of them will not be aware of it as said above.

      It would be nice if the word "Identify" is changed to "Find" in the subject line so that the search function will hit this document easily 😉

      Author's profile photo V S BHARGAV MYLAVARAPU
      V S BHARGAV MYLAVARAPU
      Blog Post Author

      Ok Cool.

      I agree, Thanks for the Comment.

      Author's profile photo Ashwin Kumar Chitram
      Ashwin Kumar Chitram

      Hi Venkat,

      I dint know of this method to find the BADI, very useful !

      Author's profile photo V S BHARGAV MYLAVARAPU
      V S BHARGAV MYLAVARAPU
      Blog Post Author

      Thanks Ashwin.. Have fun then... 🙂

      Author's profile photo Sijin Chandran
      Sijin Chandran

      Hello Venkat ,

      For a least experienced consultants like me this technique is really new and an added advantage.

      Thaks again 🙂

      Author's profile photo Former Member
      Former Member

      HI Venkat,

      Very useful document,easiest way to find out the BADI.

      Many Thanks .

      Thanks

      Tousif

      Author's profile photo Venu Madhava Raju
      Venu Madhava Raju

      Hi Venkat,

      This is a very new concept that i came to know from you. Thanks for improving the nowledge by 1.

      Author's profile photo Former Member
      Former Member

      Nice document.

      Author's profile photo V S BHARGAV MYLAVARAPU
      V S BHARGAV MYLAVARAPU
      Blog Post Author

      Thanks Ravi,

      This is the one easiest way out of 6 Methods in finding a BADI which I know.

      Hope this helps everyone. Thank you 🙂

      Author's profile photo Former Member
      Former Member

      What are the six methods. can u just name them.

      I guess most of us know only one method i.e

      By using the clas CL_EXITHANDLER and putting break-point in it.

      Author's profile photo V S BHARGAV MYLAVARAPU
      V S BHARGAV MYLAVARAPU
      Blog Post Author

      I Will submit in a document and let you know.

      I hope that will be useful for everyone.

      Thanks ,

      Venkat Sesha

      Author's profile photo Former Member
      Former Member

      Hi  Venkat,

      I have implemented enhancement for customer additional fields, refering your explanation given above;  very useful information.

      Narayan

      Author's profile photo V S BHARGAV MYLAVARAPU
      V S BHARGAV MYLAVARAPU
      Blog Post Author

      Thanks Narayan Pujar..

      Good to know that my Document got 300+ Views till now 🙂

      Its cool that this document will be usefull for many people like you. 😎

      Author's profile photo Maverick Manoj
      Maverick Manoj

      Nice document... 🙂
      I hope beginners will go through this , its the easiest way to find a BADI..
      I think this FM is called inside that cl_exithandler get instance or get class by interface... right ?

      Author's profile photo V S BHARGAV MYLAVARAPU
      V S BHARGAV MYLAVARAPU
      Blog Post Author

      Yep, Maverick. That is true.. 😉

      But you know, People prefer this way rather than EXITHANDLER. What Say ?

      Author's profile photo Maverick Manoj
      Maverick Manoj

      surely they would even  i would.... 🙂
      its easier ...

      Author's profile photo Mahesh kumar
      Mahesh kumar

      Excellent document its a new way to find a badi  thanks for sharing this doc.

      Regards

      Mahesh 🙂

      Author's profile photo V S BHARGAV MYLAVARAPU
      V S BHARGAV MYLAVARAPU
      Blog Post Author

      Thanks Mahesh, Good to know that my document is useful for many. We have a Bookmark and Like options available... 😉

      Author's profile photo Mahesh kumar
      Mahesh kumar

      Hmm.. i understand i done my job 😉 🙂 .

      Reg

      Mahesh 🙂

      Author's profile photo Former Member
      Former Member

      Thanks you. This is really use full for me.

      Author's profile photo V S BHARGAV MYLAVARAPU
      V S BHARGAV MYLAVARAPU
      Blog Post Author
      Author's profile photo Former Member
      Former Member

      Excellent document for finding the BADI 🙂

      Author's profile photo Former Member
      Former Member

      Hello Mr Bhargav

      thanks for this,So exceptional way to find a badi, really so useful.

      Author's profile photo Former Member
      Former Member

      Hi Bhargav,

      Easy way to find BADI...thanks for sharing this information.

      Author's profile photo Former Member
      Former Member

      ...another secret is revealed, god job and many thanks!

      Author's profile photo V S BHARGAV MYLAVARAPU
      V S BHARGAV MYLAVARAPU
      Blog Post Author

      Oops its a Secret.. Keep calm... 😛

      Author's profile photo Former Member
      Former Member

      Easy way to find a BADI. Thanks for sharing.

      Author's profile photo Former Member
      Former Member

      Thankyou V S BHARGAV MYLAVARAPU.

      Apparently when i tried for ME22N, If we do it class exithandler & instance way, it will give you BAdI "ME_PROCESS_PO_CUST" but through this method, it returns "ME_PROCESS_PO". While creating implementation for "ME_PROCESS_PO" in SE19, it gives an error "BAdI definition ME_PROCESS_PO is only provided for internal SAP.". Do we have to do anything additional to this to get "ME_PROCESS_PO_CUST"?

      If i could know how to get the exact BAdI here, this truly is a time saving and very helpful way.

      Regards,

      KS

      Author's profile photo V S BHARGAV MYLAVARAPU
      V S BHARGAV MYLAVARAPU
      Blog Post Author

      Hi KS,

      For every operation you perform on the Page. It will give the Badi. Right now my system is down and I cannot tell the Exact one. Lets continue our discussion in the Thread http://scn.sap.com/thread/3406117. Thanks for your comments. Please do rate the document.

      Author's profile photo Abhay Singh
      Abhay Singh

      Really its a very useful document..

      Author's profile photo Priyaranjan Gupta
      Priyaranjan Gupta

      good documnet..one single fm to identify both badi as well as exits..

      Author's profile photo Former Member
      Former Member

      Its very useful to find BAdi and  EXIT in  transaction code.

      Author's profile photo HIMANSHU GUPTA
      HIMANSHU GUPTA

      Hi V S,

      I didn't know this method to find BADI, so, very thankyou to you and really it's very useful document....

      Many Thanks/ Himanshu Gupta

      Author's profile photo Former Member
      Former Member

      Very Informative...Many Thanks.

      Best Regards,

      Naresh K.

      Author's profile photo V S BHARGAV MYLAVARAPU
      V S BHARGAV MYLAVARAPU
      Blog Post Author

      Thanks

      Author's profile photo Shankarnarayan K
      Shankarnarayan K

      Hi Bhargav,

      Good one. Not sure why this method to find a BADI is relatively unknown and the CL_EXITHANDLER method of finding a BADI is world renowned . Can you let us know the other methods also ?

      BR,

      Shankar.

      Author's profile photo V S BHARGAV MYLAVARAPU
      V S BHARGAV MYLAVARAPU
      Blog Post Author

      Hi Shankar,

      there are 6 methods that I know.

      1. CL_EXIT_HANDLER

      2. SXV_GET_CLIF_BY_NAME

      3. SPRO

      4. SE18 F4  with Package

      5. SE18 F4 with Application Component

      6. Funky way, search with short description on SE18

      Please rate the document, this encourages to post more like this.

      Author's profile photo Former Member
      Former Member

      Hello Mr.Bhargav

      Would u plz through light on these methods of finding BAdi & EXITs?

      Satendra Singh Sikarwar

      Author's profile photo Shankarnarayan K
      Shankarnarayan K

      Rated Bharagav 🙂

      BR,

      Shankar.

      Author's profile photo V S BHARGAV MYLAVARAPU
      V S BHARGAV MYLAVARAPU
      Blog Post Author

      Thank you Shankarnarayan

      Author's profile photo Santosh kotagi
      Santosh kotagi

      Very much useful information..

      Thanks
      Santosh

      Author's profile photo V S BHARGAV MYLAVARAPU
      V S BHARGAV MYLAVARAPU
      Blog Post Author

      Thank you and Please Rate the document then.

      Author's profile photo Former Member
      Former Member

      Hi Bhargav,

      Really its very useful.

      Regards
      Ashok

      Author's profile photo Raghavendran Rama Rao
      Raghavendran Rama Rao

      super.. u r the best abaper i have come across

      Author's profile photo Satish Kumar Balasubramanian
      Satish Kumar Balasubramanian

      Thanks Bhargav really useful document. 🙂

      Have you created any document on how to find BADI using the six steps below,

      1. CL_EXIT_HANDLER

      2. SXV_GET_CLIF_BY_NAME

      3. SPRO

      4. SE18 F4  with Package

      5. SE18 F4 with Application Component

      6. Funky way, search with short description on SE18.

      Please let me know.

      thanks,

      Satish

      Author's profile photo Former Member
      Former Member

      Nice One

      Author's profile photo Kiran Kumar Vadrevu
      Kiran Kumar Vadrevu

      Nice Document...

      Author's profile photo Atul Salgare
      Atul Salgare

      Excellent Bhargav,

      i really appreciate the technique which u have dicussed with us ,thaks a lot

       

      Thanks & Regards.

      Atul Salgare