Follow-up on Ravi's User Exits example

Hi,
Ravi's user exit example:
You have a content data source with fields say customer,sale org, profit center and amount. You wish to add sales manager to this extractor. You <b><u>locate</u></b> the table and <u><b>field name and append that field to the extractor</b></u> and write a code to pick that field when the extractor extracts data. This piece of code is called exit. What it does is the system reads the customer code.
In the above example explaining customer exists, regarding the field, can you clarify “locate the field”. I read that if this field were available in the LIS communication structure that would be an enhancement to the structure where we only move the field from the left to the right (extract structure). In this case an append structure will be generated in the corresponding Include structure.
In the case of the user exit, my understanding is that the field in question, in this example, Sales Manager, is not available in the LIS Communication structure so I was expecting that you would state “create the field” but you said “locate the field”. Did you mean that, and if so, locate from where? Because if it is being located from the LIS communication structure then I would not expect a user exit, at least from my understanding.
Thanks.

Hi Amanda,
Yes, a field can be created when none of the SAP defined fields are solving the issue on hand. In this case too User exits are used. These fields are then appended to the tables.
So all fields are in some table or the other. The field that you require has to be located in these tables and appended to the extractor. This again requires User Exits.
For LO Cockpit extractors, if the field is already available in the extracstructure in LBWE then it can be moved from left to right and no extra coding is required.
Hope this helps.
Kumar

Similar Messages

  • User Exit Examples

    Hi,
    I am trying to look for User Exit examples in my trail Netweaver ABAP 7.01.
    can anyone help to see some sample codes and how user exits are called ?
    Thanks

    Thanks Matt for the help and suggestion,
    if you dont mind me asking, is it part of the forum rules not to ask for examples, or you just personally think it is not appropriate to ask what  asked ? I understand that it is not appropriate to ask without doing my own search
    and you might find my question too easy to ask here..anyhow.
    based on what I read before I post this question,  there are user exits and customer exits and both are different.
    a user exits is defined as a Form (subroutine) and called using PERFORM.
    and customer exit is defined as functions module and called using CALL CUSTOMER-FUNCTION
    http://www.allinterview.com/showanswers/23629.html
    but when I I did a search on the forum ( call user exit) , I got something confused me ,
    the first search hit was this:
    Call User-exit
    this question was marked answer even though the syntax seems to be for calling a customer exit and not a user exit.
    somewhere else, I found another confusing information, as they showed that use exits is defined as  MODULE.
    MODULE user_exit_0001 INPUT  ...
    http://www.sap-img.com/abap/what-is-user-exits.htm
    in this link, customer exit is considered a different generation of user exit and maybe this is why it is confusing to distinguish them .
    http://searchsap.techtarget.com/expert/KnowledgebaseAnswer/0,289625,sid21_gci1240915_mem1,00.html
    I simply thought it will be good if someone can clear this confusing for me by providing me an example.
    I am extracting all the source code of the system as html files , and I need to build hyperlinks.
    so if there is a call to any use exit , a hyperlink should be there to take me to where this exist is defined.
    I thought of asking first about user exits and then make second post for customer exits.
    Misbah

  • USER-EXIT EXAMPLE

    Hi all,
            I'm completely unaware of user-exit and badi. Can anyone can explain me exactly these two concepts with realtime examples.... i want expalnation with some examples. Kindly help in this regards,
    With thanks,
    karthi.

    Hi subramanian karthi  ,
    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_
    Example:
    The program for transaction VA01 Create salesorder is SAPMV45A
    If you search for CALL CUSTOMER-FUNCTION i program
    SAPMV45A you will find ( Among other user exits):
    CALL CUSTOMER-FUNCTION '003'
      exporting
        xvbak   = vbak
        xvbuk   = vbuk
        xkomk   = tkomk
      importing
        lvf_subrc = lvf_subrc
      tables
        xvbfa = xvbfa
        xvbap = xvbap
        xvbup = xvbup.
    The exit calls function module EXIT_SAPMV45A_003
    You will now come to a screen that shows the function module exits for the exit.
    3. Using Project management of SAP Enhancements, we want to create a project to enahance trasnaction VA01 .
    - Go to transaction CMOD
    - Create a project called ZVA01
    - Choose the Enhancement assign radio button and press the Change button
    In the first column enter V45A0002 Predefine sold-to party in sales document. 
    Note that an enhancement can only be used in 1 project. If the enhancement is already in use, and error message will be displayed
    Press Save
    Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002. Double click on the exit.
    Now the function module is displayed. Double click on include ZXVVAU04 in the function module
    Insert the following code into the include: E_KUNNR = '2155'.
    Activate the include program. Go back to CMOD and activate the project. 
    Goto transaction VA01 and craete a salesorder. 
    Note that Sold-to-party now automatically is "2155"
    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
    An example of a user exits :-
    MODULE user_exit_0001 INPUT 
        CASE okcode.
            WHEN 'BACK OR EXIT'.
                CASE sy-dynnr.
                        WHEN '100'.
                             SET SCREEN 0.
                             LEAVE SCREEN.
                        WHEN '200'.
    Note that you can write any code that satisfy your needs.                                                     ****
    But in this case, this was wrote as a sample code for reference sake.                                    ****
    And you can test it.                                                                                ****
                             SET SCREEN 100.
                             LEAVE SCREEN.
                 ENDCASE.
          ENDCASE. 
    Finding User Exits
    Procdedure 1:
    Valid up to at least SAP release 4.0B
    One way to find user exits applicable for a given SAP screen. From the SE38 screen, enter the desired screen main program, and click Utilities > Find In Source Code, and "CUSTOMER-FUNCTION" as the text to search for. This will give you a list of the user exits and where they are called from for all screens in the module pool.
    Note: format of ABAP statement is CALL CUSTOMER-FUNCTION '009', for example. This is the statement called by a submodule attached to the main program.
    Actual related function is EXIT_SAPLCOIH_009, for example. This example refers to customer function 9 in main program SAPLCOIH. Not all user exit functions are names as such, but this is the usual format.
    If you are doing data validation and want to set an error message with a field open, you must be sure that the user exit you are using is linked to a calling module in the PAI section of the screen and the field you wish to be open was in the CHAIN statement which caused the PAI module to be invoked.
    If you use a customer function which was invoked by a PBO module to validate data, the "MESSAGE" statement will cause the screen to return with the desired message at the bottom, but with all screen fields closed for input.
    When you make changes to the include module for a given customer function, you must regenerate the related function group before you will see the changes included in the screen behaviour.
    Procdedure 2:
    Need to find user exits module-wise? Suppose we want to see the available sales module user exits. Go to transaction SE81. Click on SD, then click "edit" on the menu bar and choose select subtree. Click on "information system," Open Environment node, customer exits, and enhancements. Press F8 to get all the user exits for that module. In brief: SE81->SD->Select subtree->Information System->Envir->Exit Techniques->Customers exits->enhancements->Execute(F8)
    Procedure 3:
    Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT
    If you know the Exit name, go to transaction CMOD.
    Choose menu Utillities->SAP Enhancements. Enter the exit name and press enter.
    USER EXIT  (SAP Enhancement)
    http://www.planetsap.com/userexit_det_1.htm
    List of all USER EXIT's  (4.6c version)
    http://www.planetsap.com/Userexit_List.htm
    User Exits in FI/CO
    http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
    Excellent web-site for user-exits
    http://www.abaptalk.com/forum_posts.asp?TID=31&SID=3b18fa1dc8b7b9a1dbdedf36fe3bc2az&PID=56#56
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/208811b0-00b2-2910-c5ac-dd2c7c50c8e8
    Enhancements,Creating a project,Assigning SAP enhancements to a project,Editing enhancement components,Activating a project
    http://www.planetsap.com/userexit_main_page.htm
    Find user exits with a TCode
    http://www.erpgenie.com/abap/code/abap26.htm
    SAP User Exits Routine
    http://www.sap-basis-abap.com/sapab013.htm
    User Exit and Enhancement explained in detail .
    http://sap.niraj.tripod.com/id21.html
    Excellent web-site for user-exits
    http://www.abaptalk.com/forum_posts.asp?TID=31&SID=3b18fa1dc8b7b9a1dbdedf36fe3bc2az&PID=56#56
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/208811b0-00b2-2910-c5ac-dd2c7c50c8e8
    http://abap4.tripod.com/Other_Useful_Tips.html
    BAdis:
    These steps should enable you to find any BADI related to any transaction in a matter of minutes.
    Procedure 1:
    1) Go to the transaction SE37 to find your function module.
    2) Locate the function SXV_GET_CLIF_BY_NAME.
    3) Put a breakpoint there.
    4) Now open a new session.
    5) Go to your transaction. 6) At that time, it will stop this function.
    7) Double click on the function field EXIT_NAME.
    8) That will give you name of the BADI that is provided in your transaction.
    Business Add-Ins
    Procedure 2:
    1) Goto se24 (Display class cl_exithandler)
    2) Double click on the method GET_INSTANCE.
    3) Put a break point at Line no.25 (CASE sy-subrc).
    4) Now Execute SAP standard transaction
    5) Press the required button for which you need to write an exit logic, the execution will stop at the break point.
    6) Check the values of variable 'exit_name', it will give you the BADI name called at that time.
    7) This way you will find all the BADIs called on click of any button in any transaction
    SAP Business Add-Ins (BAdIs) are one of the most important technologies used to adapt SAP software to specific requirements. BAdIs were introduced with Release 4.6 and replace function module exits. This technology is not limited to SAP applications. BAdI calls can be integrated in customer applications. These can then be enhanced by other customer applications. In the various SAP applications, BAdI calls are implemented at places where enhancements are appropriate.Business add-ins are enhancements to the standard version of the system. 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 defines exit points in a source that allow specific industry sectors, partners, and customers to attach additional coding 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 solution, 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, country-specific versions, industry solutions, partner, customer, and so on). You can create definitions and implementations of Business Add-Ins at any level of the system landscape.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 differentiate between Add-In implementations using the filter Country or other criteria.
    The enhancement technique is set up in such a way that it is possible to define interfaces for ABAP soure code, screens, GUI interfaces, and tables. These allow 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.
    BADI is just an object-oriented version of user-exit. Instead of entering program code into some function module (as in customer-exit), you define some class which has to implement predefined methods and those methods are fired at predefined points just like an old user-exit. Some BADI can have multiple independent implementations which is much better for software deployment as several developers can implement the same BADI independently. BADI/UserExists are used to enhance R/3 For customer Needs.
    Actually there is no transaction to find when and where the BADI
    is called.
    1. You can see the BADI description to find why it is called.
    2. Once you implemented and activated the BADI, put some break points
    in the BADI and see "where else used" option to check in what all
    programs this BADI is called. In the ITS debug, when you are doing
    the operation what exactly the BADI description tells, it will take
    to the break points and you have to do manually debug the whole thing.
    I know its bit difficult to do manual debug the whole thing, it
    takes lot of time, but you have to be very patience when you are
    dealing with BADI's.
    Transaction SE18 is the BADI equivalent of transaction SMOD
    Transaction SE19 is the BADI equivalent of transaction CMOD .
    To find the BADI to be implemented and then implement this via SE19.
    Check this blogs 2 find a BADI:
    How To Define a New BAdI Within the Enhancement Framework (Some Basics About the BAdI,BAdI Commands in ABAP,
    When to Use a BAdI?)
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    How to implement a BAdI And How to Use a Filter
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    Introducing Business Add-Ins
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f3202186-0601-0010-6591-b832b1a0d0de
    How to implement BAdi in Enhancement Framework
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0456c54-0901-0010-f0b3-cd765fb99702
    Business Add-Ins
    http://help.sap.com/saphelp_47x200/helpdata/en/ee/a1d548892b11d295d60000e82de14a/frameset.htm
    BAdI: Customer-Defined Functions in the Formula Builder
    http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    Difference Between BADI and User Exits
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    To Use BADI - Business Add In you need to Understand ABAP OO Interface Concept
    http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
    cheers!
    gyanaraj
    ****Pls reward points if u find this helpful

  • An user-exit example

    Hi all,
    Please tell me what you have coded as user-exit.
    Tell me the transaction and what you have done for this transaction as user-exit.
    I want to learn the user exit topic well.
    I will need user-exit too much and use also user-exit's screen but do not know how to do well.
    Thanks.

    Hi
    User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a function module. The code for the function module is written 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>
    To find a Exit.
    Goto Transaction -- Find The Package
    SMOD >f4>Use the Package here to Find the Exits In the Package.
    Else if you Want to search by Application Area wise ,
    There is one more tab to find the Exits in the Respective Application Area.
    Implementing the Exit-- CMOD Create ProjectsAssgn your Component .
    Now Run ur Transaction to Check if it Triggers.
    Thats it..
    Suppose you need to find out all the user exits related to a tcode.
    1. Execute the Tcode.
    2. Open the SAP program.
    3. Get the Development Class.
    4. Execute Tcode SE84.
    5. Open the Node 'Envir. -> Exit Techniques -> 'Customer Exits -> Enhancements'
    6. Enter the Development class and execute.
    Check out this thread..
    The specified item was not found.
    1. Type the transaction : system->status-> <PROG. NAME>
    2 open SE37 , type EXIT<PROG NAME> and press F4 to get the list of function exits available.
    3. Open CMOD utilities->SAP enhancements
    EDIT->All selections
    4.type the function module name obtained in step 2, in fields 'component name' in 'additional selections' block. and execute.
    5. The displayed list contains the enhancements names for the transaction You were looking for.
    6. Create a project in CMOD and the code in default include->activate.
    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
    http://www.planetsap.com/userexit_main_page.htm
    User-Exits
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/ab038.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.sap-basis-abap.com/sapab013.htm
    http://sap.ittoolbox.com/documents/popular-q-and-a/user-exits-for-the-transaction-code-migo-3283
    These links will help you to learn more on user exits.
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.allsaplinks.com/user_exit.html
    www.sap-img.com/abap/what-is-user-exits.htm
    Also please check these threads for more details about user exits.
    Re: Screen exit
    user exit and customer exit
    user exit
    1. Document on UserExits in FI/CO
    http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
    2. Finding User Exits...
    http://sap.ionelburlacu.ro/abap/sap2/Other_Useful_Tips.html#Finding_User_Exits
    3. List of all User Exits...
    http://www.planetsap.com/userexit_main_page.htm
    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. There are two types of Exits:

  • How to find out the user exit is implemented

    Hi All,
    Kindly let me know the process to be followed to find out the User exit is implemented in SAP system.
    I have seen many senriors suggestions for some treads to check if there is any Exit is implemented in the process when the system is behaving differently rather standard.
    Is it the only way with help of ABAP'er we can find out or the functional consultant also can find out through some procedure?
    I tied in google for this doubt, but i could not get the relavant answer.Pleaea execuse me if this already answered.
    Thanks,

    Hi Krishna/TW,
    Thank you for your immediate replies. Sorry i think i have not explained correctly my requirment.
    Let me explain my requirement once again.Let us say Comapny has implemented one Exit in the project, now i want to find out what exactly the Exit was implemented.
    Example: In STO process user is able to increase the  qty in delivery. As per the client requriement system should not allow.
    This is not possible in standard to control even after maintainig  check over delivery field in 0VLP.
    For this comapny has already implemented one enahnceament.
    User Exit : USER EXIT_READ_DOCUMENT
    Program: MV50AFZ1
    like this when any one joined in the project we do not know what are all the Exits are implemented in the SAP system where we are working.
    So if i want to find out if there is any Exit or enhancement implemented, what is the process to find out?
    I hope now  am clear with my requirement.
    Thanks in advance.

  • User Exits & BaDI's

    Hi,
    Can anyone throw light on the following.
    1) When & where user exits & BADI's can be suggested?
    2) What are steps involved in doing so?
    3) In a standard transparent table can we make a field (other than defined - eg: in LFA1 table LIFNR is the primary key) a primary key. I guess being a standard table it isnt allowed. If we need what to do & how to do?
    Thanks in advance.
    Chan

    Hi,
    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
    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 user exits for specific programs, screens, and menus within standard R/3 applications. These exits do not contain any functionality.
    An example of a user exits :-
    MODULE user_exit_0001 INPUT
    CASE okcode.
    WHEN 'BACK OR EXIT'.
    CASE sy-dynnr.
    WHEN '100'.
    SET SCREEN 0.
    LEAVE SCREEN.
    WHEN '200'.
    BADI: can be used for multiple implementations
    that is the difference between user exit and Badi.
    which-ever thing you execute that related code will be executed.
    see the Badi's doc
    Business Add-Ins
    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.
    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.
    the sample program to find the user exit for any transaction is given below....
    copy this program and execute give the tcode in the selection screen    u will get the number of user exits available for that particular transaction.
    **& Report  ZTEST_USER_EXIT
    REPORT  ztest_user_exit.
    tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
    tables : tstct.
    data : jtab like tadir occurs 0 with header line.
    data : field1(30).
    data : v_devclass like tadir-devclass.
    parameters : p_tcode like tstc-tcode obligatory.
    select single * from tstc where tcode eq p_tcode.
    if sy-subrc eq 0.
    select single * from tadir where pgmid = 'R3TR'
    and object = 'PROG'
    and obj_name = tstc-pgmna.
    move : tadir-devclass to v_devclass.
    if sy-subrc ne 0.
    select single * from trdir where name = tstc-pgmna.
    if trdir-subc eq 'F'.
    select single * from tfdir where pname = tstc-pgmna.
    select single * from enlfdir where funcname =
    tfdir-funcname.
    select single * from tadir where pgmid = 'R3TR'
    and object = 'FUGR'
    and obj_name eq enlfdir-area.
    move : tadir-devclass to v_devclass.
    endif.
    endif.
    select * from tadir into table jtab
    where pgmid = 'R3TR'
    and object = 'SMOD'
    and devclass = v_devclass.
    select single * from tstct where sprsl eq sy-langu and
    tcode eq p_tcode.
    format color col_positive intensified off.
    write:/(19) 'Transaction Code - ',
    20(20) p_tcode,
    45(50) tstct-ttext.
    skip.
    if not jtab[] is initial.
    write:/(95) sy-uline.
    format color col_heading intensified on.
    write:/1 sy-vline,
    2 'Exit Name',
    21 sy-vline ,
    22 'Description',
    95 sy-vline.
    write:/(95) sy-uline.
    loop at jtab.
    select single * from modsapt
    where sprsl = sy-langu and
    name = jtab-obj_name.
    format color col_normal intensified off.
    write:/1 sy-vline,
    2 jtab-obj_name hotspot on,
    21 sy-vline ,
    22 modsapt-modtext,
    95 sy-vline.
    endloop.
    write:/(95) sy-uline.
    describe table jtab.
    skip.
    format color col_total intensified on.
    write:/ 'No of Exits:' , sy-tfill.
    else.
    format color col_negative intensified on.
    write:/(95) 'No User Exit exists'.
    endif.
    else.
    format color col_negative intensified on.
    write:/(95) 'Transaction Code Does Not Exist'.
    endif.
    at line-selection.
    get cursor field field1.
    check field1(4) eq 'JTAB'.
    set parameter id 'MON' field sy-lisel+1(10).
    call transaction 'SMOD' and skip first screen.
    **DATA : l_con TYPE p DECIMALS 2,
    **l_con1 TYPE i,
    **l_con2 TYPE c,
    **l_con3 TYPE c,
    **l_con4 TYPE c.
    **l_con = '22.37'.
    ***l_con1 = ceil( l_con ).
    ***l_con2 = TRUNC( l_con ).
    ***l_con3 = FLOOR( l_con ).
    ***l_con4 = Frac( l_con ).
    **CALL FUNCTION 'ROUND'
    EXPORTING
      DECIMALS            = 0
       input               = l_con
      SIGN                = ' '
    IMPORTING
      OUTPUT              = l_con1
    EXCEPTIONS
      INPUT_INVALID       = 1
      OVERFLOW            = 2
      TYPE_INVALID        = 3
      OTHERS              = 4
    **IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    **ENDIF.
    **WRITE : / l_con1,l_con2,l_con3,l_con4.
    Hope u wil get some idea on reading this documents.
    Rewars points if helpfull.
    Thanks & Regards,
    Y.R.Prem Kumar

  • To trigger the user exit EXIT_RMMR1MRB_001

    Hi all,
    When I keep a breakpoint in the exit EXIT_RMMR1MRB_001 and run the transaction MIRO, it is not going to this user exit .
       The field entered are
    Invoice date,posting date,reference ,amount,purchasing doc number,baseline date ,payment terms,payment method and NF type.
      But it is not trigerring the MIRO. In the user exit documentation ,it is given that this user exit will call only if EF_CHANGE = 'X'.
    1) So can you please mention which field does it corresponds to in MIRO transaction?
    Kindly help me so...
    Thanks in advance
    Points will be rewarded

    Hi ,
    Following are some of the user exit that you can consider for Invoice verification.
    LMR1M001 - User exits in Logistics Invoice Verification
    LMR1M004 - Logistics Invoice Verification: item text for follow-on docs
    MM08R002 - User exit for tolerance checks
    Function EXIT_RMMR1MRB_001 - This is called only by report  RMMR1MRB
    Regards
    Sriram

  • User Exit for Incoming Excise invoice capture(MIGO)-clarification

    Hi all,
    We are using mySAP ECC 5.0 version with CIN Configuration made. In this, if Excise Duty value is zero, then excise invoice pop-up should not come. But the system asks for it, and the user has to manually change the excise action as 'No Excise Entry'. To avoid this, we have a idea of using some user exit to do this automatically.
    We have added the following source code in the user exit 'J_1I7_MIGO_DEFAULT'
    IF CS_EXHEAD-TOTAL_BED = 0.
    CS_EXHEAD-EXCISE_ACTION = '06'.
    endif.
    But, irrespective of the excise duty value(CS_EXHEAD-Total_BED) system determines the action as '06' i.e.'No excise entry.But still it asks for excise invoice also!!!
    How to resolve this? Should some corrections should be made on this source code? or the option of 'pass values' needs to be selected in the user exit?
    Suggest
    Gowtham

    Hey,
    Can you give the enhacement name from SMOD (MBCF0006) ?
    -Kiran

  • What are the different methods to find the user-exit for any requirement?

    Hi Everybody,
    What are the different methods to follow to find the user-exit for any requirement?
    Thanks & Regards,
    Nagaraju Maddi

    The following program search all the user exits involved with a T-code:
    Selection Text: P_TCODE: Transaction Code to Search
    Text Symbols: 001 - Enter the Transaction Code that you want to search through for a User Exit
    REPORT z_find_userexit NO STANDARD PAGE HEADING.
    *&  Enter the transaction code that you want to search through in order
    *&  to find which Standard SAP® User Exits exists.
    *& Tables
    TABLES : tstc,     "SAP® Transaction Codes
             tadir,    "Directory of Repository Objects
             modsapt,  "SAP® Enhancements - Short Texts
             modact,   "Modifications
             trdir,    "System table TRDIR
             tfdir,    "Function Module
             enlfdir,  "Additional Attributes for Function Modules
             tstct.    "Transaction Code Texts
    *& Variables
    DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
    DATA : field1(30).
    DATA : v_devclass LIKE tadir-devclass.
    *& Selection Screen Parameters
    SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.
    SELECTION-SCREEN SKIP.
    PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN END OF BLOCK a01.
    *& Start of main program
    START-OF-SELECTION.
    * Validate Transaction Code
      SELECT SINGLE * FROM tstc
        WHERE tcode EQ p_tcode.
    * Find Repository Objects for transaction code
      IF sy-subrc EQ 0.
        SELECT SINGLE * FROM tadir
           WHERE pgmid    = 'R3TR'
             AND object   = 'PROG'
             AND obj_name = tstc-pgmna.
        MOVE : tadir-devclass TO v_devclass.
        IF sy-subrc NE 0.
          SELECT SINGLE * FROM trdir
             WHERE name = tstc-pgmna.
          IF trdir-subc EQ 'F'.
            SELECT SINGLE * FROM tfdir
              WHERE pname = tstc-pgmna.
            SELECT SINGLE * FROM enlfdir
              WHERE funcname = tfdir-funcname.
            SELECT SINGLE * FROM tadir
              WHERE pgmid    = 'R3TR'
                AND object   = 'FUGR'
                AND obj_name = enlfdir-area.
            MOVE : tadir-devclass TO v_devclass.
          ENDIF.
        ENDIF.
      * Find SAP® Modifications
        SELECT * FROM tadir
          INTO TABLE jtab
          WHERE pgmid    = 'R3TR'
            AND object   = 'SMOD'
            AND devclass = v_devclass.
        SELECT SINGLE * FROM tstct
          WHERE sprsl EQ sy-langu
            AND tcode EQ p_tcode.
        FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
        WRITE:/(19) 'Transaction Code - ',
        20(20) p_tcode,
        45(50) tstct-ttext.
        SKIP.
        IF NOT jtab[] IS INITIAL.
          WRITE:/(95) sy-uline.
          FORMAT COLOR COL_HEADING INTENSIFIED ON.
          WRITE:/1 sy-vline,
          2 'Exit Name',
          21 sy-vline ,
          22 'Description',
          95 sy-vline.
          WRITE:/(95) sy-uline.
          LOOP AT jtab.
            SELECT SINGLE * FROM modsapt
            WHERE sprsl = sy-langu AND
            name = jtab-obj_name.
            FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
            WRITE:/1 sy-vline,
            2 jtab-obj_name HOTSPOT ON,
            21 sy-vline ,
            22 modsapt-modtext,
            95 sy-vline.
          ENDLOOP.
          WRITE:/(95) sy-uline.
          DESCRIBE TABLE jtab.
          SKIP.
          FORMAT COLOR COL_TOTAL INTENSIFIED ON.
          WRITE:/ 'No of Exits:' , sy-tfill.
        ELSE.
          FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
          WRITE:/(95) 'No User Exit exists'.
        ENDIF.
      ELSE.
        FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
        WRITE:/(95) 'Transaction Code Does Not Exist'.
      ENDIF.
    * Take the user to SMOD for the Exit that was selected.
    AT LINE-SELECTION.
      GET CURSOR FIELD field1.
      CHECK field1(4) EQ 'JTAB'.
      SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
      CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.

  • Export statement in user-exit??

    I have used the following export statement in a user-exit:"EXPORT xaccit TO MEMORY ID 'ZCACHEPPA'."-I have doubt that - will this statement export the contents of the table XACCIT to memory and those contents in the memory will be imported by the IMPORT statement in other user-exit.....??
    If no,then which EXPORT/IMPORT statement should be used....is there any other keyword that can be used to export the contents to the memory?

    Hi
    See the doc related to SAP Memory and ABAP memory
    SAP memory is a memory area to which all main sessions within a SAPgui have access. You can use SAP memory either to pass data from one program to another within a session, or to pass data from one session to another. Application programs that use SAP memory must do so using SPA/GPA parameters (also known as SET/GET parameters). These parameters can be set either for a particular user or for a particular program using the SET PARAMETER statement. Other ABAP programs can then retrieve the set parameters using the GET PARAMETER statement. The most frequent use of SPA/GPA parameters is to fill input fields on screens
    SAP global memory retains field value through out session.
    set parameter id 'MAT' field v_matnr.
    get parameter id 'MAT' field v_matnr.
    They are stored in table TPARA.
    ABAP memory is a memory area that all ABAP programs within the same internal session can access using the EXPORT and IMPORT statements. Data within this area remains intact during a whole sequence of program calls. To pass data
    to a program which you are calling, the data needs to be placed in ABAP memory before the call is made. The internal session of the called program then replaces that of the calling program. The program called can then read from the ABAP memory. If control is then returned to the program which made the initial call, the same process operates in reverse.
    ABAP memory is temporary and values are retained in same LUW.
    export itab to memory id 'TEST'.
    import itab from memory Id 'TEST'.
    Here itab should be declared of same type and length.
    http://www.sap-img.com/abap/difference-between-sap-and-abap-memory.htm
    ABAP Memmory & SAP Memmory
    http://www.sap-img.com/abap/difference-between-sap-and-abap-memory.htm
    http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
    Reward points if useful
    Regards
    Anji

  • User exits & BADI

    Hi,
    Can anyone throw light on the following.
    1) When & where user exits & BADI's can be suggested?
    2) What are steps involved in doing so?
    3) In a standard transparent table can we make a field (other than defined - eg: in LFA1 table LIFNR is the primary key) a primary key. I guess being a standard table it isnt allowed. If we need what to do & how to do?
    Thanks in advance.
    Chan

    Hi Chandra,
    This activity done by abaper. Please consult with abaper.
    Regards,
    Anil

  • Is there any user exit or BADI

    Hi ,
    Is there any BADI or userexit which will update some fields in BSEG while posting Invoice verification(MIRO). Please advice.
    Regards,
    Sam.

    Hi,
    following is the list of user exits available in MIRO.
    LMR1M001 User exits in Logistics Invoice Verification
    LMR1M002 Account grouping for GR/IR account maintenance
    LMR1M003 Number assignment in Logistics Invoice Verification
    LMR1M004 Logistics Invoice Verification: item text for follow-on docs
    LMR1M005 Logistics Inv. Verification: Release Parked Doc. for Posting
    LMR1M006 Logistics Invoice Verification: Process XML Invoice
    MRMH0001 Logistics Invoice Verification: ERS procedure
    MRMH0002 Logistics Invoice Verification: EDI inbound
    MRMH0003 Logistics Invoice Verification: Revaluation/RAP
    MRMN0001 Message output and creation: Logistics Invoice Verification
    BADI : INVOICE_UPDATE
    Hope this helps.
    Reg,
    Hiren PAtel
    Don't forget to Reward points.

  • Doubts in abap user exit and coustomer exit

    Hi every bady,
    Any one knows the different between user exit and coustomer exit please answer my question
    with regards,
    Sentha

    Hi,
    Difference between user exits & customer exits:
    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.
    The following links are also useful:
    User Exit Vs Customer Exit
    coding in user exit in program rffous_t
    User exits
    User Exits
    Refer this link
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975e643b111d1896f0000e8322d00/frameset.htm
    Check the following links.
    For customer exits
    http://help.sap.com/saphelp_erp2005/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/c8/1975d943b111d1896f0000e8322d00/frameset.htm
    Difference b/w BADI and user exits
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    User Exits
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    Regards,
    Rakesh

  • User Exit required for VX22n

    Hello Experts,
       In transaction VX22n, there is a warning message that needs to be  converted to an Error Message:- This is to restrict the transactional changes of the license.
    With help of this transaction  license changes can be made for block sales document( due to invalid license) and
    only warning message appears for the same. This adaption should restrict the transactional changes in the T-code.
    Can you please help me with what user exit should i use or any other ideas and tips on how to go about it?

    Maybe you can use one of the following enhancements (transaction SMOD):
    VIMPPROP - User Exit: Proposal dato for import simulation
    MVEIPREF - User exits - Preference determination
    FTGOVSEL - Declarations to the authorities: User exit f. selection runs
    RVEXAKK1 - Document Transaction: Screen Exit for Additional Data
    RVEXAKK2 - Additional Customer-specific Lists / Reports
    V50EPROP - User Exit: Foreign Trade Data Proposal in MM and SD
    V55ECTRL - User Exit: Print Control in Foreign Trade Documents

  • User exit for (reference field) XBLNR check in ML81N

    Hello,
    We would like to implement a duplicate check on the reference field: XBLNR in ML81N. This would be to prevent users from posting duplicate service entry sheets.
    Has anyone done it with SRV* user exits?
    Thanks,
    Richard

    Hi,
    Following are the list of user exits available for ML81N
    SRVDET             User screen on tab strip of service detail screen
    SRVEDIT             Service list control (maintenance/display)
    SRVENTRY            Unplanned part of entry sheet (obsolete since Rel. 3.1G)
    SRVESI              Data conversion entry sheet interface
    SRVESKN             Set account assignment in service line
    SRVESLL             Service line checks
    SRVESSR             Set entry sheet header data (This might be helpful)
    SRVEUSCR            User screen on entry sheet tabstrip
    SRVKNTTP            Setting the account assgnmt category when reading in, if "U"
    SRVLIMIT            Limit check
    SRVMAIL1            Processing of mail before generation of sheet
    SRVMSTLV            Conversion of data during importing of standard service cat.
    SRVPOWEB            Purchase order for service entry in Web
    SRVQUOT             Service export/import for inquiry/quotations
    SRVREL              Changes to comm. structure for release of entry sheet
    SRVSEL              Service selection from non-SAP systems
    SRV_FRM             SRV: Formula calculation (obsolete since 4.0A!)
    INTERFAC            Interface for data transfer

Maybe you are looking for

  • Trying to install XP on external CD drive

    I've looked around, trying to find out how to fix my problem but it I haven't been successful yet so I thought I would ask for help. I have OSX 10.5.5, I have successfully used Boot Camp Assistant to create a boot camp partition. I can see and select

  • Process::getVariables() in 10.3.1.0 BPM Studio

    I want to get the names of process variables. If I use Process::getVariables(), the variables names that are given out are "PREDEFINE_xxxxxx" like PREDEFINE_PRIORITY. I can't find the variables that are in a process as listed in the Instance Variable

  • HpSdpAppCoreApp

    Hi, I'm trying to re-install itunes and keep getting a message that I need to insert the CD w/ this file on it. I don't have it and don't know where to get it. Any help? Thanx,john

  • Poor print quality black and white

    I'm using a psc 2410xi "all-in-one"   I've got some old 81/2 x 11 black and white photos I'm trying to copy.  About half the picture comes out great, the other portion is faded or washed out.  I tried changing the black print cartirdge with a new one

  • How to retrieve attachment file

    I am trying to create a program that will retrieve an Attachment that a candidate has uploaded into the eRecruitment system. Infotype HRP5134 has a pointer to the attachment, but where is the attachment stored? Is there a method, function module or B