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...
In this tutorial you will learn:
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'
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
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 )
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'
In transaction SMOD and look into the details-
Or in transaction SE81 you can use the appropriate application area
To create a customer exit you first need to create a project in transaction CMOD
Later you assign the Customer Exit to your project.
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