ABAPIntermediate
Enhancements
Master SAP enhancement techniques including implicit/explicit enhancements, enhancement spots, user exits, customer exits, BAdIs and clean-core extension thinking.
Overview
Master SAP enhancement techniques including implicit/explicit enhancements, enhancement spots, user exits, customer exits, BAdIs and clean-core extension thinking.
Lessons in this topic
- Explicit Enhancement Points and Enhancement SectionsUnderstand explicit enhancement options provided intentionally by SAP or custom frameworks.
- Enhancement Framework OverviewWhich technique for which scenario.
- Implicit vs Explicit Enhancement PointsWhere each is allowed and how they behave on upgrade.
- Enhancements in S/4HANA and Clean CoreUnderstand how enhancement thinking changes in S/4HANA and clean-core programs.
- How to Choose the Right Enhancement TechniqueLearn how to decide between user exit, customer exit, BAdI, explicit enhancement and implicit enhancement.
- Finding Enhancements Using DebuggingLearn practical ways to find enhancement options in real SAP transactions.
- Implicit Enhancements: Power and RiskUnderstand where implicit enhancements are available and why they must be used carefully.
- Enhancement Spots and ImplementationsLearn how enhancement spots group enhancement options and implementations.
- Switch-Controlled EnhancementsDesign enhancements that can be enabled, disabled and controlled safely.
- Performance and Safety in EnhancementsAvoid performance and update issues caused by poorly written enhancement logic.
Interview questions covered
- 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.
- 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?
- What are field exits, and why should they generally be treated as legacy knowledge rather than a preferred enhancement technique?
- 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.
- Differentiate a user exit from a customer exit. How would you choose the correct enhancement for a sales-order save requirement?
- Your CMOD project created yesterday is not being invoked. What are the most common reasons, and how would you systematically troubleshoot this issue?
- 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.
- 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?
- Explain the difference between classical customer enhancements and the modern Enhancement Framework. Why might SMOD/CMOD still be used in an ECC system?
- 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?
- What is the role of includes such as MV45AFZZ and RV60AFZZ, and how do they differ from CMOD customer exits?
- 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.
- How do you debug a CMOD enhancement that is not executing as expected? Provide a systematic debugging approach with specific tools and transaction codes.
- 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.
- Explain how to properly transport CMOD enhancements across SAP systems (DEV β QA β PROD). What are common transport issues and how do you prevent them?
- 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.
- 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?
- What are screen exits and menu exits in classical customer enhancements? Give one valid use case for each.
- Design a safe enhancement architecture for billing-document validation, derivation, logging and post-processing without assuming undocumented exit names.
- Explain how a function-module exit works. How do you verify the exact purpose of an EXIT_* function module before implementing it?