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.
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’
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_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