You are on page 1of 3

Difference between user exits and customer exits

These r the main differences between user exits and customer exits 1) user exits r subroutines where as customer exits r function modules 2) user exits r not upgraded where as customer exits r will upgrade 3) customer exits r used for creating and additional fields or menu items to stadard tcode where as user exits r used for enabling or disabling the fields on the standrd screen or concatenating the key fields,it is not used adding an additional componenats to stadard tcode 4) customer exits r reusable where as user exits r not reusable.
SOME IMPORTANT POINTS ABT USER EXITS AND BADI:

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

Customer exit is called only if activated. (hence, it does not waste resources) 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. 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 popup 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_<3 digit suffix> The call to a functionmodule exit is implemented as: CALL CUSTOMER.-FUNCTION <3 digit suffix> 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

BADI are more flexible than User exits.. USer exits will have only one project and one implementation. But for Badi you can have multiple projects and Filter according to user input you can access different Implemetations.

You might also like