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

Diff between userexit and customer exits

Former Member
0 Likes
862

hi friends,

what is the diff b/w userexit and customer exits.

thanks in Advance.

1 ACCEPTED SOLUTION
Read only

anversha_s
Active Contributor
0 Likes
840

hi,

A point in an SAP program where a customer's own program can be called.

In contrast to customer exits, user exits allow developers to access and modify program components and data objects in the standard SAP System. On upgrade, each user exit must be checked to ensure that it conforms to the standard system.

There are the following types of user exit:

User exits that use INCLUDEs -

These are customer enhancements that are called directly in the program.

User exits that use tables -

These are used and managed using Customizing.

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

Customer Exit

-

-


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 find find more information about locating applications with pre-defined exits in Locating Applications that have Exits

User Exits:

-

-


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.

Thanks and Regards,

Anversha

hi friends,

what is the diff b/w userexit and customer exits.

thanks in Advance.

7 REPLIES 7
Read only

Former Member
0 Likes
840

Hi

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.

Hope this helps !!!

Britto

Read only

anversha_s
Active Contributor
0 Likes
841

hi,

A point in an SAP program where a customer's own program can be called.

In contrast to customer exits, user exits allow developers to access and modify program components and data objects in the standard SAP System. On upgrade, each user exit must be checked to ensure that it conforms to the standard system.

There are the following types of user exit:

User exits that use INCLUDEs -

These are customer enhancements that are called directly in the program.

User exits that use tables -

These are used and managed using Customizing.

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

Customer Exit

-

-


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 find find more information about locating applications with pre-defined exits in Locating Applications that have Exits

User Exits:

-

-


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.

Thanks and Regards,

Anversha

Read only

Former Member
0 Likes
840

Hai,

Here is the clear differentiation:

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.

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.

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.

Hope u got the difference now.

Reward points if it helps you.

Regds,

Rama.Pammi

Read only

Former Member
0 Likes
840

hi Narender,

Customer exits: 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.

If you want to enhance the functionality of your SAP System, you should take advantage of the exits available in standard R/3 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.

In contrast to customer exits, user exits allow developers to access and modify program components and data objects in the standard SAP System.

User exits: 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.

Hope it helps

Regards,

Gaurav.

Read only

Former Member
0 Likes
840

hi,

check this link

regards,

ananth

Read only

Former Member
0 Likes
840

Narender,

At the initial stage there were only user-exits. And later came the concept of customer-exits.

user exits were nothing but subroutines just like - FORM/PERFORM and are called from the standard programs. The FORM defintion was placed inside an empty include file. And he3nce is to be called EVERYTIME. and we needed to modify / repair the standard include .

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

Please check these links for more information.

http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm

http://www.sapdevelopment.co.uk/enhance/enhancehome.htm

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

Don't forget to reward if useful..

Read only

Former Member
0 Likes
840

Hi narender,

1. Good question !

2. Previously there were only user-exits.

3. Then came the concept of customer-exits.

4.

user exits were nothing but

subroutines

FORM/PERFORM

called from standard programs.

5. The FORM defintion was placed inside

an empty include file.

6. So It was called EVERYTIME.

and we need to MODIFY/REPAIR the

standard include .

7. Then it came with concept of customer-exit

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

*----


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