EXIT statement in custome exit

Hi All,
I have written EXIT statement in routine XXX of Sales order custom include MV45AFZZ.
does this EXIT statement inside user exit do any internal commits or incorrect commits. Please explain.
i heard that output of messages (except message type u201CAu201D) inside user exits triggers an incorrect commit work, the result
*could be a loss of transactional integrity and possible data inconsistencies,
Is this above statement is true. Please provide the links that could talk about commits in user exits.
Thanks,
Shaik

hi
jus have a look at this documentation
http://help.sap.com/saphelp_nw04/helpdata/en/f1/0a56f5e09411d2acb90000e829fbfe/content.htm
hope this helps
regards
Aakash Banga

Similar Messages

  • Customer exit for calling a database a table

    Hi Friends,
    I want to write a customer exit code for customer exit variable which should call a database table which i have created. The database table  consist of two fileld username and the material value assign to that user.
    and when a  perticuler user execute a query using this customer exit variable the customer exit code will  check the user who is log in and will get filled by value assigned to it in the database table.
    i am new to the customer exit can any one send me the sample code for this.
    Points will be assign to helpful answer.
    Regards,
    Deepak

    Hay Diogo,
    here is the code.even if i put I_step = 2 i can not see any value in the variable as default and when i try to select it.i can not see any value in selection screen and i see message that You must have authorization for at least one characteristic value for the characteristic PLD_MPLAN.
    Database table created is ZPLDVALUES with following entries
      USERNAME     PLD_MPLAN
      TEST_DW03       000000000000101628            not working  when no I_Step in coad
      TEST_DW04       000000000000101628
      TEST_DW15       000000000000101628
    FUNCTION zpldvarexit_pld_mplan_u01.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(I_VNAM) TYPE  RSZGLOBV-VNAM
    *"     VALUE(I_VARTYP) TYPE  RSZGLOBV-VARTYP
    *"     VALUE(I_IOBJNM) TYPE  RSZGLOBV-IOBJNM
    *"     VALUE(I_S_COB_PRO) TYPE  RSD_S_COB_PRO
    *"     VALUE(I_S_RKB1D) TYPE  RSR_S_RKB1D
    *"     VALUE(I_PERIV) TYPE  RRO01_S_RKB1F-PERIV
    *"     VALUE(I_T_VAR_RANGE) TYPE  RRS0_T_VAR_RANGE
    *"     VALUE(I_STEP) TYPE  I DEFAULT 0
    *"  EXPORTING
    *"     VALUE(E_T_RANGE) TYPE  RSR_T_RANGESID
    *"     VALUE(E_MEEHT) TYPE  RSZGLOBV-MEEHT
    *"     VALUE(E_MEFAC) TYPE  RSZGLOBV-MEFAC
    *"     VALUE(E_WAERS) TYPE  RSZGLOBV-WAERS
    *"     VALUE(E_WHFAC) TYPE  RSZGLOBV-WHFAC
    *"  CHANGING
    *"     VALUE(C_S_CUSTOMER) TYPE  RRO04_S_CUSTOMER OPTIONAL
      "DATA material LIKE zpldvalue-pld_mplan.
      DATA: l_s_range TYPE rs_s_range,
            l_s_var_range LIKE LINE OF i_t_var_range.
    *if i_step = 2.
      DATA: BEGIN OF usevalue OCCURS 0,
            username LIKE zpldvalues-username,
            pld_mplan LIKE zpldvalues-pld_mplan,
            END OF usevalue.
       " Variable nach Selektionsbild bearbeiten
        SELECT pld_mplan FROM zpldvalues
        INTO  usevalue-pld_mplan
        WHERE username = sy-uname.
        ENDSELECT.
        refresh e_t_range.
        CLEAR l_s_range.            " Range-Tabelle füllen
        l_s_range-low  =  usevalue-pld_mplan.
        l_s_range-sign = 'I'.
        l_s_range-opt  = 'EQ'.
        APPEND l_s_range TO e_t_range.
    *endif.
    ENDFUNCTION.
    -Deepak
    Edited by: Deepak warbhe on Sep 2, 2008 5:18 PM
    Edited by: Deepak warbhe on Sep 2, 2008 5:28 PM

  • Problem with customer exit EXIT_SAPLL03A_002:

    hello all ,
    i have to write some code in the customer exit 'EXIT_SAPLL03A_002'. this customer exit will trigger while creating a transfer order using LT01,LT02 or LT03 transaction . the standard program for all these transactions is SAPML03T . The customer exit EXIT_SAPLL03A_002 is present inside the Standard program SAPML03T. i have to change the storage type indicator value in the internal table imlvs which is present in the standard program SAPML03T.but when i try to access this internal table inside the exit 'EXIT_SAPLL03A_002'.it is showing syntax error as 'IMLVS is not found '.
    How can i make use of field symbols in this case ?
    can we declare a field symbol as internal table .
    my requirement is to change th value of (SAPML03T)IMLVS-LTKZE inside the customer exit 'EXIT_SAPLL03A_002'.
    Thanks in advance ,
    pavan.

    Hi,
    Here is the example for your reference. I am trying to change the shipping condition in the internal table.
    FIELD-SYMBOLS: <fs> TYPE table,
                   <fs_ekpv> TYPE cekpv.
    DATA:lv_structurename(40) TYPE c,
         lv_ttype TYPE cifapottype,
         xekpv TYPE TABLE OF ekpv.
    DATA:lv_vsbed TYPE vsbed.
    lv_structurename = '(SAPMM06E)PTV[]'.
    ASSIGN (lv_structurename) TO <fs>.
    IF <fs> IS ASSIGNED.
      IMPORT lv_ttype FROM MEMORY ID 'ZAPO_TTYPE'.
      CHECK NOT lv_ttype IS INITIAL.
      CLEAR lv_vsbed.
      SELECT SINGLE  vsbed
             FROM ztlb_transport
              INTO lv_vsbed WHERE ttype = lv_ttype.
      IF NOT lv_vsbed IS INITIAL.
        LOOP AT <fs> ASSIGNING  <fs_ekpv>.
          <fs_ekpv>-vsbed = lv_vsbed.
        ENDLOOP.
      ENDIF.
    ENDIF.
    Thanks,
    Vamshi.

  • Customer Exit - CNEX0001

    Hi Everybody,
       I'm trying to implement function exit - EXIT_SAPLCJWB_001 of Customer Exit - CNEX0001 of PS module.
       Here I'm trying to dynamically assign F4 help to User Fields PRPS-USR00, PRPS-USR01, PRPS-USR02 and PRPS-USR03.
       I have tried using function module 'F4IF_FIELD_VALUE_REQUEST' to achieve this task. But I want to popup F4 based on user response. Say in some POV event. But how do we do that inside Function Exit????
       Waiting for reponse....
    Regards,
    Deva.

    Hi,
    Actually this Userexit can be used only for validate the userfields. i think you are also using this exit for validation only. if user enters some invalid value , you have to show a pop-up which consists of valid values, user has to select one among them. you can do achieve that logic by using some 'POP_UP.......' function modules.
    Thanks
    Ramesh

  • User Exit / Functional Exit / Screen Exit /Customer Exit

    Dear all,
                 Can anybody explain me about the User Exit / Functional Exit / Screen Exit /Customer Exit and give me the step by step procedure.I want to know more plese reply me.

    Hi,
    Exits are basically the hooks whcih SAP has provided to add your own code. There are two types of Exits:
    1. Customer exits: Implemented as Function Modules within z includes. Anybody can change it and no access key is required.
    2. User Exit: Implemented as subroutines within includes (any include except y or z includes). You need access for the specific include and then you can any subroutine (user exit) within that Include.
    BADIs are the enhanced version of user exits where the same logic is implemented via classes and object (OOP)
    Enchancement point is the latest once introduces with ECC6.0 . Not very sure about that but you can change it without any access key.
    Please go through the following link which will help you understand the exits in a much better way:
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec07a25db911d295ae0000e82de14a/content.htm
    http://www.sap-img.com/abap/what-is-the-difference-between-smod-and-cmod.htm
    http://sap.niraj.tripod.com/id21.html
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
    http://www.sap-img.com/ab038.htm
    User Exits.
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    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
    customer exits
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f1a7e790-0201-0010-0a8d-f08a4662562d
    Menu Exit.
    http://www.sappoint.com/abap/spmp.pdf
    http://www.sappoint.com/abap/userexit.pdf
    http://www.sapdevelopment.co.uk/enhance/mod_sapmenu.htm
    http://www.sapdevelopment.co.uk/enhance/enhancehome.htm
    USER EXIT
    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
    http://www.sap-img.com/ab038.htm
    http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci982756,00.html
    Field Exit
    If you are in 4.7 and up follow this
    1. Run report RSMODPRF
    2. Run on the selection screen
    3. In list Field Exit > Create
    4. Give your data element
    5.System will generate the FM FIELD_EXIT_XXXXX
    6. Activate it.
    7. Select your field exit and assign to your program and screen
    8. Select again .. Field exit > Activate
    If you are in version below 4.7
    1. CMOD
    2. Go to >Text enhancment > Field exit
    then follow the same step from 3 onwards as given above.
    Menu Exit
    Procedure for Creating MENU Exits.
    1) To get into Area Menu Maintenance Screen Type SE43 T.Code in Command
    Line.
    2) In Area Menu Paramenter type 'S000' (S triple Zero)
    3) Then Press Change Icon in Application Tool Bar. Then It may ask for
    Access Key [or] it may display "Specify Processing mode" window. If it ask
    for the Access Key Check for the availability of OSS Note and apply to open
    Standard SAP Menu to include MENU Exits. Otherwise, if it display "Specify
    Processing mode" window with Three Push Button. In which select "Change" and
    proceed further.
    4) Then it will display "Information" window with the following information
    "Caution : The Original Language of the structure is German (editing lang. :
    English) ". Then press "Enter Key to proceed further.
    5) Then you will get into "Edit Area Menu S000".
    6) for eg:- Expand Tools Menu.
    7) Then Press ABAP Workbench <Icon>.
    8) Then you will get into ABAP Workbench Menu Tree.
    9) Then Expand Utilities Menu.
    10) In the last line you will find one MENU EXIT Provision to include your
    own menu. "Node Text Not Found" This text can be change by double Clicking
    that. There you can find the T.Code. Here for Eg:- "+DW4".
    11) for eg: - Here change the Text to "Sample Menu Exit" and then note down
    the T.Code "+DW4".
    12) Then Save with Change Request Number and come out of Transaction SE43.
    13) Then Goto Transaction SE93.
    14) Then type T.Code "+DW4" and press Create.
    15) Then proceed further to create transaction called "+DW4".
    I hope this could help you in Creating Menu Exit...
    Creating menu exits
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/19762743b111d1896f0000e8322d00/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/83/7a18cbde6e11d195460000e82de14a/frameset.htm
    Regards,
    Satish

  • Sequence of Customer exit variables executed by a Query?

    Hi All,
    Can some one please answer my query!
    We have 2 queries
    1. First query speaks about sales Actual vs Planned
    and in this query we have the KF restricted by time period(Customer exit var) & 0INFOPROV(Customer exit var).
    2.Second speaks about Profits for Actuals Vs Planned
    and in this query also we have the KF restricted by time period(Customer exit var) & 0INFOPROV(Customer exit var).
    when we execute query 1(In Debug mode in CMOD under the Processing step 2 I can find that the CASE I_VARNAM catches first the Time period and then for 0INFOPROV but when I run query 2 exactly the vice versa happens i.e the varname first catches for 0INFOPROV n then for Time period(due to which we have an incorrect result). So I just want to know how is the sequence of this customer exit variables defined/cached in CMOD under Processing step 2 maintained.
    How can I change the 2nd query to fetch first the Time Period n then 0INFOPROV
    Regards

    Hi Udo,
    This is meant for the sequence of the input variables in the d selection screen, but I'd like to know the sequence of customer exit variables captured in CMOD and how can we change this.
    Regards

  • Difference between customer exit and user exit?

    hi experts
    difference between customer exit and user exit?

    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.
    Also:
    1. Customer exits: Implemented as Function Modules within z includes. Anybody can change it and no access key is required.
    2. User Exit: Implemented as subroutines within includes (any include except y or z includes). You need access for the specific include and then you can any subroutine (user exit) within that Include.
    BADIs are the enhanced version of user exits where the same logic is implemented via classes and object (OOP)
    Enchancement point is the latest once introduces with ECC6.0 . Not very sure about that but you can change it without any access key.
    Please go through the following link which will help you understand the exits in a much better way:
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec07a25db911d295ae0000e82de14a/content.htm
    http://www.sap-img.com/abap/what-is-the-difference-between-smod-and-cmod.htm
    http://sap.niraj.tripod.com/id21.html
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
    http://www.sap-img.com/ab038.htm
    User Exits.
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    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
    customer exits
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f1a7e790-0201-0010-0a8d-f08a4662562d
    Menu Exit.
    http://www.sappoint.com/abap/spmp.pdf
    http://www.sappoint.com/abap/userexit.pdf
    http://www.sapdevelopment.co.uk/enhance/mod_sapmenu.htm
    http://www.sapdevelopment.co.uk/enhance/enhancehome.htm
    1. Previously there were only user-exits.
    2. Then came the concept of customer-exits.
    3. user exits were nothing but subroutines
    FORM/PERFORM
    called from standard programs.
    4. The FORM defintion was placed inside
    an empty include file.
    5. So It was called EVERYTIME.
    and we need to MODIFY/REPAIR the
    standard include .
    6. Then it came with concept of customer-exit
    7. 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.
    8. 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.
    Exits are basically the hooks whcih SAP has provided to add your own code.
    User Exits: These are provided only SD module .
    They are Empty subroutines with naming like USEREXIT_.
    We need to have Access key to implement them.
    Customer Exits: These are enhancement techniques.
    There are defined in SMOD and implemented in CMOD.
    Types of Customer exits: Function exit, Screen Exit, Menu exit.
    User Exit and Customer Exit are same ,but SAP Exit and Customer exit are different...
    Customer Exit,
    Enables you to determine values for variables by means of Functional Module exit.The function module used is EXIT_SAPLRRSO_001.
    Create a project in CMOD by selecting the SAP Enhancement RSR00001 and assign this to the enhanced proj and activate it.
    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
    http://help.sap.com/saphelp_nw04/helpdata/en/1d/ca10d858c2e949ba4a152c44f8128a/frameset.htm
    SAP EXIT:this processing type contained in variables that are delivered with SAP BW business content.
    http://help.sap.com/saphelp_nw04/helpdata/en/1d/ca10d858c2e949ba4a152c44f8128a/frameset.htm
    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
    reward points if found useful
    regards
    palak

  • Diff Between USEREXITS and CUSTOMER EXITS?

    Hi all,
    What is the Diff Between <b>USEREXITS</b> and <b>CUSTOMER EXITS.</b>REgards,
    Kishore.

    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.
    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,
    Bharat Kumar Reddy.V

  • User exits ,customer exits

    anybody tell me difference between userexits and customer exits.

    Hi,
    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.
    Also:
    1. Customer exits: Implemented as Function Modules within z includes. Anybody can change it and no access key is required.
    2. User Exit: Implemented as subroutines within includes (any include except y or z includes). You need access for the specific include and then you can any subroutine (user exit) within that Include.
    BADIs are the enhanced version of user exits where the same logic is implemented via classes and object (OOP)
    Enchancement point is the latest once introduces with ECC6.0 . Not very sure about that but you can change it without any access key.
    Please go through the following link which will help you understand the exits in a much better way:
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec07a25db911d295ae0000e82de14a/content.htm
    http://www.sap-img.com/abap/what-is-the-difference-between-smod-and-cmod.htm
    http://sap.niraj.tripod.com/id21.html
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
    http://www.sap-img.com/ab038.htm
    User Exits.
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    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
    customer exits
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f1a7e790-0201-0010-0a8d-f08a4662562d
    Menu Exit.
    http://www.sappoint.com/abap/spmp.pdf
    http://www.sappoint.com/abap/userexit.pdf
    http://www.sapdevelopment.co.uk/enhance/mod_sapmenu.htm
    http://www.sapdevelopment.co.uk/enhance/enhancehome.htm
    1. Previously there were only user-exits.
    2. Then came the concept of customer-exits.
    3. user exits were nothing but subroutines
    FORM/PERFORM
    called from standard programs.
    4. The FORM defintion was placed inside
    an empty include file.
    5. So It was called EVERYTIME.
    and we need to MODIFY/REPAIR the
    standard include .
    6. Then it came with concept of customer-exit
    7. 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.
    8. 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.
    Exits are basically the hooks whcih SAP has provided to add your own code.
    User Exits: These are provided only SD module .
    They are Empty subroutines with naming like USEREXIT_.
    We need to have Access key to implement them.
    Customer Exits: These are enhancement techniques.
    There are defined in SMOD and implemented in CMOD.
    Types of Customer exits: Function exit, Screen Exit, Menu exit.
    User Exit and Customer Exit are same ,but SAP Exit and Customer exit are different...
    Customer Exit,
    Enables you to determine values for variables by means of Functional Module exit.The function module used is EXIT_SAPLRRSO_001.
    Create a project in CMOD by selecting the SAP Enhancement RSR00001 and assign this to the enhanced proj and activate it.
    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
    http://help.sap.com/saphelp_nw04/helpdata/en/1d/ca10d858c2e949ba4a152c44f8128a/frameset.htm
    SAP EXIT:this processing type contained in variables that are delivered with SAP BW business content.
    http://help.sap.com/saphelp_nw04/helpdata/en/1d/ca10d858c2e949ba4a152c44f8128a/frameset.htm
    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
    Reward Points if found helpfull..
    Cheers,
    Chandra Sekhar.

  • Customer Exit  ---  Select statement is not working

    Hi All,
             I am working on Master Data Text Datasource customer exit. Reading only restricted records using select statement if it is valid then those records move into I_T_DATA. If not they are not going to read.
           I have written the following code .
    Data : ls_rotextstr2 TYPE ROTEXTSTR2. '' Extrct Struct Name
    *&Assigning  values language and chart of accounts to variables
    Data : lc_zspras     TYPE SKAT-SPRAS VALUE 'E',
           lc_Zktopl     TYPE SKAT-KTOPL VALUE 'GCOA',
           lc_zsaknr     TYPE SKAT-SAKNR.
    LOOP AT I_T_DATA INTO ls_rotextstr2.
    gi_tabix = SY-TABIX.
    SELECT SINGLE SPRAS KTOPL SAKNR FROM SKAT INTO
    (lc_zspras, lc_Zktopl, lc_zsaknr)
    WHERE SPRAS = lc_zspras
    AND   KTOPL = lc_Zktopl.
    IF SY-SUBRC EQ 0.
    MODIFY I_T_DATA FROM ls_rotextstr2.
    ENDIF.
    ENDLOOP.
    Here select statement reading all records like other than 'EN" and 'GCOA' and  going to Subrc condition.
    Please some one take a look at the programme and tell me where I am making mistake. I just want the records that are language = 'EN' and Chart of Accounts = 'GCOA'.
    Your suggestions are very help full to me,
    Thanks
    Ganesh.

    Hi,
    Apply the following changes :
    Data : ls_rotextstr2 TYPE ROTEXTSTR2. '' Extrct Struct Name
    Data : lc_zspras TYPE SKAT-SPRAS VALUE 'E',
    lc_Zktopl TYPE SKAT-KTOPL VALUE 'GCOA',
    lc_zsaknr TYPE SKAT-SAKNR.
    LOOP AT I_T_DATA INTO ls_rotextstr2.
    gi_tabix = SY-TABIX.
    SELECT SINGLE SPRAS KTOPL SAKNR FROM SKAT INTO
    (lc_zspras, lc_Zktopl, lc_zsaknr)
    WHERE SPRAS = lc_zspras
    AND KTOPL = lc_Zktopl.
    IF SY-SUBRC NE 0.
    DELETE I_T_DATA INDEX gi_tabix.
    CONTINUE.
    ENDIF.
    ENDLOOP.
    hope it works...
    regards,
    Raju

  • UserExit or Customer Exit for F110 - '*' on Vendor Line Item Payment Run

    Dear all,
    Background
    Currently in F110, when processing for vendor payments, the item text ( or segment text) is only printed out when item text begins with an asterik ' * '. The asterik is meant to indicate that this document/item is posted from external system. You may do a F1 on the text field for detail explanation.
    In the event, asterik is not present on the item text even if the text is not blank, it will not be printed at all.
    Here are two OSS notes on the asteriks: 312623 and 1292333.
    Include: F110SFS0_SATZ_KOMPLETTIEREN
    *------- Segementtext
      IF REGUP-SGTXT(1) NE '*'.
        REGUP-SGTXT = SPACE.
      ENDIF.
    Requirement
    User is requesting for item text to be printed at all time, when the text exist, regardless of ' * '.
    Question
    Does anyone know of a user exit / customer exit that i could use to do modification for SGTXT ?
    Would appreciate it, if you could share your suggestions / experiences - on this matter, even if it doesn't need to be resolved through user exits.  Thanks in advance

    BTW..you have fot following exits for F110;
    Transaction Code - F110                     Parameters for Automatic Payment
    Enhancement/ Business Add-in            Description
    Enhancement
    RFFOX074                                Frame for user exit RFFOX074 (in program RFFOCH_U)
    RFFOX075                                Frame for user exit RFFOX075 (in program RFFOCH_U)
    RFFOX081                                Frame for user exit RFFOX081 (in program RFFOF__T)
    RFFOX082                                Frame for user exit RFFOX082 (in program RFFOF__T)
    RFFOX100                                Frame for user exit RFFOX100 (in program RFFOUS_T)
    RFFOX101                                Frame for user exit RFFOX101 (in program RFFOUS_T)
    RFFOX102                                Frame for user exit RFFOX102 (in program RFFOUS_T)
    RFFOX103                                Frame for user exit RFFOX103 (in program RFFOUS_T)
    RFFOX104                                user exit
    RFFOX105                                Frame for user exit RFFOX105 (in program RFFOUS_T)
    RFFOX200                                Frame for user exit RFFOX200 (in program RFFONZ_T)
    RFFOX210                                Frame for user exit RFFOX210 (in program RFFOAU_T)
    RFFOX211                                Frame for user exit RFFOX211 (in program RFFONZ_T)
    RFFOX230                                General program for user exit RFFOX230 (in program RFFOJP_L)
    RFFOX240                                Enhancement for User Exit 240 (RFFOAT_P)
    RFFOX250                                Enhancement for User Exit 250 (RFFODK_E)
    RFFOX901                                Framework for user exit RFFOX901 (in program RFFOM100)
    RFFOX902                                Framework for user exit RFFOX902 (in program RFFOM100)
    FDTAX001                                Enhancement to Transaction FDTA (event after the download)
    FEDI0002                                Function exits for EDI DOCS in FI - Incoming pyt adv.notes
    FEDI0003                                Function exits for EDI docs in FI - Save PEXR segments
    FEDI0004                                Function exits for EDI docs in FI - particular events
    FEDI0006                                Function Exits for EDI-docs in FI: Save IDCR Segments
    RFFOX003                                Frame for user exit RFFOX003 (in program RFFOM100)
    RFFOX041                                Framework for user exit RFFOX041 (in program RFFOBE_I)
    RFFOX042                                Framework for user exit RFFOX042 (in program RFFOBE_E)
    RFFOX043                                Framework for user exit RFFOX043 (in program RFFOBE_D)
    RFFOX061                                Frame for user exit RFFOX061 (in program RFFOCH_P)
    RFFOX062                                Frame for user exit RFFOX062 (in program RFFOCH_P)
    RFFOX063                                Frame for user exit RFFOX063 (in program RFFOCH_P)
    RFFOX064                                Frame for user exit RFFOX064 (in program RFFOCH_P)
    RFFOX065                                Frame for user exit RFFOX065 (in program RFFOCH_P)
    RFFOX066                                Frame for user exit RFFOX066 (in program RFFOCH_P)
    RFFOX071                                Frame for user exit RFFOX071 (in program RFFOCH_U)
    RFFOX072                                Frame for user exit RFFOX072 (in program RFFOCH_U)
    RFFOX073                                Frame for user exit RFFOX073 (in program RFFOCH_U)
    Business Add-in
    FI_BSTM_MC_EXIT                         FI Account Statement: Exit from MultiCash Conversion
    FI_F110_SCHEDULE_JOB                    F110: Check before scheduling a proposal/update run

  • Customer Exit Problem in Bex

    Hi Experts,
    I don't know abap but as per our requirement I need to write a Customer Exit,
    my requirement is
    I have user input value variable(ex,10,15 etc upto 31) then I have another Char ZCHSTDATE so if user enters 01 or anyvalue the report result should be the start date plus the value which user enters in the varaible section,ex.if I enter 05 then the out should be startdate+5,so if the start date is 5th Nov then the out put should be 10th Nov.Can't use offset values since user can enter anyvalue between 1 to 31.The Variables I am using are zvuser(User Entered Days) and zvstdays(Customer Exit variable),please can any body help in providing the customer exit code.
    Thanks in Advance,
    Raga

    hi Raga,
    is ZCHSTDATE of type date and what is the type of zvstdays? if both are of type date then u can directly add the date and days to get the required date.
    eg:
    zvstdays = zchstdate + zvuser.
    u can consult this thread also: Adding days to a Date
    in the customer exit u have to write a case statement like
    case <field that is catching the bex vars>.
    when '<ur var name>'.
    result = <put ur formula>.
    endcase.
    hope this helps you
    regards,
    Vaibhav

  • Problem in creating include program for customer exit for BC425_01

    Hi,
         I want to write a customer exit for transaction BC425_01. For identifying the include program for exit , i go to System->Status.There I double click on the program name(GUI).Then I perform a 'FIND' in main program for 'customer-function' keyword. I get 3 search results with "CALL CUSTOMER-FUNCTION '001' " , "CALL CUSTOMER-FUNCTION '002' " , "CALL CUSTOMER-FUNCTION '003' ".
    Now i double click on CALL CUSTOMER-FUNCTION '001'  and i am taken to the code of program where this function is called in MODULE cust_check INPUT. I double click on CALL CUSTOMER-FUNCTION '001'  and then I am taken to the function module code which contains a single statement 'INCLUDE ZXBC425G01U01 .' .
    Now I double click on this include program so that I can write my own code. But when i double click on it , a message displayed 'Program names ZX.. are reserved for includes of exit function groups'. Hence I am not able to creates this include program and write my coding.
    Kindly Help
    THANKS

    Hi Amber,
    Then you click enter button.It is asking to create object with that include name ZXBC425G01U01 in a pop-up.You  should select YES option.It will ask package . Give the package name and save.Then include program is created and allowed you to write your own code.
    Thanks,
    Prasad GVK.

  • Changes to Variable in Customer exit

    Hi Experts,
    We have two variables in the ready for input query.
    First  Variable : Customer exit variable which gets populated based on user login details.
    Second Variable: Input ready variable. The values  will be populated depending on the first variable.
    Suppose the  user belongs to Sales Org India, the first variable will be populated in the back ground  with value IND.
    So the second variable(input ready) on  sales hierarchy   shows the available values only for INDIA in the format   Region->State->city etc  .
    Now the problem is, even the user selects city  in the second variable, the  result set is being locked at the INDIA level  . As a result the other  users are not allowed to lock the data  even if they select any other city.
    Is it possible to delete value of the First variable  in the customer exit after the user input the value for the second variable ?
    I mean the  Sales org should be set to  empty after the user input to the second variable, so that the lock will apply at the region /city level .
    Please let me know If I can provide any more information.
    Thanks and regards,
    Babu v

    Hello,
    Pl see if you can use first variable as authorisation variable
    and second variable as i_step =2 as follows
    INCLUDE ZXRSRU01 *
    Enhancement: MultiProvider using InfoProvider Variable
    include YBW_INFOPROVIDER_VARIABLE.
    *& Include YBW_INFOPROVIDER_VARIABLE *
    DATA:
    ls_var TYPE rrs0_s_var_range,
    ls_range TYPE rsr_s_rangesid,
    l_contained TYPE c,
    ls_mapping TYPE ybw_mapping,
    lt_mapping TYPE TABLE OF ybw_mapping.
    Called after variable popup
    IF i_step = 2 AND i_vnam = 'INFOPROV'.
    - 13 -
    Read mapping table
    REFRESH lt_mapping.
    SELECT * FROM ybw_mapping INTO TABLE lt_mapping.
    Process all selection for country variable
    REFRESH e_t_range.
    LOOP AT i_t_var_range INTO ls_var WHERE vnam = 'S_COUNT'.
    Process all mapping rules
    LOOP AT lt_mapping INTO ls_mapping.
    Always fill LOW and HIGH, Otherwise logic below will not work
    IF ls_mapping-high IS INITIAL.
    ls_mapping-high = ls_mapping-low.
    ENDIF.
    Check if selection is contained in the defined InfoProvider
    CLEAR l_contained.
    CASE ls_var-opt.
    WHEN 'EQ'.
    IF ls_var-low BETWEEN ls_mapping-low AND ls_mapping-high.
    l_contained = 'X'.
    ENDIF.
    WHEN 'BT'.
    IF ls_var-low <= ls_mapping-high AND
    ls_var-high => ls_mapping-low.
    l_contained = 'X'.
    ENDIF.
    ENDCASE.
    Add InfoProvider to return table
    Note: Use COLLECT to avoid duplicates
    IF l_contained = 'X'.
    CLEAR ls_range.
    ls_range-sign = 'I'.
    ls_range-opt = 'EQ'.
    ls_range-low = ls_mapping-infoprov.
    COLLECT ls_range INTO e_t_range.
    ENDIF.
    ENDLOOP. " lt_mapping
    ENDLOOP. " i_t_var_range
    EXIT.
    ENDIF.
    Thanks and regards

  • Prob in text variable with customer exit

    Hi to all
    I am working in PA module in HR ,In my Report i have to count total number of trainee and lateral in given Date range that From date to To Date , Before that i have to calculate a Total Employee Strength before one day of From date , suppose user enter a 1st of April 2007 to 1st of jun 2007 , so Employee strength should be calculated on the 31march 2007, for that i have written custome exit , now i am getting a value also , for Display that date have a created a text variable with customer exit , but i am not able to get that date , it should be display strength as on 31march2007 , instead of it is displaying Strength as on 00.00.0000.I am giving a cod also
    ls_range-sign ='I'.
    ls_range-opt = 'EQ'.
    ls_range-low = 'EB1A'.
    append LS_Range to e_t_range.
    WHEN 'ZPA_DATE'.
    if i_step = 3.
    READ TABLE I_T_VAR_RANGE INTO L_S_VAR_RANGE WITH KEY VNAM = 'ZPA_DATE'.
    IF SY-SUBRC = 0.
    ZTEST = L_S_VAR_RANGE-LOW.
    ztest1 = ZTEST - 1.
    export p = ztest1 to MEMORY ID 'VALUE'.
    ENDIF.
    endif.
    WHEN 'ZFRMDAT'.
    if i_step = 3.
    ls_range-sign ='I'.
    ls_range-opt = 'EQ'.
    ls_range-low = ztest.
    append LS_Range to e_t_range.
    endif.
    when 'ZPA_CDAT'.
    if i_step = 3.
    ztest1 = ztest - 1.
    ls_range-sign ='I'.
    ls_range-opt = 'EQ'.
    ls_range-low = ztest1.
    append LS_Range to e_t_range.
    endif.
    when 'ZPA_VAR3'.
    if i_step = 3.
    ztest1 = ztest - 1.
    import p = ztest1 from memory id 'VALUE'.
    concatenate ztest16(2) ztest14(2) ztest1+0(4) into date separated by '.'.
    move date to temp.
    move 'Hello' to temp.
    ls_range-sign ='I'.
    ls_range-opt = 'EQ'.
    ls_range-low = temp.
    append LS_Range to e_t_range.
    endif.
    Please help me to come out
    Thanks

    Hi Stefania,
    to me it looks like your local variable num_mese is not defined with the correct data type.
    Try to change
    if num_mese = 09 to if num_mese = <b>'</b>09<b>'</b>,
    same for 10 -> '10', 11 -> '11'.
    If that does not help please let me know your coding where you define the type of num_mese (DATA statement).
    Regards
    Stephan

Maybe you are looking for