SAP ABAP User Exits Interview Questions

Interviewers use user exits to test depth rather than coverage: the follow-up question is almost always "why does the system behave that way?", and that is where prepared answers usually run out.

Master classic SAP user exits in SD/MM flows with MV45AFZZ, MV50AFZ1, RV60AFZZ, debugging, safe save logic, performance control and S/4HANA migration thinking.

This page carries 12 reviewed SAP ABAP user exits interview questions, each with a complete written answer and no sign-in required. The set breaks down into 1 foundational, 6 mid-level and 5 advanced questions, so you can start at the top for a first interview or skip ahead to the scenario-based items for a senior round.

If you can handle every question here without hesitating, user exits is unlikely to be what costs you an SAP ABAP interview β€” and the same reasoning pattern transfers to the neighbouring topics linked at the bottom of this page.

12 User Exits questions with answers

easyUser Exits

1. Difference between USEREXIT_SAVE_DOCUMENT_PREPARE and USEREXIT_SAVE_DOCUMENT.

PREPARE runs before database update β€” use for validations that must stop the save. SAVE_DOCUMENT runs during the save β€” used to update related data with the transaction context.
mediumUser Exits

2. How do you confirm whether a user exit is triggered at the correct point?

I debug the exact business action, set a breakpoint in the exit routine, check the call stack, inspect available global structures and confirm whether the exit is called before or after the required data is available.
mediumUser Exits

3. User exit code is not being executed after transport. Why?

The include may not have been transported with the exit's code; the modification adjustment (SPAU) after upgrade may have overwritten it; or the SSCR key was not applied and code was reverted. Check version history in SE38.
mediumUser Exits

4. A validation in MV45AFZZ is blocking all order types, but it should run only for one order type. What is the issue?

The user exit is missing proper guard conditions. Logic inside MV45AFZZ can run for multiple sales orgs, order types and process flows. The validation should check values like VBAK-VKORG and VBAK-AUART before executing custom logic.
hardUser Exits

5. Why is SELECT inside LOOP dangerous in user exits?

User exits often run during critical transaction save or post processing. SELECT inside LOOP creates repeated database calls and can slow down VA01, VA02, VL01N, VL02N or billing jobs. The better design is to collect unique keys, select data once and use internal table lookup.
hardUser Exits

6. How would you handle user exits during S/4HANA conversion?

I would inventory all user exits, understand the business purpose, check whether the logic is still required, identify released BAdI or clean-core alternatives, extract reusable logic into service classes and perform regression testing for impacted processes.
mediumUser Exits

7. A delivery save validation works in VL02N but fails during background delivery processing. What would you check?

I would check whether the same exit is triggered in background, compare manual and background data availability, check delivery type and item category conditions, check background user authorization and avoid frontend-dependent or dialog-only logic.
mediumUser Exits

8. You must prevent saving sales orders without a purchase order reference. Where?

Add the check in USEREXIT_SAVE_DOCUMENT_PREPARE (or the SD BAdI equivalent) so an error message stops the save before COMMIT. Perform the check on VBAK/VBKD fields available at that point.
mediumUser Exits

9. What is the difference between USEREXIT_SAVE_DOCUMENT_PREPARE and USEREXIT_SAVE_DOCUMENT in sales order processing?

USEREXIT_SAVE_DOCUMENT_PREPARE is commonly used before save for validations and preparation logic. USEREXIT_SAVE_DOCUMENT is called later in the save process. The exact behavior should be confirmed by debugging because timing and available data matter.
hardUser Exits

10. How do you regression test a user exit before upgrade?

Create an ABAP Unit test around the service class the exit delegates to; run scripted transactions via eCATT/CBTA; add SPAU_ENH review to the release checklist; capture screen input via SM12/SM13 as regression cases.
hardUser Exits

11. How do you inventory user-exit usage before S/4HANA conversion?

Extract lists via SCI/ATC or reports like RSMODPRF, RSMODCHK, or use SUM tools. Categorise each by module, purpose, owner, and whether a released BAdI exists. Prioritise migration for exits without a BAdI equivalent.
hardUser Exits

12. User exit added to fix a data issue and now blocks legitimate orders. How do you respond?

Analyse via SM13/ST22 dumps, deactivate temporarily via transport (never manually), add tighter conditions to the check, add regression tests, and document root cause and fix for the change advisory board.

Related lesson

Classic User Exits in SD/MM

Related topics

Next practice step