Difference between User Exits and Customer Exits

Introduction

Before discussing the difference between User Exits and Customer Exits in SAP ABAP, let’s have a short introduction of the two.

The enhancement allows the user to add their functionalities to the SAP standard applications without modifying the original application. Enhancement Framework is used to modify the standard SAP behavior as per the customer requirements. There are different ways to add custom functionalities in standard codes. User Exit and Customer Exit are among them.

User Exits

User exits are implemented in the form of subroutines and hence also called FORM EXITs. They are collected in Include and are attached to the SAP standard program. They are empty subroutines where one can fill their source code. They are the type of system enhancements originally developed for R/3 SD(Sales and Distribution). Technically they modify the existing code.

Syntax:

FORM USEREXIT_XXXX
INCLUDE ZZUSEREXIT_XXXX
ENDFORM.

Customer Exits

Customer exits act as hooks where one can hang their new functionalities. These are created for specific programs, screens, and menus within the standard applications. Technically, they are enhancements as they provide add-on functionality. They are used for all modules like MM, SD, FICO, PP etc.

There are 3 types of Customer Exits:

  1. Function Module Exits

    It is implemented as a call to the function module. It allows the developer to add code in include that is implemented in a function module at a specific location in an SAP application program.

Syntax:  CALL CUSTOMER-FUNCTION ‘910’

  1. Screen Exits

    It allows the customers to add fields to a screen in the SAP program via sub-screen which is called within standard screen’s flow logic.

Syntax:  CALL CUSTOMER-SUBSCREEN CUSTOM_SRC

  1. Menu Exits

    These are implemented by SAP and are reserved menu entries in the GUI interface. It allows adding functionalities to menus.

Syntax:   +CUS (additional item in GUI status)

Now, let’s have a look at their difference.

Difference between User Exits and Customer Exits

User Exits Customer Exits
It is implemented in the form of subroutine It is implemented for specific programs, screens, and menu within standard applications
It is technically a modification as existing code are changed It is technically an enhancement as this provides add-on functionality
It refers to SD module only It refers to all modules like MM, SD, FICO, PP etc.
All variables, structures, internal tables, etc. are exposed to be viewed and/or changed Only variables, structures, and tables that are passed into the function through the interface are restricted to be viewed and/or changed
It requires an access key It does not require any access key
Changes remain after the upgrade Changes are lost after upgrade
It gets automatically activated whenever the application/program is activated To implement this, a project is created in CMOD then activated

 

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.