Difference between USER-EXISTs and Customer-Exits???

Hi,
Can anyone give me the difference between the user-exits and customer-exits?
Please respond at the earliest. Thanks in advance.

Hi,
USER EXITS->
1. Introduction:
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_<program name><3 digit suffix>
The call to a functionmodule exit is implemented as:
CALL CUSTOMER.-FUNCTION <3 digit suffix>
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
CUSTOMER EXITS-> t-code CMOD.
As of Release 4.6A SAP provides a new enhancement technique, the Business Add-Ins.
Among others, this enhancement technique has the advantage of
being based on a multi-level system landscape (SAP, country versions, IS solutions, partner,
customer, and so on)
instead of a two-level landscape (SAP, customer) as with the customer exits.
You can create definitions and implementations of business add-ins at any level of the system landscape.
To unify enhancements of the SAP Standard you can migrate customer exits to business add-ins.
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
In order to find out the user exits for any tcode,
1. get the developement class of the tcode from SE93.
2. Now goto transaction SMOD and press F4,
3. give in the Deve class in the dev class and Press ENTER
this will show u the exits for any tcode.
or execute this report
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
Regards,
Lijo Joseph
*Reward if useful.

Similar Messages

  • Difference between user exists customer exists

    difference between user exists customer exists

    Hi,
    User exits are basically modifications done to the std. pgm
    for whic u need to have access code,this is not reccomended
    in sap as during upgradation none of the mod. will come thru.
       In contrast customer exits are enhancements done to the
    std pgm in the space provided by sap so that during
    upgrading versions this also will be available.
        Customer exits types
         Function exits, Field exits(absolete), screen exits.
    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. 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.
    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.
    Reward if helpful..
    Regards,
    Ramya

  • Difference between user exists&badi's

    difference between user exists&badi's

    Hi, this may help you.
    Check this link to learn more about differences between user-exits and badis:
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    Difference Between BADI and User Exits
    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.
    As with customer exits two different views are available:
    In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.
    In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.
    In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.
    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. You do not have to register Business Add-Ins in SSCR.
    The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time. In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example).
    All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard. A single Business Add-In contains all of the interfaces necessary to implement a specific task.
    The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects.
    What is difference between badi and user-exists?
    What is difference between enhancements and user-exists? and what is the full form of BADI?
    I have another doubt in BDC IN BDC WE HAVE MSEGCALL (i did not remember the > correct name) where the error logs are stored, MSEGCALL is a table or structure.
    What is the system landscape?
    1) Difference between BADI and USER-EXIT.
    i) BADI's can be used any number of times, where as USER-EXITS can be used only one time.
    Ex:- if your assigning a USER-EXIT to a project in (CMOD), then you can not assign the same to other project.
    ii) BADI's are oops based.
    2) About 'BDCMSGCOLL' it is a structure. Used for finding error records.
    3) Full form of BADI 'Business addins'.
    3) System land scape will be depends on your project
    Ex:- 'Development server'>'Quality server'-> 'Production server'......
    Reward If Helpful.
    Regards Madhu.

  • What  is difference between user group and reference user group?

    hi
    guys,
            what  is difference between user group and reference user group? 
    your regards
      p.suresh

    Hi ,
    Chk the link below for your clarifiacation.
    http://help.sap.com/erp2005_ehp_03/helpdata/EN/5c/c1c81c445f11d189f00000e81ddfac/frameset.htm
    Hope it helps.
    Regards,
    Amit
    Edited by: Amit Kotwani on Sep 2, 2008 2:15 PM

  • Difference between Business Partner and Customer in ISU?

    Is there any difference between business partner and customer in ISU?
    if yes then wht?

    Hi,
    Yes Business Partner is a broad term used in ISU for various roles. A business Partner can be a Customer for company, an employee or even a vendor.
    It depends on what role business partner has been given.  Initially by default all Business Partners are assigned a default role "Business Partner (Gen.)". Later it can be changed to any role like Employee, Vendor, etc.
    Business Partner with role "Contract Partner" is normally the end Customer which I believe you are referring to.
    For more info on Business Partner, please check below link:
    [Business Partner Master Data|http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABP/CABP.pdf]
    Thanks.
    Ravi

  • Difference between Business Partner and Customer Master repository

    What is the difference between Business Partner and Customer Master repository ?
    Is the Business Partner repository to be used in case CRM is also in landscape ? or Customer master repository is good enough ?
    Sandesh

    Hi,
    If the landscape has both CRM and SAP ECC a business partner repository model should be good.
    If it has ECC alone.a Customer Repository is needed.
    But when there are many legacy systems which also contains master data fields, the standard business repository provided by SAP wont provide a good solution as it wont cover the legacy master fields..In this case its better to go for a customized repository and you can use the standard repository as a reference.
    Thanks

  • What is the difference between workbench request and customizing request

    hi gurus
    can anyone suggest me
    what is the difference between
    workbench request and
    customizing request
    abaper ll work on which request
    thank you
    regards
    kals.

    A quick  search in the forum would have taken you to this answer
    Workbench Requests
    When you change a Repository object of the ABAP Workbench, a query window appears in which you need to specify a Workbench request. You can only save the changes if you have assigned the object to a change request.
    Workbench requests and the tasks assigned to them are normally used to record changes to Repository objects and Customizing for all clients. However, you can also include client-specific Customizing.
    Whether the changes to Repository objects are transported depends on whether a transport route is defined from the current SAP System for the package of these objects. From the system settings, the system automatically determines whether the change requests are transportable and to which target system they should be transported.
    Customizing requests
    Customizing requests record client-specific Customizing settings made in a single client (the source client of the request).
    Automatic recording of configuration activities in the Customizing work for a client can be activated or deactivated for each client with Client Control. If automatic recording is active, a query window appears when you change Customizing settings, asking you to specify a Customizing request.
    Whether Customizing requests are transported or not, does not depend on the objects entered, as is the case with Workbench change requests. The Customizing requests in an SAP System (or in a client if you use Extended Transport Control) are either all transportable or all local, depending on the system setting. The system uses the standard transport layer to determine automatically whether the change requests are transportable and to which target system they should be transported. However, you can change this manually.

  • Difference between Component Controller and Custom Controllet...?

    Hi
    Can any one tell me Difference between Component Controller and Custom Controllet...?
    Best Regards
    Ravi Shankar B

    Hi RaviShankar B,
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/web%20dynpro%20sample%20applications%20and%20tutorials.htm
    Also refer to the below link
    Component and custom controllers
    Component Controller:-
    For each component of yours there will be a component controller, were in you can define context variables and methods, events etc.. This usefull while using models.
    Simple example where we can see this is, when you create global context variable in this controller and map this variable to the view controller context variable of different view, which enables you to pass the value of the variable from one view to another.
    Custom Controller:-
    They also have the same the function but as the name suggest there function can be customised. That is we can have more than one custom controller for a component. This is usefull when we need to create seperate execute methods for inputs from model import( Both webservice and rfc call).So you can seperate each other. Example is there in the more sample codes and application section.
    regards
    Anil Dichpally

  • Difference between workbench request and customizing request in transport

    Hi Experts,
    I am new to SAP BI7 work. i am having basic doubt in Transort request creations
    ususally we create  the requests to transport the objects from Development  system to further systems.
    can anyone please clarify me,  what is the main defference between the Workbench request and Customizing request.
    Thanks and Regards
    Mrudula

    Hi ,
           The Transport Organiser maintains Change Requests.These requests record the changes made to the repository and customizing objects.Based on that objects changed they are
    1)WorkBench Request & 2) Customizing Request.
    Workbench Requests are those that involve changes to cross-client Customising and Repository Objects. The objects are independent of the client.Hence the requests are used for transferring and transporting changed Repository objects and changed system settings from cross-client tables.
    Customizing Requests involve changes recorded to client-specific Customizing objects .These client specific requests are used for copying and transporting changed system settings from client-specific tables.
    Refer this links http://www.allinterview.com/showanswers/57910.html
    customising and workbench request
    Difference between Customizing request and Workbench request
    and many more threads available on this.
    Regards,
    Rahul.

  • Difference between "Rebate Recipient" and "Customer" in Rebate Setting

    While setting "Rebate Agreement" (TCode VBO1), for "Customer Rebate" (0003) Agreement Type, there is one "Rebate Recipient" and then when we go on to create the conditions, there is "Customer" for different rate etc.
    My question- What is difference between the "Rebate Recipient" & the "Customer" (the one we enter while entering the conditions)?
    Is it like "Payer" & "Sold to Party" partner function in Sales Order Processing eg for different "Sold to Party" there could be one "Payer", similarly for Rebate, for these different "Sold to Party", which would be like "Customer" in Rebate setting and the "Payer" in Sales Order will be like "Rebate Recipient" in Rebate Setting.?
    Thx

    Dear SR
    Rebate Recipient is the payer
    As you know ,in rebate configuration , the payer's master record is to be activated which is first major setting in rebates
    Customer is sold to party
    As you know ,the rebate process starts from sales order (your sales order pricing procedure will have rebate condition types but they are reflected in billing) and in a sales document the pricing conditions is taken from sold to party and the pricing condition records are taken from sold to party
    If in case payer and sold to party are different
    That means the input is taken from sold to party that is Customer (rebate calculations in pricing procedure ) and the out put is passed on to the payer that is Rebate Recipient (passing on rebate claim as credit notes)
    That is two different identities  which the system needs to know
    Hence SAP has defined so
    Even if the payer and sold to paty are same even then we need to give the same no(customer no ) in both the places
    Regards
    Raja

  • Difference between User Store and Persistence Storage.

    I need to delete the user and and the user account from the SAP EP.
    but i am facing a strange problem (for me), When i search for the user in EP, the search result
    says that the user does not exist.
    If i try to search for the user using UME Apis then i am able to find the user.
    i could see 2 methods in UME API deleteUser and deleteUserAccount
    so wanted to know the difference bwt the two and which one to use to delete the user completely for the datasource and EP
    regards
    Prashanth

    Hi Prashanth,
    If your EP is connected to LDAP.
    then you need to delete your user from LDAP only.(if u have an access to LDAP)
    if you try to delete from EP it still exists in UME.
    try making use of deleteUserAccount.
    Rgds
    G.Srinivas

  • Difference between user directory and native directory in Shared Services

    Hi,
    Please any one can help me......
    I am new to Hyperion, what is difference between Hyperion Shared services Native directory and User/Active directory.
    thanks in advance..............

    Hi,
    Shared Services native directory, as the name suggests, is a user directory (i.e. ldap) that is native to Hyperion. It allows you to create users, groups and define access rights to Hyperion Products. User/Active directory is the directory where users in your company reside. Shared Services can connect to it and retrieve the list of users and groups. You can define the access rights for these users if you configure the system in a way that it works with Active Directory.
    You can use both combined also. Meaning, you can create user groups in native directory and assign native directory users into them and define access rights onto user groups and/or users.
    Cheers,
    Alp

  • Difference between Activation Dev and Customer Requirement dev system

    Hi  All
    I am going to install Baseline Packages 
    on ECC 6 EHP 4.
    i am having confusation that why we need activation development system and customer requirement development system in our sap landscape...
    As per sap document its mention that we need four system landscape......
    i am have gone through this  note 1426866.
    so please help me.........
    Please someone help me it is critical issue .. i am waiting for your valueable reply.....
    Edited by: amkum82 on Oct 11, 2010 1:47 PM

    Hi
    Baseline package includes BC sets with preconfigured scenarios as you might know. While customers requirements may be require certain additional configuration,customizing or enhancments . So in implementation scenario to track and maintain Baseline configuration intact for reference and future use ,the Baseline activation system is used.
    While the client requirement system will be a development system  for config and testing of all requirements arising out of project.
    I hope this helps
    Regards
    Mandar

  • Query performance - Difference between OPERATOR - Exists and IN

    Hi,
    I Have Two Tables VD,ID .Each table containg one lakh rows.
    CREATE TABLE VD (
    SRNO NUMBER(12) ,
    UNIT Varchar2(2) ,
    CREATE TABLE ID ( SRNO NUMBER(12),
    PID Varchar2(2) ,
    Sid Varchar2(20)
    In my Application i need to display Column(SRNO) from table VD If the Column(SRNO)exists in Table ID
    for the given PID and SID.
    Which query has better performance in below Queries ?
    Select SRNO from VD Where SRNO in( Select SRNO From ID Where PID = :A
    And Sid = :B )
    Select SRNO from VD V Where Exists( Select 'X' From ID Z Where Z.PID = :A
    And Z.Sid = :B
    And Z.SRNO = V.SRNO )
    Version : Oracle 10g
    Thanks ....
    Sathi

    user10732947 wrote:
    pls refer to :-)
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:953229842074
    And which part are you referring to specifically?
    It backs up what Toon already mentioned....
    ops$tkyte@ORA10GR2> SELECT /* EXISTS example */
      2           e.employee_id, e.first_name, e.last_name, e.salary
      3    FROM employees e
      4   WHERE EXISTS (SELECT 1 FROM orders o                  /* Note 1 */
      5                    WHERE e.employee_id = o.sales_rep_id   /* Note 2 */
      6                      AND o.customer_id = 144);
    Execution Plan
    Plan hash value: 551415261
    | Id  | Operation                    | Name      | Rows  | Bytes | Cost (%CPU)|
    |   0 | SELECT STATEMENT             |           |    67 |  4087 |    49   (3)|
    |   1 |  NESTED LOOPS                |           |    67 |  4087 |    49   (3)|
    |   2 |   SORT UNIQUE                |           |    67 |  1139 |    14   (0)|
    |*  3 |    TABLE ACCESS FULL         | ORDERS    |    67 |  1139 |    14   (0)|
    |   4 |   TABLE ACCESS BY INDEX ROWID| EMPLOYEES |     1 |    44 |     1   (0)|
    |*  5 |    INDEX UNIQUE SCAN         | EMP_PK    |     1 |       |     0   (0)|
    Predicate Information (identified by operation id):
       3 - filter("O"."CUSTOMER_ID"=144)
       5 - access("E"."EMPLOYEE_ID"="O"."SALES_REP_ID")
    ops$tkyte@ORA10GR2>
    ops$tkyte@ORA10GR2> SELECT /* IN example */
      2           e.employee_id, e.first_name, e.last_name, e.salary
      3      FROM employees e
      4     WHERE e.employee_id IN (SELECT o.sales_rep_id         /* Note 4 */
      5                               FROM orders o
      6                              WHERE o.customer_id = 144);
    Execution Plan
    Plan hash value: 551415261
    | Id  | Operation                    | Name      | Rows  | Bytes | Cost (%CPU)|
    |   0 | SELECT STATEMENT             |           |    67 |  4087 |    49   (3)|
    |   1 |  NESTED LOOPS                |           |    67 |  4087 |    49   (3)|
    |   2 |   SORT UNIQUE                |           |    67 |  1139 |    14   (0)|
    |*  3 |    TABLE ACCESS FULL         | ORDERS    |    67 |  1139 |    14   (0)|
    |   4 |   TABLE ACCESS BY INDEX ROWID| EMPLOYEES |     1 |    44 |     1   (0)|
    |*  5 |    INDEX UNIQUE SCAN         | EMP_PK    |     1 |       |     0   (0)|
    Predicate Information (identified by operation id):
       3 - filter("O"."CUSTOMER_ID"=144)
       5 - access("E"."EMPLOYEE_ID"="O"."SALES_REP_ID")Two identical Execution plans...

  • How to capture user input for customer exit processing?

    I need to calculate the number of working days elapsed in the current fiscal quarter BASED on the USER INPUT on the reporting front.  i.e., say the fiscal quarter started on 1 July 2005 and if the user enters 10 July 2005, I should get the value 8 (Assume that Monday through Friday are all workdays).  If the user enters 12 July 2005, I should get 10.  I have written customer exits and know how to use factory calendar, but <b>THE CHALLENGE</b> is how do I <b>CAPTURE</b> the user input and use it in my exit?  During the varible definition, if I select the check box "Ready for input" then the customer exit is not being processed and unless I check that box I can't get a user entry!  If I look at the import values in the customer exit, I see i_t_var_range with type rrs0_t_var_range.  My strong feeling is that this parameter gets the user input, but I am unable to use it as the customer exit is not being called if I make the user to input the data.  Based on the empirical evidence, I felt that user input and customer exit can not co-exist!!  Please somebody prove me wrong and let me know how can I use the user input to process my "customer-exit" variable.  I would really appreciate any input from the BW community here.

    Hi Sameer,
    Most likely, I'm missing something, but I think that the answer is very simple.
    CASE I_VNAM.
    WHEN 'YOUR_CUSTOMER_EXIT_VAR'.
    IF I_STEP = 2. “ After selecting of input variable
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'USER_INPUT_VAR'.
    CLEAR L_S_RANGE.
    L_S_RANGE-LOW = LOC_VAR_RANGE-LOW(4).
    APPEND L_S_RANGE TO E_T_RANGE.
    ENDLOOP.
    ENDIF.
    ENDCASE.
    In this typical user exit coding you have a user entered value in LOC_VAR_RANGE (originally in I_T_VAR_RANGE) and you construct your user exit variable value in E_T_RANGE.
    Best regards,
    Eugene
    Message was edited by: Eugene Khusainov

Maybe you are looking for