SAP BAdI and Enhancement Interview Questions
Enhancement questions are how interviewers find out whether you extend SAP or fight it. The technique itself is rarely the hard part; the judgement is. Which extension point is the right one, how you found it, what happens to it at an upgrade, and whether the same requirement could have been met by configuration are the four things a strong answer covers.
This page gathers reviewed enhancement and BAdI interview questions with full written answers. They run from the basics β the difference between the classic exit techniques and the enhancement framework, filter and multiple-use behaviour, implicit versus explicit enhancement options β through to the questions that matter on an S/4HANA programme: released extension points, why modifications to standard objects are treated as a last resort, and how custom logic survives the next upgrade.
Because this area is where invented answers are easiest to spot, the questions here stay on mechanics and judgement rather than naming specific standard objects. If an interviewer asks for a concrete enhancement spot, the honest answer is how you would search for it in the system β and that path is covered below.
What interviewers actually probe
Technique selection
Expect to justify a choice, not list options: why a BAdI rather than an implicit enhancement, why an enhancement point rather than a copy of the standard program, and what you would do when no suitable hook exists.
How you found the hook
A very common practical question is how you locate an enhancement possibility in an unfamiliar standard program. The expected answer is a search method β call stack, the enhancement framework's own display, the definition and implementation views β not a memorised name.
Filters and multiple use
Filter-dependent and multiple-use behaviour comes up whenever a client has more than one company code, country or business unit implementing the same hook. Interviewers check whether you understand which implementations run and in what circumstances.
Upgrade and clean core
Every current enhancement round ends up here: what an upgrade does to your extension, why released APIs and documented extension points are preferred, and how you argue against a modification when a business user is pushing for one.
34 questions with full answers
Ordered from foundational to advanced. No sign-in required.
2. What are SMOD and CMOD, and what is the correct workflow for implementing a classical customer enhancement?
3. What are field exits, and why should they generally be treated as legacy knowledge rather than a preferred enhancement technique?
4. Differentiate a user exit from a customer exit. How would you choose the correct enhancement for a sales-order save requirement?
5. A colleague implemented a CMOD exit that directly modifies the VBAK table inside USEREXIT_SAVE_DOCUMENT. Explain why this is dangerous and describe the correct approach.
6. Describe the process for finding all available user exits and customer exits for a specific transaction like sales order creation (VA01). What tools and SMOD exploration techniques would you use?
7. What is the role of includes such as MV45AFZZ and RV60AFZZ, and how do they differ from CMOD customer exits?
8. How do you debug a CMOD enhancement that is not executing as expected? Provide a systematic debugging approach with specific tools and transaction codes.
9. Explain how to properly transport CMOD enhancements across SAP systems (DEV β QA β PROD). What are common transport issues and how do you prevent them?
10. You need to enhance a sales order process to validate custom business rules before saving. Which exit point would you use: USEREXIT_SAVE_DOCUMENT or USEREXIT_MOVE_FIELD_TO_VBAP? Justify your choice.
11. What are screen exits and menu exits in classical customer enhancements? Give one valid use case for each.
12. Explain how a function-module exit works. How do you verify the exact purpose of an EXIT_* function module before implementing it?
13. Walk through the complete process of creating a CMOD project for a sales order enhancement. Include project creation, exit assignment, implementation, and activation steps.
14. What is the difference between classic and new (Enhancement Framework) BAdIs?
15. A BAdI implementation is active but not getting triggered. What would you check?
16. How do you design a BAdI implementation for maintainability?
17. Why are released BAdIs important in S/4HANA clean-core strategy?
18. How do you find the correct BAdI to enhance a transaction?
19. What is the difference between BAdI definition and BAdI implementation?
20. A CMOD enhancement produces different results in TEST environment versus PRODUCTION. Both use same code version. What could cause this issue? Describe your complete diagnostic approach.
21. You are migrating from legacy ECC 6.0 with 30 CMOD enhancements to SAP S/4HANA. Develop a comprehensive strategy for assessing, planning, and executing the migration. What are the key technical challenges?
22. Your organization has 15 CMOD enhancement projects in production for various modules. Document a maintenance and monitoring strategy including: best practices for documentation, version control, and troubleshooting enhancements.
23. Your CMOD project created yesterday is not being invoked. What are the most common reasons, and how would you systematically troubleshoot this issue?
24. You have implemented 5 customer exits in production for order processing. Now a major upgrade is scheduled. How does the upgrade affect your CMOD enhancements? What precautions should you take?
25. What is your position on using Classical Enhancements (SMOD/CMOD) in modern ERP projects? Should organizations continue investing in CMOD knowledge? Provide a balanced perspective with specific recommendations.
26. Compare Classical Enhancements (SMOD/CMOD) with BADIs. When would you recommend SMOD/CMOD over BADIs in a new SAP S/4HANA project? Justify your answer.
27. Your CMOD enhancement includes complex database queries and BAPI calls. You're experiencing performance issues. How would you debug and optimize the exit performance? What are anti-patterns to avoid?
28. Design a safe enhancement architecture for billing-document validation, derivation, logging and post-processing without assuming undocumented exit names.
29. Explain the execution sequence when multiple customer exits and user exits are active for the same function. Can this create problems? Provide a real scenario.
30. Walk through a realistic CMOD enhancement scenario for purchase-order validation, from exit discovery through transport, without assuming a specific exit name.
31. Describe best practices for implementing and maintaining CMOD enhancements. Include naming conventions, documentation, error handling, and knowledge transfer strategies.
32. BAdI slows down document save by 200 ms. What do you do?
33. BAdI CHANGING parameter is not reflected in caller. Why?
34. How would you structure BAdI implementations for a large program?
Practise by experience level
The questions above are tagged by the experience levels they are normally asked at, so the same page works for a first interview and for a lead-developer round.
SAP BAdI and Enhancement Interview Questions FAQ
What is the difference between a BAdI and a classic user exit?
A classic user exit is a predefined hook the standard program calls, usually with a fixed signature and one implementation. A BAdI is an object-oriented extension point with a defined interface, which can support multiple implementations and filter values, and which is administered through the enhancement framework. The practical consequence interviewers look for is that a BAdI allows several independent implementations to coexist, and a classic exit generally does not.
What is the difference between implicit and explicit enhancement options?
Explicit options are places the original developer marked as extendable β enhancement points and sections. Implicit options exist automatically at defined positions such as the beginning and end of a form routine or a method. Implicit options give you reach where nothing was planned, which is exactly why they need justification: nothing guarantees the surrounding code stays the same at an upgrade.
How would you find the right enhancement point in a standard program?
By working from evidence in the system rather than memory: run the transaction and read the call stack at the moment the behaviour you want to change happens, then inspect the enhancement possibilities of the objects on that stack in the development environment. Being able to describe that search is the answer; naming a specific spot from memory is not required and inventing one is worse than saying you would search.
What does clean core mean for enhancements on S/4HANA?
It means preferring released, documented extension points and public APIs over changes that reach into standard implementation detail, keeping custom logic in its own objects, and accepting configuration where configuration can meet the requirement. The goal is that an upgrade does not require re-testing every extension by hand.
When is modifying a standard object ever acceptable?
As a last resort, when no configuration, extension point or released API can meet a genuine business requirement, and with the upgrade cost explicitly accepted by the people paying for it. Interviewers want to hear that the decision is documented and owned, not made quietly by a developer under deadline pressure.
Next practice step
Related SAP interview topics
ERP Climb is an independent educational platform and is not affiliated with SAP SE.