Skip to Content
Technical Articles
Author's profile photo Sumit Naik

Inconsistent BADI Behavior after deleting its implementation

Introduction 

One of the most commonly used enhancement techniques to encapsulate customer specific business requirement in SAP standard applications is Business Add-ins, but you will often see inconsistencies reported while renaming or deleting BADI implementations which are already in use.

The intent of this blog is to share a similar experience that we encountered while working on one of the custom requirements where we had to delete and recreate the BADI implementation.

Most of our developer community would be familiar with BADIs, but for those who are new to Business Add-ins can refer below SAP help to know more about them, before understanding the BADI’s inconsistencies that you can come across while working on projects.

Classical BADI

https://help.sap.com/saphelp_nw70ehp3/helpdata/en/ee/a1d548892b11d295d60000e82de14a/frameset.htm

New BADI

https://help.sap.com/saphelp_nw70ehp3/helpdata/en/8f/f2e540f8648431e10000000a1550b0/frameset.htm

Details with solution implemented

We had to delete and recreate a BADI implementation as certain client specific naming conventions and changes were requested, however after a successful deletion of a BADI implementation, its imported artefacts still existed in the system.

Due to this, the BADI implementation that was deleted was still referred to by a GET BADI call.

The newly created implementation was not called, even though the previous implementation was deleted.

This was caused because during the processing of BADI deletion, the run time tables were not treated correctly.

 

If any such symptom is observed in any landscape, then you can resolve this issue using any of the below approaches based on your need to regulate single or mass inconsistent entries.

For Single BADI generation

Execute the single BAdI using check report “BADI_RSANALYZE” with the given BAdI name and press the Activation icon at the end of the output to regenerate the BAdI and all its implementations

For Mass BADI generation

To detect and repair all inconsistent BADIs in your system, execute the included mass check report ENHS_BADI_ANALYZE_GENERATE_ALL.

To Conclude,

Many SAP notes are already available at the service market place to correct and regenerate BADI inconsistencies, so this blog was a contribution to share awareness and a similar experience that was encountered recently.

Also refer to the important notes below that can be helpful for application developers to handle similar issues while supporting various custom specific implementations using Business Add-ins.

Refer below SAP Note/KBA tile for any BADI inconsistencies.
1521903 Regenerate all inconsistent Badin’s
1561168 ENHS_BADI_ANALYZE_GENERATE_ALL does not find all errors
1589159 Dump: ASSERTION_FAILED in CL_BADI_DT_READER
1548839 Transport of Enhancement Spots cause Badi impl.

Assigned tags

      6 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Amit Shyamdasani
      Amit Shyamdasani

      I have been following your blogs from sometime now and I must say your blogs are to the point and very detailed.

      Please keep sharing. Thanks!

      Author's profile photo Jelena Perfiljeva
      Jelena Perfiljeva

      Thanks for sharing!

      Just FYI SAP Service Marketplace is now defunct. SAP Notes are accessible through SAP Support Portal or Support One Launchpad.

      Author's profile photo Sumit Naik
      Sumit Naik
      Blog Post Author

      Hi Jelena,

      Thanks for correcting, bad habit to refer to the outdated terms, but you are right, i meant SAP support portal, will also update it in the blog.

       

      Author's profile photo Jelena Perfiljeva
      Jelena Perfiljeva

      Well, at least you wrote "SAP Notes" and not "OSS Notes", so it's not to bad. 🙂

       

      Author's profile photo Sandra Rossi
      Sandra Rossi

      Thanks for the information and the references. I notice that the notes 1521903 and 1548839 refer explicitly to "kernel BAdIs" only (aka the "New BAdIs"), so I guess the "classic BAdIs" are not concerned.

      If people are interested by the reading of mentioned notes, here are the direct links:

      Author's profile photo Sumit Naik
      Sumit Naik
      Blog Post Author

      Thanks Sandra, you are absolutely right, This is more relevant for new BADI's,

      The references are more for Newbies who have not worked on BADI's and want to know more about it and understand the differences.