‎2007 Apr 12 5:41 AM
Hi Gurus,
Can any one tell me difference between the User Exit and Customer Exit. I studied lot of materials but am not getting the clear idea. Please clarify me in that. And also please dont give the links of the materials coz i gone through those materials.
Thanks
Ravi
‎2007 Apr 12 5:49 AM
Hi Ravi,
Check this information. If required I can provide some more docs.
<b>User Exits:</b>----
User exits allow you to add additional functions to the SAP standard.
Programs with user exits contain subroutine calls at certain points in their syntax that are identified by the prefix USEREXIT. The actual user exits are located in an include that has been assigned to a module pool. This is where customers can include any changes (enhancements) that they want to make to the system. These includes are always processed during program flow.
Advantage: In principle, customers can modify anything they want that is found in the include (tables, structures, and so forth).
Disadvantage: SAP cannot check the individual enhancements themselves which often leads to errors in the enhancement process.
User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a functionmodule. The code for the function module is writeen by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
Customer exits are not available for all programs and screens found in the SAP System. You can only use customer exits if they already exist in the SAP System.
<b>Customer Exit</b>----
SAP creates customer exits for specific programs, screens, and menus within standard 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.
If you want to enhance the functionality of your SAP System, you should take advantage of the exits available in standard applications. There are two main reasons why you should use exits rather than modifying SAP software yourself. Add-ons attached to exits have the advantage that:
They do not affect standard SAP source code
When you add new functionality to your SAP System using SAPs exits, you do not alter the source code of standard SAP programs in any way. The code and screens you create are encapsulated as separate objects. These customer objects are linked to standard applications, but exist separately from SAPs standard software package.
They do not affect software updates
When you add new functionality to your SAP System using SAPs exits, your objects (called customer objects) must adhere to strict naming conventions. When it comes time to upgrade a to a new software release, customer objects names ensure that they will not be affected by any changes or new additions to the standard software package.
Customer exits are not available for all programs and screens found in the SAP System. You can only use customer exits if they already exist in the SAP System. You can find more information about locating applications with pre-defined exits in Locating Applications that have Exits
Hope this resolves your query.
Reward all the helpful answers.
Regards
‎2007 Apr 12 5:43 AM
Hi.....
"The R/3 enhancement concept allows you to add your own functionality to SAPs 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.
Reward points if useful......
Suresh......
‎2007 Apr 12 5:44 AM
Hi,
Customer Exits are those exits which are present as a part of the Standard program.You will find them CUSTOMER-FUNCTION.
double click them and write the code.
User exits and customer exits also serve the same purpose of enhanceing the std functionality to suit out requirement.
User exits may be Function,Menu,Screen and Filed exits which will be utilised as per your requirement.
see the links:
http://www.erpgenie.com/sap/abap/code/abap26.htm
which gives the list of exits for a tcode
http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm
For information on Exits, check these links
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sapgenie.com/abap/code/abap26.htm
http://www.sap-img.com/abap/what-is-user-exits.htm
http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
http://www.easymarketplace.de/userexit.php
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sappoint.com/abap/userexit.pdfUser-Exit
http://www.planetsap.com/userexit_main_page.htm
reward if useful
regards,
ANJI
‎2007 Apr 12 5:47 AM
Hi......
Just see these links ..
it helps you a lot......
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
Reward points if useful......
Suresh......
‎2007 Apr 12 5:49 AM
Hi Ravi,
Check this information. If required I can provide some more docs.
<b>User Exits:</b>----
User exits allow you to add additional functions to the SAP standard.
Programs with user exits contain subroutine calls at certain points in their syntax that are identified by the prefix USEREXIT. The actual user exits are located in an include that has been assigned to a module pool. This is where customers can include any changes (enhancements) that they want to make to the system. These includes are always processed during program flow.
Advantage: In principle, customers can modify anything they want that is found in the include (tables, structures, and so forth).
Disadvantage: SAP cannot check the individual enhancements themselves which often leads to errors in the enhancement process.
User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a functionmodule. The code for the function module is writeen by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
Customer exits are not available for all programs and screens found in the SAP System. You can only use customer exits if they already exist in the SAP System.
<b>Customer Exit</b>----
SAP creates customer exits for specific programs, screens, and menus within standard 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.
If you want to enhance the functionality of your SAP System, you should take advantage of the exits available in standard applications. There are two main reasons why you should use exits rather than modifying SAP software yourself. Add-ons attached to exits have the advantage that:
They do not affect standard SAP source code
When you add new functionality to your SAP System using SAPs exits, you do not alter the source code of standard SAP programs in any way. The code and screens you create are encapsulated as separate objects. These customer objects are linked to standard applications, but exist separately from SAPs standard software package.
They do not affect software updates
When you add new functionality to your SAP System using SAPs exits, your objects (called customer objects) must adhere to strict naming conventions. When it comes time to upgrade a to a new software release, customer objects names ensure that they will not be affected by any changes or new additions to the standard software package.
Customer exits are not available for all programs and screens found in the SAP System. You can only use customer exits if they already exist in the SAP System. You can find more information about locating applications with pre-defined exits in Locating Applications that have Exits
Hope this resolves your query.
Reward all the helpful answers.
Regards
‎2007 Apr 12 5:55 AM
Hi Suresh Babu and Nagraj,
Thanks for your quick reply. I have another doubt on this. Customer Exit is a hook and also we have to add our own functionality so we have to write the code in include file and activate that project in CMOD.
Whereas in UserExit we are writing the code in SAP namespace. So am thinking that its no need to create project and activating that project for user exit. Is it right? For UserExit also we have to create project please clarify me
Thanks
Ravi
‎2007 Apr 12 6:03 AM
Hi Ravi,
Check this info.
User Exits : -
__________
1. User exits are routines which SAP allows you to add in additional customized programs process without affecting the standard SAP programs. SAP user exits are usually declared as a form routine :-
form userexit_xxxxx
........................
endform.
2. No need to create project in CMOD/SMOD.
3. Won't be automatically transported during version upgrade.
Customer Exits :-
_________________
1. Could be either Function Exits or Menu Exits. SAP will provide certain FMs which will be called during the execution of SAP transactions.
2.Generally require the developer to create a project in CMOD/SMOD.
3. Will be automatically transported during version upgrade.
Hope this resolves your query.
Reward all the helpful answers.
Regards
‎2007 Apr 12 6:23 AM
Hi Ravi,
I think this will give clear idea.
What is User Exits and Customer Exits?
Difference between user exits & customer exits:
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.
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. *-- 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.
Menu Exits
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.
Screen Exits
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.
Function Module Exits
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'.
Field Exits
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.
If it is helpful provide some points.
Rgds,