<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic user exits in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/3903389#M936412</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi.experts.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;iam so confusion about user exits,customer exits, badis, can any one give to me correct solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. what r user exits,and what r customer exits,and what r badis?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. when we r used user exits, and when we r used customer exits, when we r used badis ?&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&amp;amp; regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;kartik&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 02 Jun 2008 06:05:46 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-06-02T06:05:46Z</dc:date>
    <item>
      <title>user exits</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/3903389#M936412</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi.experts.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;iam so confusion about user exits,customer exits, badis, can any one give to me correct solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. what r user exits,and what r customer exits,and what r badis?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. when we r used user exits, and when we r used customer exits, when we r used badis ?&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&amp;amp; regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;kartik&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jun 2008 06:05:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/3903389#M936412</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-02T06:05:46Z</dc:date>
    </item>
    <item>
      <title>Re: user exits</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/3903390#M936413</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kartick&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;User exits : &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Introduction &lt;/P&gt;&lt;P&gt;2. How to find user exits &lt;/P&gt;&lt;P&gt;3. Using Project management of SAP Enhancements  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Introduction: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The naming standard of function modules for functionmodule exits is:  &lt;/P&gt;&lt;P&gt;EXIT_&amp;lt;program name&amp;gt;&amp;lt;3 digit suffix&amp;gt;  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The call to a functionmodule exit is implemented as: &lt;/P&gt;&lt;P&gt;CALL CUSTOMER.-FUNCTION &lt;span class="lia-unicode-emoji" title=":red_heart:"&gt;❤️&lt;/span&gt; digit suffix&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The program for transaction VA01 Create salesorder is SAPMV45A &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you search for CALL CUSTOMER-FUNCTION i program &lt;/P&gt;&lt;P&gt;SAPMV45A you will find ( Among other user exits): &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL CUSTOMER-FUNCTION '003' &lt;/P&gt;&lt;P&gt;  exporting &lt;/P&gt;&lt;P&gt;    xvbak   = vbak &lt;/P&gt;&lt;P&gt;    xvbuk   = vbuk &lt;/P&gt;&lt;P&gt;    xkomk   = tkomk &lt;/P&gt;&lt;P&gt;  importing &lt;/P&gt;&lt;P&gt;    lvf_subrc = lvf_subrc &lt;/P&gt;&lt;P&gt;  tables &lt;/P&gt;&lt;P&gt;    xvbfa = xvbfa &lt;/P&gt;&lt;P&gt;    xvbap = xvbap &lt;/P&gt;&lt;P&gt;    xvbup = xvbup. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The exit calls function module EXIT_SAPMV45A_003 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. How to find user exits? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you know the Exit name, go to transaction CMOD. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Choose menu Utillities-&amp;gt;SAP Enhancements. Enter the exit name and press enter. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You will now come to a screen that shows the function module exits for the exit. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Using Project management of SAP Enhancements, we want to create a project to enahance trasnaction VA01 . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Go to transaction CMOD &lt;/P&gt;&lt;P&gt;- Create a project called ZVA01 &lt;/P&gt;&lt;P&gt;- Choose the Enhancement assign radio button and press the Change button &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the first column enter V45A0002 Predefine sold-to party in sales document.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note that an enhancement can only be used in 1 project. If the enhancement is already in use, and error message will be displayed &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Press Save &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002. Double click on the exit. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now the function module is displayed. Double click on include ZXVVAU04 in the function module &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Insert the following code into the include: E_KUNNR = '2155'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Activate the include program. Go back to CMOD and activate the project.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Goto transaction VA01 and craete a salesorder.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note that Sold-to-party now automatically is "2155"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Limitations of User Exits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Cannot be reusable.&lt;/P&gt;&lt;P&gt;- Read and change almost any global data from host program.&lt;/P&gt;&lt;P&gt;- User-exits can be written only using access-key.&lt;/P&gt;&lt;P&gt;will not be there for next version unless modification assistance tool is used &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAP creates customer exits using the Transaction SMOD. &lt;/P&gt;&lt;P&gt;From these customer exits, customers then use the Transaction CMOD to choose the enhancements to &lt;/P&gt;&lt;P&gt; Process &lt;/P&gt;&lt;P&gt; Assign them to enhancement projects&lt;/P&gt;&lt;P&gt; Edit the components, and&lt;/P&gt;&lt;P&gt; Activate the relevant projects.&lt;/P&gt;&lt;P&gt;Using customer exits guarantees upwards compatibility. This is because calls to exits from the standard software and the validity of the call interface are retained, even in future release upgrades&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Customer Exits&lt;/P&gt;&lt;P&gt;Why do we go for Customer Exists ?&lt;/P&gt;&lt;P&gt;In Customer Exists Enhancements are done using                    FUNCTION MODULES .&lt;/P&gt;&lt;P&gt;So global data will not be effected.&lt;/P&gt;&lt;P&gt;Designed for all the modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Where as User Exitsu2026.&lt;/P&gt;&lt;P&gt;UserExits are done using subroutines.&lt;/P&gt;&lt;P&gt;Modifications will effect the global data.&lt;/P&gt;&lt;P&gt;Works only for SD module.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Types of Customer Exits&lt;/P&gt;&lt;P&gt;There are several different types of customer exits. Each of    these exits acts as hooks where you can attach or u201Changu201D   your own add-ons.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MENU EXITS &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SCREEN EXITS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD EXITS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BADIs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Basic concept&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	SAP has introduced new enhancement technique Business Add-ins from release 4.6A.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	Business Add-in is the new enhancement technique based on ABAP Objects. BADI is an exit point in a source that allows specific industry sectors, partners, and customers to attach additional software to standard SAP source code with out modifying the original object. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	The users of Business Add-ins can customize the logic according to requirement or they can use the standard logic one available. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	SAP guarantees the upward compatibility of all Business Add-in interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if helpful&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Lakshman&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jun 2008 06:26:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/3903390#M936413</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-02T06:26:19Z</dc:date>
    </item>
    <item>
      <title>Re: user exits</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/3903391#M936414</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are four different ways of changing the system to meet your requirements:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Customizing:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Allows you to change system parameters using a special interface. All possible&lt;/P&gt;&lt;P&gt;changes have been thought of and organized. Customizing is a mandatory part of setting up a&lt;/P&gt;&lt;P&gt;system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Enhancement&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;concept: Allows you to change SAP Repository objects without modifications.&lt;/P&gt;&lt;P&gt;Customer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;development: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Creating customer-specific objects in accordance with the customer namespace conventions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Assisted modification: &lt;/P&gt;&lt;P&gt;You can carry out modifications to SAP Repository objects using the Modification Assistant. Modifications can lead to a considerably increased workload for an upgrade.&lt;/P&gt;&lt;P&gt;If there are changes on the same Repository object in the new Release, you have to adjust the&lt;/P&gt;&lt;P&gt;versions manually. The Modification Assistant can help you carry out the adjustment automatically&lt;/P&gt;&lt;P&gt;in parts. You can find additional information on the Modification Assistant in the SAP Library under&lt;/P&gt;&lt;P&gt;Basis Components --&amp;gt; ABAP Workbench --&amp;gt; Changing the SAP Standard --&amp;gt; Modification&lt;/P&gt;&lt;P&gt;Assistant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can enhance the R/3 System at the following levels:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Menu exit: The system contains various points at which you can include menu items that start&lt;/P&gt;&lt;P&gt;customer programs.&lt;/P&gt;&lt;P&gt;Screen exit: Some screens contain areas (subscreens) in which you can display your own&lt;/P&gt;&lt;P&gt;screens.&lt;/P&gt;&lt;P&gt;Field exits: Field exits allow you to incorporate extra field checks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Enhancement&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ABAP Dictionary&lt;/P&gt;&lt;P&gt;Table enhancement&lt;/P&gt;&lt;P&gt;Field exit&lt;/P&gt;&lt;P&gt;Customer exit&lt;/P&gt;&lt;P&gt;Function module exit&lt;/P&gt;&lt;P&gt;Screen exit&lt;/P&gt;&lt;P&gt;Menu exit&lt;/P&gt;&lt;P&gt;Business transaction event (BTE)&lt;/P&gt;&lt;P&gt;Business Add-In&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Difference between BADI and USER-EXIT. &lt;/P&gt;&lt;P&gt;i) BADI's can be used any number of times, where as USER-EXITS can be used only one time. &lt;/P&gt;&lt;P&gt;Ex:- if your assigning a USER-EXIT to a project in (CMOD), then you can not assign the same to other project. &lt;/P&gt;&lt;P&gt;ii) BADI's are oops based. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Difference between user exits &amp;amp; customer exits: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;User exit - A user exit is a three character code that instructs the system to access a program during system processing. &lt;/P&gt;&lt;P&gt;SXX: S is for standard exits that are delivered by SAP. XX represents the 2-digit exit number. &lt;/P&gt;&lt;P&gt;UXX: U is for user exits that are defined by the user. XX represents the 2-digit exit number &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Customer exit - The R/3 enhancement concept allows you to add your own functionality to SAP&amp;#146;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&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this is useful.......&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;praveena.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jun 2008 06:27:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/3903391#M936414</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-02T06:27:47Z</dc:date>
    </item>
    <item>
      <title>Re: user exits</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/3903392#M936415</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;BADI&lt;/STRONG&gt; stands for Business Add IN. They are oops version of user exits. So, you use them only if you want to add more to the standard functionality. You usually don't create a BADI for yourself, all you do implement a BADI which SAP has provided.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Technically, BADI is implemented using classes / methods / interfaces and user exits are done using function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For your custom coding, you should always go with creating CLASSES / METHODS - SE24. You don't create BADI's.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Read the Help on BADI.&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this link for more info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;USER EXITS and Customer exits&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;1.USER EXITS are FORMS and are called by SAP standard programs&lt;/P&gt;&lt;P&gt;using PERFORM. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CUSTOMER EXITS are FUNCTIONS so they are called using CALL&lt;/P&gt;&lt;P&gt;FUNCTION (or more exactly CALL CUSTOMER FUNCTION).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;2.&lt;/STRONG&gt;Inside the form (user exit) you can read and change almost&lt;/P&gt;&lt;P&gt;any global data from host program. &lt;/P&gt;&lt;P&gt;Inside a function (customer exit) you can only acces your&lt;/P&gt;&lt;P&gt;import/export/changing/tables parameters.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3.User exits are more flexible because you have more&lt;/P&gt;&lt;P&gt;information to use in your code but on the other hand , it&lt;/P&gt;&lt;P&gt;is very easy to manipulate erroneously global data and lead&lt;/P&gt;&lt;P&gt;the standard program to a dump or even to make database&lt;/P&gt;&lt;P&gt;inconsistent.&lt;/P&gt;&lt;P&gt;Customer exits are more restrictive but you are sure any&lt;/P&gt;&lt;P&gt;change you can make to any parameters will never lead to&lt;/P&gt;&lt;P&gt;inconsistency&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4.User-exit doesn't have any classification. &lt;/P&gt;&lt;P&gt;In customer-exit we have function-module exit,screen exit&lt;/P&gt;&lt;P&gt;menu exit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5.User exits are Basically designed For SD module. &lt;/P&gt;&lt;P&gt;Customer exits Are available for MM,SD,FI,HRâ&amp;#128;¦..Basically&lt;/P&gt;&lt;P&gt;designed for all modules&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all helpfull answers.&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;Jay&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jun 2008 10:15:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/3903392#M936415</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-02T10:15:05Z</dc:date>
    </item>
    <item>
      <title>Re: user exits</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/3903393#M936416</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;Hi Karthik,&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just look up at how the enhancement technique has evolved so far in SAP. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;u2018User-Exitu2019 is one of the very first mechanisms provided by SAP to execute custom code in between the standard SAP control flow.&lt;/STRONG&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is implemented as &lt;STRONG&gt;subroutine call (PERFORM xxx).&lt;/STRONG&gt; A classical example for User-Exit is &lt;STRONG&gt;MV45AFZZ&lt;/STRONG&gt; include in order processing module of SAP R/3. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;u2018Customer-Exitu2019 is better than the user-exit, in the sense that it is implemented using Function Modules and so has a well defined parameter interface.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Also since the custom coding done as part of these customer-exits is located away from the original SAP code, the maintenance is easier than user-exits. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;u2018Business Transaction Events' - SAP developed this  enhancement technique in Release 4.0,  allows enhancements to be reused. Business Transaction Events (BTE) allow you to attach additional components, in the form of a function module, for example, to the R/3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;.In contrast to customer exits, BTEu2019s allow you to use an interface for multiple types of additional logic.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The &lt;STRONG&gt;u2018BADI-su2019&lt;/STRONG&gt; (Business Add-Ins), as they exist in pre NW04s releases are now called old classic-BADIu2019s. &lt;STRONG&gt;This was the first object-oriented way to enhance the ABAP system.&lt;/STRONG&gt; This, to a certain extent, allows multiple implementations with limited filter support. The classic-BADIu2019s are implemented using ABAP Objects. Implemented from release 4.6A.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;u2018Enhancement Frameworku2019 is the new paradigm to bring all enhancement techniques under one roof&lt;/STRONG&gt;. The aim of the new enhancement concept as of Release 7.0  is to unify all possible ways of modifying or enhancing SAP products , which go beyond the scope of Customizing. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As u can see above the brief history of the enhancement techniques.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;User Exits first were introduced in the SD module.This was the first enhancement technique provided in SAP .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Due to the disadvantages they faced in the user exits (data can be intrepreted erronously) ,then SAP introduced the concept of Customer Exits.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As these have an disadavantage of single implementations it introduced BTEs &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The object oriente approach of above concepts was BADIs &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Each exits have their uses .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Though each of it has its own advantages and disadvantages they exist in the system as enhancement points.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Based on the requirement we get we choose the require exit,&lt;/P&gt;&lt;P&gt;for ex in SD most of the time we go for user exits as it provides more options like that.......&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Reward Points If Useful.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Thanks,&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Surya Pydikondala.&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Jun 2008 11:09:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/3903393#M936416</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-02T11:09:06Z</dc:date>
    </item>
    <item>
      <title>Re: user exits</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/3903394#M936417</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;User Exits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;User exits are a type of system enhancement that were originally developed for the R/3 SD.&lt;/P&gt;&lt;P&gt;The SAP developer creates a special include in a module pool.  These includes contain one or more subroutines that satisfy the naming convention userexit_&amp;lt;name&amp;gt;.  The calls for these subroutines have already been implemented in the R/3 program. [Refer Conventional SD User exits Slides]&lt;/P&gt;&lt;P&gt;A user exit is considered a modification, since technically objects in the SAP namespace are being modified.&lt;/P&gt;&lt;P&gt;After delivering them, SAP never alters includes created in this manner; if new user exits must be delivered in a new release, they are placed in a new include program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Customer exits are u201Chooksu201D provided by SAP within many standard programs, screens and menus on which customers may u201Changu201D custom functionality to meet business requirements&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Advantages&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; do not affect standard SAP source code&lt;/P&gt;&lt;P&gt; do not affect SAP software upgrade&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Disadvantages&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; an appropriate customer exit may not be available for a particular SAP program, menu or screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Types of Customer Exits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are three main types of customer exits: function module exits, screen exits and menu exits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Function Module Exit: allows customer to add code via a function module at a specific location in an SAP application program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Format: 	CALL CUSTOMER-FUNCTION '004'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Menu Exit: allows customer to add items to a pulldown menu in a standard SAP program.  These items may be used to call add-on programs or custom screens.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Format:	+CUS ( additional item in GUI status )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Screen Exit: allows customer to add fields to a screen in an SAP program via a subscreen.  The subscreen is called within the standard screenu2019s flow logic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;		Format:	CALL CUSTOMER-SUBSCREEN CUSTSCR2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BADIs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Business Add-Ins&lt;/P&gt;&lt;P&gt;Similar to user exits, helps hook custom enhancements to SAP functionality&lt;/P&gt;&lt;P&gt;Definition / Implementation&lt;/P&gt;&lt;P&gt;Transactions SE18 (Definition) / SE19 (Implementation)&lt;/P&gt;&lt;P&gt;BADI Vs User Exits u2013 &lt;/P&gt;&lt;P&gt;BADIs are object oriented&lt;/P&gt;&lt;P&gt;BADIu2019s can be implemented multiple times&lt;/P&gt;&lt;P&gt;Demo on SE18 / SE19&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REWARD IF FOUND USEFUL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;P&gt;palak&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Jun 2008 06:24:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/3903394#M936417</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-03T06:24:06Z</dc:date>
    </item>
    <item>
      <title>Re: user exits</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/3903395#M936418</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kartik, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;User exit&lt;/STRONG&gt; - A user exit is a three character code that&lt;/P&gt;&lt;P&gt;instructs the system to access a program during system&lt;/P&gt;&lt;P&gt;processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SXX: S is for standard exits that are delivered by SAP. XX&lt;/P&gt;&lt;P&gt;represents the 2-digit exit number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;UXX: U is for user exits that are defined by the user. XX&lt;/P&gt;&lt;P&gt;represents the 2-digit exit number&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Customer exit&lt;/STRONG&gt; - The R/3 enhancement concept allows you to&lt;/P&gt;&lt;P&gt;add your own functionality to SAPu2019s standard business&lt;/P&gt;&lt;P&gt;applications without having to modify the original&lt;/P&gt;&lt;P&gt;applications. SAP creates customer exits for specific&lt;/P&gt;&lt;P&gt;programs, screens, and menus within standard R/3&lt;/P&gt;&lt;P&gt;applications. These exits do not contain any functionality.&lt;/P&gt;&lt;P&gt;Instead, the customer exits act as hooks. You can hang your&lt;/P&gt;&lt;P&gt;own add-on functionality onto these hooks.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Exits in SAP :-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The R/3 enhancement concept allows you to add your own&lt;/P&gt;&lt;P&gt;functionality to SAPu2019s standard business applications&lt;/P&gt;&lt;P&gt;without having to modify the original applications.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAP creates user exits for specific programs, screens, and&lt;/P&gt;&lt;P&gt;menus within standard R/3 applications. These exits do not&lt;/P&gt;&lt;P&gt;contain any functionality. Instead, the customer exits act&lt;/P&gt;&lt;P&gt;as hooks. You can hang your own add-on functionality onto&lt;/P&gt;&lt;P&gt;these hooks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Types of Exits&lt;/P&gt;&lt;P&gt;There are several different types of user exits. Each of&lt;/P&gt;&lt;P&gt;these exits acts as hooks where you can attach or "hang"&lt;/P&gt;&lt;P&gt;your own add-ons.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Menu Exits&lt;/P&gt;&lt;P&gt;Menu exits add items to the pulldown menus in standard SAP&lt;/P&gt;&lt;P&gt;applications. You can use these menu items to call up your&lt;/P&gt;&lt;P&gt;own screens or to trigger entire add-on applications.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAP creates menu exits by defining special menu items in the&lt;/P&gt;&lt;P&gt;Menu Painter. These special entries have function codes that&lt;/P&gt;&lt;P&gt;begin with "+" (a plus sign). You specify the menu itemu2019s&lt;/P&gt;&lt;P&gt;text when activating the item in an add-on project.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Screen Exits&lt;/P&gt;&lt;P&gt;Screen exits add fields to screens in R/3 applications. SAP&lt;/P&gt;&lt;P&gt;creates screen exits by placing special subscreen areas on a&lt;/P&gt;&lt;P&gt;standard R/3 screen and calling a customer subscreen from&lt;/P&gt;&lt;P&gt;the standard screenu2019s flow logic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Function Module Exits&lt;/P&gt;&lt;P&gt;Function module exits add functions to R/3 applications.&lt;/P&gt;&lt;P&gt;Function module exits play a role in both menu and screen exits.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When you add a new menu item to a standard pull down menu,&lt;/P&gt;&lt;P&gt;you use a function module exit to define the actions that&lt;/P&gt;&lt;P&gt;should take place once your menu is activated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Function module exits also control the data flow between&lt;/P&gt;&lt;P&gt;standard programs and screen exit fields. SAP application&lt;/P&gt;&lt;P&gt;developers create function module exits by writing calls to&lt;/P&gt;&lt;P&gt;customer functions into the source code of standard R/3&lt;/P&gt;&lt;P&gt;programs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These calls have the following syntax:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL CUSTOMER-FUNCTION u2018001u2019.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Field Exits&lt;/P&gt;&lt;P&gt;Field exits allow you to create your own programming logic&lt;/P&gt;&lt;P&gt;for any data element in the Dictionary. You can use this&lt;/P&gt;&lt;P&gt;logic to carry out checks, conversions, or business-related&lt;/P&gt;&lt;P&gt;processing for any screen field. Example: The data element&lt;/P&gt;&lt;P&gt;BBBNR identifies a companyu2019s international location number.&lt;/P&gt;&lt;P&gt;You might want to set up your R/3 System so that all&lt;/P&gt;&lt;P&gt;international location numbers are larger than 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;BADI's:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Difference between BADI and USER-EXIT. &lt;/P&gt;&lt;P&gt;    i) BADI's can be used any number of times, where as USER-EXITS can be used only one time. &lt;/P&gt;&lt;P&gt;       Ex:- if your assigning a USER-EXIT to a project in (CMOD), then you can not assign the same to other project. &lt;/P&gt;&lt;P&gt;    ii) BADI's are oops based.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if useful.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sahil&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: sahil lihala on Jun 3, 2008 9:02 AM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: sahil lihala on Jun 3, 2008 9:06 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Jun 2008 07:02:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exits/m-p/3903395#M936418</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-03T07:02:02Z</dc:date>
    </item>
  </channel>
</rss>

