Application Development 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: 

Customer exit and User Exit

Former Member
0 Kudos

Dear All ,

What is the differnce between user exit and customer Exit .

6 REPLIES 6

Former Member
0 Kudos

Customer exits and User exits are entirely different.

They don't have any relationship.

Customer exits are provided to the customer in the form of Function Module which holds the include in the customer namespace.The user can add own source code in it.This is technically an enhancement.Eg for customer exits are Function module exits,Menu Exits,Screen Exits.

User exists are empty subroutines that the SAP Developers have provided for you that u can fill with your own source code.This is technically a modification since the object in the SAP name space is modified.

Former Member
0 Kudos

Hi raghavendra,

1. Previously there were only user-exits.

2. Then came the concept of customer-exits.

3.

user exits were nothing but

subroutines

FORM/PERFORM

called from standard programs.

4. The FORM defintion was placed inside

an empty include file.

5. So It was called EVERYTIME.

and we need to MODIFY/REPAIR the

standard include .

6. Then it came with concept of customer-exit

7. 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.

*----


8. 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,

amit m.

Former Member
0 Kudos

1. USER EXITS are FORMS and are called by SAP standard programs using PERFORM.

CUSTOMER EXITS are FUNCTIONS so they are called using CALL FUNCTION (or more exactly CALL CUSTOMER FUNCTION).

2.Inside the form (user exit) you can read and change almost any global data from host program.

Inside a function (customer exit) you can only acces your import/export/changing/tables parameters.

3.User exits are more flexible because you have more information to use in your code but on the other hand , it is very easy to manipulate erroneously global data and lead the standard program to a dump or even to make database inconsistent.

Customer exits are more restrictive but you are sure any change you can make to any parameters will never lead to inconsistency

4.User-exit doesn’t have any classification. In customer-exit we have function-module exit , screen exit , menu exit

Basically designed For SD module Are available for MM,SD,FI,HR…..Basically designed for all modules.

5 User-exits can be written only using access-key No need of access key

With user-exits the code , the developer has written will not be there for next version unless modification assistance tool is used Customer-exits are not wiped during upgradation

Former Member
0 Kudos

Hi,

Strictly speaking a <b>user exit</b> is any place within standard SAP, where SAP have added a mechanism for client specific code to be executed.

<b>Customer exits</b> are maintained with transaction CMOD. They are constructed in such a way that all development is in the customer name range, so no access keys are required.

Most other types of exits require an access key, as they are places where you can put your own code directly into standard SAP. For example, in Sales Order Processing, SAPMV45A, a number of user exits can be found in include MV45AFZZ. To modify this, however, you would need an access key from SAP for this include. If you wanted to utilize the screen exits available in Sales Order Processing, you would need an access key for SAPMV45A.

VOFM transaction manages many user exits. When a VOFM exit is created, two access keys are required. One for the include in which the code will be, and one of the function group in which it sits.

Check the following links.

For customer exits

http://help.sap.com/saphelp_erp2005/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm

http://help.sap.com/saphelp_erp2005/helpdata/en/c8/1975d943b111d1896f0000e8322d00/frameset.htm

Difference b/w BADI and user exits

http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm

User Exits

http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm

Please reward if it helps.

ferry_lianto
Active Contributor
0 Kudos

Hi Raghavendra,

"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 help.

Regards,

Ferry Lianto