Inconsistent BADI Behavior after deleting its implementation
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.
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.
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.