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: 

Difference between user-exit and customer exit

Former Member
0 Kudos

Hi,

Could you please clarify is there any difference between user-exit and customer-exit if any? If any what is the difference.

Thanks,

shyla

1 ACCEPTED SOLUTION

Former Member
0 Kudos

hi,

Check these threads out

Checkout this links..,

________________________________________________________________

Also follow steps

1)Goto se38

2)Give "ZUSEREXIT" AND RUN IT

3)u WILL GET ALL EXIT NAMES RELATED TO THAT TRANSACTION

THERE ARE MANY DIFF WAYS TO FIND USER /CUSTOMER EXITS THIS IS ONE OF THEM

____________________________________________________________________

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.

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.

____________________________________________________________________

1.what is the fifference between User-exit and customer exit.?

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.

2) how to define of them.?

They are already defined in the system.

We have to activate them and write our code.

3) If a requriment comes in real time which exit we hav to use ,,, User-exit 0r customer exit.. plzz clarify.

Usually customer exits are there.

But in Case of SD module, especially Sales order,

there will be user-exit includes

_________________________________________________________________

There isn't much difference between the two. CMOD user exits allow greater control, and have a manageable, trackable framework, it's easy to see what's in use and what isn't.

As we users have no control over which type of exit SAP decided to put in, and where, we just have to use whatever meets our needs.

A customer exit is a type of user exit. A user exit is a handle that SAP put into their code, allowing a customer to add their own routines. There are many types of user exit, and often they differ between modules.

CMOD is the Project Management of SAP Enhancements (i.e., SMOD Enhancements). SMOD contains the actual enhancements and CMOD is the grouping of those SMOD enhancements.

___________________________________________________________________

Go through this document

User Exits

Screen exits are exits that allow you to use a reserved part of the screen (A subscreen) to display or input data.

It is determined be SAP where the sub screen will be displayed.

The syntax is: CALL CUSTOMER-SUBSCREEN

The screen exit is not processed untill the corresponding subscreen has been created in an enhancement project,

and the project has been activated.

Note:

Function codes are only processed in the main screens flow logic

You are not allowed to enter a name for the subscreens command field

You are not allowed to define GUI stauses

You are not allowed to enter a value for Next screen

The global data of the program is not available for the subscreen. Data for the subscreen is provided by function modules.

These function modules belongs to the same function group as the subscreen Subscreens are edited with transaction CMOD.

When you activate a project containg subscreens, the calling screen is regenerated and the subscreen is displayed next

time you display the calling screen

The developer must create the subscreen and the corresponding PBO and PAI modules

How to identify screen exits

Look after CALL CUSTOMER-SUBSCREEN in the screenprogram of the screen you want to modify.

Use transaction CMOD menu Utillities -> SAP enhancements to search for screen exits

MENU EXITS

Menu exits allow you to add your own functionallity to menus. Menu exits are implemented by SAP, and are reserved menu

entries in the GUI interface. The developer can add his/her own text and logic for the menu.

Function codes for menu exits all start with "+"

Example

We want to create a new menu item in the Office menu. The text for the menu should be "Run ZTEST", and the menu will

run report ZTEST.

Goto transaction SE43 Area Menu Maintenance

In Area Menu Paramenter type 'S000' (S triple Zero)

Select Change and ignore all the warning screens

Expand the office menu. In the buttom of the office tree you will find a menu named "Customer function"

Double click on the text. In the pop-up screen change the text to "Run ZTEST". Note that the trsnaction code is +C01

Goto transaction SE93 and create transaction +C01 that calls report ZTEST.

Now you will se the menu displayed in the office tree. If you delete transaction +C01 again, the new menu will dissapear.

USER EXITS

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.

The naming standard of function modules for functionmodule exits is: EXIT_

Example:

The program for transaction VA01 Create salesorder is SAPMV45A

If you search for CALL CUSTOMER-FUNCTION i program SAPMV45A you will find ( Among other user exits):

CALL CUSTOMER-FUNCTION '003'

exporting

xvbak = vbak

xvbuk = vbuk

xkomk = tkomk

importing

lvf_subrc = lvf_subrc

tables

xvbfa = xvbfa

xvbap = xvbap

xvbup = xvbup.

The exit calls function module EXIT_SAPMV45A_003

pls : award points if it is useful.

5 REPLIES 5

Former Member
0 Kudos

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.

Regards,

pankaj singh

Former Member
0 Kudos

Hi,

User exit are povided in FORMS by SAP and you need a ACCESS key to implement a user exit.

Customer exists are provided in FUNCTION MODULES by SAP and you dont need a ACCESS key to implement a customer exit.

CHeers

VJ

Former Member
0 Kudos

<b>1. User exits are called by SAP standard programs using PERFORM. where as Customer exits are called using CALL CUSTOMER FUNCTION.

2. User exits read and change almost any global data from host program where as Customer exits only acces your import/export/changing/tables parameters

3.very easy to manipulate erroneously global data in user exits where as Customer exits will never lead to inconsistency .

4.User exits doesn’t have any classification where as cin ustomer exits we have function-module exit , screen exit , menu exit

5. User exits are designed For SD module where as customer exits are basically designed for all modules.

6.User-exits can be written only using access-key where as No need of access key is required in customer exits.

7. Will not be there for next version unless modification assistance tool is used where as Customer-exits are not wiped during upgradation</b>

Former Member
0 Kudos

hi,

Check these threads out

Checkout this links..,

________________________________________________________________

Also follow steps

1)Goto se38

2)Give "ZUSEREXIT" AND RUN IT

3)u WILL GET ALL EXIT NAMES RELATED TO THAT TRANSACTION

THERE ARE MANY DIFF WAYS TO FIND USER /CUSTOMER EXITS THIS IS ONE OF THEM

____________________________________________________________________

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.

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.

____________________________________________________________________

1.what is the fifference between User-exit and customer exit.?

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.

2) how to define of them.?

They are already defined in the system.

We have to activate them and write our code.

3) If a requriment comes in real time which exit we hav to use ,,, User-exit 0r customer exit.. plzz clarify.

Usually customer exits are there.

But in Case of SD module, especially Sales order,

there will be user-exit includes

_________________________________________________________________

There isn't much difference between the two. CMOD user exits allow greater control, and have a manageable, trackable framework, it's easy to see what's in use and what isn't.

As we users have no control over which type of exit SAP decided to put in, and where, we just have to use whatever meets our needs.

A customer exit is a type of user exit. A user exit is a handle that SAP put into their code, allowing a customer to add their own routines. There are many types of user exit, and often they differ between modules.

CMOD is the Project Management of SAP Enhancements (i.e., SMOD Enhancements). SMOD contains the actual enhancements and CMOD is the grouping of those SMOD enhancements.

___________________________________________________________________

Go through this document

User Exits

Screen exits are exits that allow you to use a reserved part of the screen (A subscreen) to display or input data.

It is determined be SAP where the sub screen will be displayed.

The syntax is: CALL CUSTOMER-SUBSCREEN

The screen exit is not processed untill the corresponding subscreen has been created in an enhancement project,

and the project has been activated.

Note:

Function codes are only processed in the main screens flow logic

You are not allowed to enter a name for the subscreens command field

You are not allowed to define GUI stauses

You are not allowed to enter a value for Next screen

The global data of the program is not available for the subscreen. Data for the subscreen is provided by function modules.

These function modules belongs to the same function group as the subscreen Subscreens are edited with transaction CMOD.

When you activate a project containg subscreens, the calling screen is regenerated and the subscreen is displayed next

time you display the calling screen

The developer must create the subscreen and the corresponding PBO and PAI modules

How to identify screen exits

Look after CALL CUSTOMER-SUBSCREEN in the screenprogram of the screen you want to modify.

Use transaction CMOD menu Utillities -> SAP enhancements to search for screen exits

MENU EXITS

Menu exits allow you to add your own functionallity to menus. Menu exits are implemented by SAP, and are reserved menu

entries in the GUI interface. The developer can add his/her own text and logic for the menu.

Function codes for menu exits all start with "+"

Example

We want to create a new menu item in the Office menu. The text for the menu should be "Run ZTEST", and the menu will

run report ZTEST.

Goto transaction SE43 Area Menu Maintenance

In Area Menu Paramenter type 'S000' (S triple Zero)

Select Change and ignore all the warning screens

Expand the office menu. In the buttom of the office tree you will find a menu named "Customer function"

Double click on the text. In the pop-up screen change the text to "Run ZTEST". Note that the trsnaction code is +C01

Goto transaction SE93 and create transaction +C01 that calls report ZTEST.

Now you will se the menu displayed in the office tree. If you delete transaction +C01 again, the new menu will dissapear.

USER EXITS

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.

The naming standard of function modules for functionmodule exits is: EXIT_

Example:

The program for transaction VA01 Create salesorder is SAPMV45A

If you search for CALL CUSTOMER-FUNCTION i program SAPMV45A you will find ( Among other user exits):

CALL CUSTOMER-FUNCTION '003'

exporting

xvbak = vbak

xvbuk = vbuk

xkomk = tkomk

importing

lvf_subrc = lvf_subrc

tables

xvbfa = xvbfa

xvbap = xvbap

xvbup = xvbup.

The exit calls function module EXIT_SAPMV45A_003

pls : award points if it is useful.

Former Member
0 Kudos

Hi shyla,

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.