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

Exits

Former Member
0 Likes
982

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
945

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 SAP’s 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 SAP’s standard software package.

• They do not affect software updates

When you add new functionality to your SAP System using SAP’s 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

7 REPLIES 7
Read only

Former Member
0 Likes
945

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

Reward points if useful......

Suresh......

Read only

Former Member
0 Likes
945

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

Read only

Former Member
0 Likes
945

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

Read only

Former Member
0 Likes
946

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 SAP’s 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 SAP’s standard software package.

• They do not affect software updates

When you add new functionality to your SAP System using SAP’s 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

Read only

0 Likes
945

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

Read only

0 Likes
945

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

Read only

Former Member
0 Likes
945

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,