What is User and Customer Exits

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:

  1. Function Module Exits
  2. Screen Exits
  3. 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.

What is User and Customer Exits

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

What is User and Customer Exits

AFTER

What is User and Customer Exits

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

What is User and Customer Exits

AFTER

What is User and Customer Exits

Locating Customer Exits
In transaction SMOD and look into the details-

What is User and Customer Exits

Or in transaction SE81 you can use the appropriate application area

What is User and Customer Exits

Create a Customer Exit
To create a customer exit you first need to create a project in transaction CMOD

What is User and Customer Exits

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