Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

difference between customer exit and user exit

shishupalreddy
Active Contributor
0 Likes
1,240

Hi,

I want to know the clear difference between user exit and customer exit .

thanks regards,

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
821

Hi,

Previously there were only user-exits. Then came the concept of customer-exits.

User exits were nothing but subroutines called from standard programs.

The FORM defintion was placed inside an empty include file.

So It was called everytime and we need to modify the standard include .

Then it came with concept of customer-exit. It consists of calling a FUNCTION MODULE which is called only if the user-exit is activated (other wise not called)

In this case, the code in put inside a pre-defined Z include.

Functionality of both is same, howerver we can note the following important differences

a) Customer exit is called only if activated.

(hence, it does not waste resources)

b) in customer exit, REPAIR does not happen

to the standard include.

REgards,

pankaj singh

<b>***** reward if helpful</b>

6 REPLIES 6
Read only

Former Member
0 Likes
822

Hi,

Previously there were only user-exits. Then came the concept of customer-exits.

User exits were nothing but subroutines called from standard programs.

The FORM defintion was placed inside an empty include file.

So It was called everytime and we need to modify the standard include .

Then it came with concept of customer-exit. It consists of calling a FUNCTION MODULE which is called only if the user-exit is activated (other wise not called)

In this case, the code in put inside a pre-defined Z include.

Functionality of both is same, howerver we can note the following important differences

a) Customer exit is called only if activated.

(hence, it does not waste resources)

b) in customer exit, REPAIR does not happen

to the standard include.

REgards,

pankaj singh

<b>***** reward if helpful</b>

Read only

Former Member
0 Likes
821

Hi Shishupal,

<i>Difference between user exits & customer exits:</i>

<b>User exit</b> - A user exit is a three character code that instructs the system to access a program during system processing.

<u><i>SXX</i></u>: S is for standard exits that are delivered by SAP. XX represents the 2-digit exit number.

[<u>i]UXX:</i></u> U is for user exits that are defined by the user. XX represents the 2-digit exit number

<b>Customer exit</b> - The R/3 enhancement concept allows you to add your own functionality to SAP’s standard business applications without having to modify the original applications. SAP creates customer exits for specific programs, screens, and menus within standard R/3 applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks. *-- Mani

The following document is about exits in SAP :-

The R/3 enhancement concept allows you to add your own functionality to SAP’s standard business applications without having to modify the original applications.

SAP creates user exits for specific programs, screens, and menus within standard R/3 applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks.

Types of Exits

There are several different types of user exits. Each of these exits acts as hooks where you can attach or "hang" your own add-ons.

<b>Menu Exits</b>

Menu exits add items to the pulldown menus in standard SAP applications. You can use these menu items to call up your own screens or to trigger entire add-on applications.

SAP creates menu exits by defining special menu items in the Menu Painter. These special entries have function codes that begin with "+" (a plus sign). You specify the menu item’s text when activating the item in an add-on project.

<b>Screen Exits</b>

Screen exits add fields to screens in R/3 applications. SAP creates screen exits by placing special subscreen areas on a standard R/3 screen and calling a customer subscreen from the standard screen’s flow logic.

<b>Function Module Exits </b>

Function module exits add functions to R/3 applications. Function module exits play a role in both menu and screen exits.

When you add a new menu item to a standard pull down menu, you use a function module exit to define the actions that should take place once your menu is activated.

Function module exits also control the data flow between standard programs and screen exit fields. SAP application developers create function module exits by writing calls to customer functions into the source code of standard R/3 programs.

These calls have the following syntax:

CALL CUSTOMER-FUNCTION ‘001’.

<b>Field Exits</b>

Field exits allow you to create your own programming logic for any data element in the Dictionary. You can use this logic to carry out checks, conversions, or business-related processing for any screen field. Example: The data element BBBNR identifies a company’s international location number. You might want to set up your R/3 System so that all international location numbers are larger than 100.

The field exit concept lets you create a special function module that contains this logic.

You assign the special function module to the data element BBBNR. You then assign the module to any programs and screens in which users can add new international location numbers. When you activate your field exit, the system automatically triggers your special routine whenever a user enters a company location number.

In 4.6c, you can use "RSMODPRF" program to create field exits.

An example of a user exits :-

MODULE user_exit_0001 INPUT

CASE okcode.

WHEN 'BACK OR EXIT'.

CASE sy-dynnr.

WHEN '100'.

SET SCREEN 0.

LEAVE SCREEN.

WHEN '200'.

        • Note that you can write any code that satisfy your needs. ****

        • But in this case, this was wrote as a sample code for reference sake. ****

        • And you can test it. ****

SET SCREEN 100.

LEAVE SCREEN.

ENDCASE.

ENDCASE.

Read only

Former Member
0 Likes
821

User exit - A user exit is a three character code that instructs the system to access a program during system processing.

SXX: S is for standard exits that are delivered by SAP. XX represents the 2-digit exit number.

<i>UXX: U is for user exits that are defined by the user. XX represents the 2-digit exit number

Customer exit - The R/3 enhancement concept allows you to add your own functionality to SAP’s standard business applications without having to modify the original applications. SAP creates customer exits for specific programs, screens, and menus within standard R/3 applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks

Read only

SantoshKallem
Active Contributor
0 Likes
821

http://www.sap-img.com/abap/what-is-user-exits.htm

reward if useful

Message was edited by:

santhosh reddy

Read only

abdul_hakim
Active Contributor
0 Likes
821

hi

techically speaking user exits are modifications(access key is required) and

customer exits are enhancements(access key is not required)

Cheers,

Abdul Hakim

Mark all useful answers..

Read only

Former Member
0 Likes
821

Hi

The R/3 enhancement concept allows you to add your own functionality to SAP’s standard business applications without having to modify the original applications. SAP creates customer exits for specific programs, screens, and menus within standard R/3 applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks.

Customer exits are implemented in Z-includes and are ENHANCEMENTS to the system.

User-exits were firstly intended to be developed for the SD module. You make your coding in includes in SAP namespace (e.g MV*). That's why, user exits are MODIFICATIONS to the system. In includes for user exits there are empty subroutines ( generally with the name convention "userexit_...") and you code using global variables of the main program.

But, generally developers use these terms without this distinction. So, someone may mean a "customer exit" when (s)he says "user exit" or vice-versa.

Hope this will helps.

reward if helpful

Regards,

charitha