The enhancement is a concept of adding your own functionality to SAP's standard business applications without having to modify the original applications. To modify the standard SAP behavior as per customer requirements, we can use enhancement framework.
Types of enhancements in SAP
Initially SAP implemented enhancements in the form of User Exits and these are only available in SD module, user exits are implemented in the form of subroutines and hence are also called as FORM EXITS, User exits are empty subroutines that SAP developers have provided for you, you can add your own source code in the empty subroutines.
All user exits starts with the word USEREXIT.
These are one type of enhancements that are available in some specific programs, screens and menus within standard SAP Applications. These are Function Modules with a custom empty include program, you can add your own functionality in these include programs.
Customer Exits are available in all SAP modules, whereas user exits are only available in SD module.
All customer exits ( Function Modules) starts with CALL CUSTOMER word.