Search This Blog

Friday, July 1, 2011

Difference between User-Exit & Customer-Exit

1. USER EXITS are FORMS (subroutines) 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 access 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 does not have any classification. 
In customer-exit we have function-module exit , screen exit
, menu exit.

5. While changing User-exit, Access Key is required (There 
are other enhancement options available now which does not 
necessarily require the object to be registered for access 
key), whereas in Customer-exit no access key is needed.