Enhancements
ABAP Developmentintermediate

Enhancement Framework Overview

Which technique for which scenario.

Explanation

Classic user exits (INCLUDE ZXxxxx) still exist in modules like SD. Customer exits (SMOD) are function-module enhancements activated via CMOD projects. BAdIs are the OO successor. Enhancement spots (implicit/explicit) let you insert code inside standard programs. On S/4HANA new development should use new BAdIs and released enhancement options, avoiding modifications to keep Clean Core.

Code example

ABAP Code
" Implicit enhancement point inside a standard includeENHANCEMENT 1 zenh_check_credit.  IF is_customer-credit_limit < 0.    MESSAGE 'Blocked' TYPE 'E'.  ENDIF.ENDENHANCEMENT.

Real project scenario

A retail client added a credit check via implicit enhancement rather than modifying VA01 โ€” survived three upgrades untouched.

Common mistakes

Choosing modifications over enhancements; not naming enhancements per namespace; forgetting to transport the enhancement implementation together with the spot.

Best practices

Always try BAdI first, then enhancement point, then modification as last resort with SSCR key.

Interview angle

Difference between classic BAdI and new BAdI.