What is Customer Exits ?
Customer exits are
“hooks” provided by SAP within many standard programs, screens and menus on which customers may
“hang” custom functionality to meet business requirements. More on this in a moment…
Types of Customer Exits
There are three main types of customer exits:
- Function Module Exits
- Screen Exits
- Menu exits
Function Module Exit:It allows customer to add code via a function module at a specific location in an SAP application program
Syntax: CALL CUSTOMER-FUNCTION ’004′
Menu Exit: It allows customer to add items to a
pulldown menu in a standard SAP program. These items may be used to call
add-on programs or custom screens.
Format: +CUS ( additional item in GUI status )
Screen Exit: It allows customer to add fields to a
screen in an SAP program via a subscreen. The subscreen is called within
the standard screen’s flow logic.
Format: CALL CUSTOMER-SUBSCREEN CUSTSCR2
Examples of Customer Exits
Example of a Screen Exit:
In transaction CAT2 – Time Sheet Entry, HR wishes to include an
interactive acknowledgment that knowingly submitting incorrect data is
grounds for dismissal.
Example of a Menu Exit:
In transaction SE38 – ABAP Editor, the development team wishes to
include a menu link to transaction SE80 – Object Navigator for ease of
use.
BEFORE

AFTER
Example of a Function Module Exit:
The company wants the bank details of the Vendors in the Vendor creation
to be mandatory event .So it must flash a error message that ‘Please
Enter the bank details’
BEFORE
AFTER
Locating Customer Exits
In transaction
SMOD and look into the details-
Or in transaction
SE81 you can use the appropriate application area
Create a Customer Exit
To create a customer exit you first need to create a project in transaction
CMOD
Later you assign the Customer Exit to your project.
What is a USER EXIT?
User Exit serve the same purpose as Customer Exits but they are available only for the
SD module. The exit is implemented as a call to a Function Module. The code is written by the developer.
Well know User Exit in SD is
MV45AFZZ
- USEREXIT_FIELD_MODIFICATION – To modify screen attributes
- USEREXIT_SAVE_DOCUMENT – To perform operations when user hits Save
- USEREXIT_SAVE_DOCUMENT_PREPARE
- USEREXIT_MOVE_FIELD_TO_VBAK – When user header changes are moved to header work area.
- USEREXIT_MOVE_FIELD_TO_VBAP – When user item changes are moved to SAP item work area