What is User Exits and Customer Exits in SAP ABAP

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'

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 )

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.

Examples of 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

Examples of Customer Exits

AFTER

Examples of 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

Examples of Customer Exits

AFTER

Examples of Customer Exits

Locating Customer Exits

In transaction SMOD and look into the details-

Locating Customer Exits

Or in transaction SE81 you can use the appropriate application area

Locating Customer Exits

Create a Customer Exit

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

Create a Customer Exit

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