VF01 - intercept type and find a user exit to modify some fields

Hi all,
in transaction VF01 i need to intercept the saving of a new invoice
because when i save i have to check the invoice type
if vbrk-fkart = 'ZIV' i need to put VBRP-AUFNR and VBRP-PRCTR to predefined values...
how can i intercept the saving of the invoice and do the check?
i've tryed to activate all the user exits putting break-point but some of them does'nt stop others stops but in the function interface i cannot find the table that i need to make the changes (vbrk and vbrp)
can u tell me how to intercept the correct user exit?
or maybe can i use other methods to put the chack inside this standard transaction?
thanks in advance

Hi,
Check out user exit RV60AFZC(USEREXIT_FILL_VBRK_VBRP).
Regards,
Himanshu

Similar Messages

  • How to find user exits for a specific field

    hi,
        How can we find a user exit for a specific fields .
    as i know Three ways to search user-exits
    1. SE80 look includes in a packages with name user-exits
    2.  by zreport which will fetch user-exit in a T-CODE
    3. SMOD
    but what if we have to find a user-exit for particular field for e.g bupla(bussiness place) in MIRO.
    Please suggest me.
    Thanks and  Regards ,
    Rahul Singh.

    Hi Rahul,
    Here is the procedure to create field exits.
    Step by step procedure for creating Field Exits
    There are eight steps to creating a field exit:
    Step 1: Determine Data Element
    Step 2: Go To Field Exit Transaction
    Step 3: Create Field Exit
    Step 4: Create Function Module
    Step 5: Code Function Module
    Step 6: Activate Function Module
    Step 7: Assign Program/Screen
    Step 8: Activate Field Exit
    Step 1: Determine Data Element
    u2022     Before you can begin adding the functionality for a field exit, you must know the corresponding data element.
    Step 2: Go To Field Exit Transaction
    u2022     The transaction to create field exits is CMOD.
    u2022     You can use the menu path Tools -> ABAP/4 Workbench -> Utilities -> Enhancements -> Project management.
    u2022     From the initial screen of transaction CMOD, choose the Text enhancements -> Field exits menu path.
    u2022     After choosing this menu path, you will be taken to the field exits screen. From here, you can create a field exit.
    NOTE : Even though you use transaction CMOD to maintain field exits, you do not need to create a project to activate field exits.
    Step 3: Create Field Exit
    u2022     From the field exit screen of transaction CMOD, choose the Field exit -> Create menu path.
    u2022     After choosing this menu path, a dialog box will prompt you for the appropriate data element .
    u2022     Enter the data element name and click the u2018Continueu2019 pushbutton.
    u2022     Now, you will be able to create the function module associated to the data elementu2019s field exit.
    Step 4: Create Function Module
    u2022     You will automatically be taken to the Function Library (SE37) after entering a data element name and clicking the u2018Continueu2019 pushbutton.
    u2022     In the u2018Function moduleu2019 field, a function module name will be defaulted by the system based on the data element specified. This name will have the following convention:
    FIELD_EXIT_<data element>
    u2022     You can add an identifier (an underscore followed by a single character ).
    u2022     The first function module for a data elementu2019s field exit must be created without an identifier.
    u2022     To create the function module, click on the u2018Createu2019 pushbutton, choose menu path Function module -> Create, or press u2018F5u2019.
    u2022     After choosing to create the function module, you will get the warning: "Function module name is reserved for SAP". This message is just a warning so a developer does not accidentally create a function module in the field exit name range. By pressing u2018Enteru2019, you will be able to go ahead and create the function module.
    u2022     Before coding the function module, you will have to specify the function modules attributes -- function group, application, and short text.
    Step 5: Code Function Module
    u2022     From the function moduleu2019s attributes screen, click on the u2018Source codeu2019 pushbutton or choose the Goto -> Function module menu path to the code of the function module.
    u2022     Here you will add your desired functionality for the field exit.
    u2022     Remember that field exitu2019s function module will have two parameters -- one importing parameter called "INPUT" and one exporting parameter called "OUTPUT". These parameters will be set up automatically by the system.
    u2022     You must remember to assign a value to the OUTPUT field. Even if the value does not change, it must be moved from the INPUT field to the OUTPUT field.
    Step 6: Activate Function Module
    u2022     After coding the function module, you must remember to activate it.
    u2022     Use the Function module -> Activate menu path to activate the function module.
    u2022     At this point, you can return to the field exit transaction.
    u2022     You should be able to 'green arrow' back to this transaction.
    u2022     When you return to the field exit transaction, you will see an entry for the newly created field exit.
    u2022     At this point, the field exit is global. That is, it applies to all screens that use a particular data element. On any screen that uses the data element, the corresponding field exit function module will be triggered, once it is active.
    u2022     Also, the field exit will not be triggered yet because it is inactive.
    Step 7: Assign Program/Screen
    u2022     This step is only needed if you want to make a field exit local.
    u2022     To make a field exit local, select the field exit and click on the u2018Assign prog./screenu2019 pushbutton.
    u2022     In the dialog box , indicate the appropriate program name and screen number.
    This information indicates that the field exit is local to the specified screen in the specified program.
    u2022     In the dialog box, you determine which function module gets executed for the field exit by specifying the identifier in the u2018Fld. Exitu2019 field.
    u2022     If this field is left blank, the function module triggered will be 'FIELD_EXIT_<data element>'.
    u2022     If a single-character identifier is entered into the field, the function module triggered will be 'FIELD_EXIT_<data element>_<identifier>'.
    Step 8: Activate Field Exit
    u2022     The field exit must be active for it to be triggered by the system.
    u2022     Activate the field exit by choosing the Field exit -> Activate menu path.
    u2022     After assigning the field exit to a change request, its status will change to u2018Activeu2019 and it will be triggered automatically on the appropriate screen(s).
    NOTE : In order to activate the field exit the profile parameter abap/fieldexit = YES must be set on all application servers
    Execute the transaction SE38 with PROGRAM NAME - RSMODPRF
    Then give the Data Element Name for which field you want to create the exit(Just cross check with your field data element) and execute.
    then it takes you to SE37 with the function module name FIELD_EXIT_<DATA ELEMENT NAME> and then create the same function module.
    and in the coding part, You can write your logic to display the output of that field. and activate it.
    once you complete the above,
    Again execute SE38 transaction with program RSMODPRF and again click on Execute button without any Data Element Name. Now you select the data element which you have created and click on Assign prog/ Screen button and assign the program name and screen number of the filed and click on the menu Field Exit and Activate.
    Hope it helps.
    Regards
    Radhika
    Edited by: Radhika Pande on Nov 26, 2009 7:58 AM

  • How to find the user exits and BADIS from SPRO

    Hi all,
    please let us know how to find the User exits or BADIS for an application from SPRO.
    Regards,
    Madhavi

    Hi Varisetty,
    Finding user exits and BAdis from SPRO can be cumbsersome. In most instances you know the standard SAP program and want to check (find) an exit called in the flow of the transaction. You can do this as follows:
    For User Exit:
    Put "/h" in the command box (to start debugging)
    Execute your transaction
    When you enter debugging - put a breakpoint at statement
    CALL CUSTOMER-FUNCTION
    the control will stop at all calls to User Exits
    For BAdi (it's simpler)
    Go to class CL_EXITHANDLER in SE24
    Enter method GET_INSTANCE
    Put a breakpoint in this method
    Run your standard transaction - control will stop at all BAdis called within the flow since this method is used to check BAdi implementations before invoking them
    Also, if you want to find enhancements by package - go to SE80, enter the package and check function groups starting with X - those contain function exits (conventional user exits). For BAdis in a package, there is normally a separate tree node (under the package) for Enhancements hence clearly identifiable.
    Cheers,
    Adi

  • How to  find the user exit for a screen..

    Hi,
    plz help me how to find the user exit for a screen..?
    Regards
    Anbu

    Hi,
    check this program this will give you the list of user-exit and BADI for the perticular Tcode.
    REPORT  zuserexit_badi.
    TABLES : tstc,
    tadir,
    modsapt,
    modact,
    trdir,
    tfdir,
    enlfdir,
    sxs_attrt ,
    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,
    p_pgmna LIKE tstc-pgmna .
    DATA wa_tadir TYPE tadir.
    START-OF-SELECTION.
      IF NOT p_tcode IS INITIAL.
        SELECT SINGLE * FROM tstc WHERE tcode EQ p_tcode.
      ELSEIF NOT p_pgmna IS INITIAL.
        tstc-pgmna = p_pgmna.
      ENDIF.
      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 IN ('SMOD', 'SXSD')
        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:/(105) sy-uline.
          FORMAT COLOR COL_HEADING INTENSIFIED ON.
    Sorting the internal Table
          SORT jtab BY object.
          DATA : wf_txt(60) TYPE c,
          wf_smod TYPE i ,
          wf_badi TYPE i ,
          wf_object2(30) TYPE c.
          CLEAR : wf_smod, wf_badi , wf_object2.
    Get the total SMOD.
          LOOP AT jtab INTO wa_tadir.
            AT FIRST.
              FORMAT COLOR COL_HEADING INTENSIFIED ON.
              WRITE:/1 sy-vline,
              2 'Enhancement/ Business Add-in',
              41 sy-vline ,
              42 'Description',
              105 sy-vline.
              WRITE:/(105) sy-uline.
            ENDAT.
            CLEAR wf_txt.
            AT NEW object.
              IF wa_tadir-object = 'SMOD'.
                wf_object2 = 'Enhancement' .
              ELSEIF wa_tadir-object = 'SXSD'.
                wf_object2 = ' Business Add-in'.
              ENDIF.
              FORMAT COLOR COL_GROUP INTENSIFIED ON.
              WRITE:/1 sy-vline,
              2 wf_object2,
              105 sy-vline.
            ENDAT.
            CASE wa_tadir-object.
              WHEN 'SMOD'.
                wf_smod = wf_smod + 1.
                SELECT SINGLE modtext INTO wf_txt
                FROM modsapt
                WHERE sprsl = sy-langu
                AND name = wa_tadir-obj_name.
                FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
              WHEN 'SXSD'.
    For BADis
                wf_badi = wf_badi + 1 .
                SELECT SINGLE text INTO wf_txt
                FROM sxs_attrt
                WHERE sprsl = sy-langu
                AND exit_name = wa_tadir-obj_name.
                FORMAT COLOR COL_NORMAL INTENSIFIED ON.
            ENDCASE.
            WRITE:/1 sy-vline,
            2 wa_tadir-obj_name HOTSPOT ON,
            41 sy-vline ,
            42 wf_txt,
            105 sy-vline.
            AT END OF object.
              WRITE : /(105) sy-uline.
            ENDAT.
          ENDLOOP.
          WRITE:/(105) sy-uline.
          SKIP.
          FORMAT COLOR COL_TOTAL INTENSIFIED ON.
          WRITE:/ 'No.of Exits:' , wf_smod.
          WRITE:/ 'No.of BADis:' , wf_badi.
        ELSE.
          FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
          WRITE:/(105) 'No userexits or BADis exist'.
        ENDIF.
      ELSE.
        FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
        WRITE:/(105) 'Transaction does not exist'.
      ENDIF.
    AT LINE-SELECTION.
      DATA : wf_object TYPE tadir-object.
      CLEAR wf_object.
      GET CURSOR FIELD field1.
      CHECK field1(8) EQ 'WA_TADIR'.
      READ TABLE jtab WITH KEY obj_name = sy-lisel+1(20).
      MOVE jtab-object TO wf_object.
      CASE wf_object.
        WHEN 'SMOD'.
          SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
          CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
        WHEN 'SXSD'.
          SET PARAMETER ID 'EXN' FIELD sy-lisel+1(20).
          CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.
      ENDCASE.
    Reagards,
    Bharat.

  • In howmany ways we can find the User-exits

    In howmany ways we can find the User-exits?

    Hi,
    Copy this code,execute and run this program.Now mention your tcode and it will give you the list of user-exits present in a Tcode.
    *& Report zuserexit
    *& This program helps find Exits for any given transaction
    *& This code is originally adopted from http://www.sap-img.com
    report zuserexit no standard page heading.
    *TABLES
    tables :
    tstc,
    tadir,
    modsapt,
    modact,
    trdir,
    tfdir,
    enlfdir,
    tstct.
    *INTERNAL TABLES AND STRUCTURES
    Internal table to hold Repository Objects
    data : jtab like tadir occurs 0 with header line.
    *Global variables
    data : field1(30).
    data : v_devclass like tadir-devclass.
    *SELECTION-SCREEN
    parameters : p_tcode like tstc-tcode obligatory.
    *START-OF-SELECTION
    START-OF-SELECTION.
    SELECT construct to get data for a given tcode
    select single * from tstc where tcode eq p_tcode.
    if sy-subrc eq 0.
    SELECT construct to get program names
    select single * from tadir where pgmid = 'R3TR'
    and object = 'PROG'
    and obj_name = tstc-pgmna.
    Moving the dev. class to v_devclass if program is of type 1
    move : tadir-devclass to v_devclass.
    if sy-subrc ne 0.
    select single * from trdir where name = tstc-pgmna.
    If Program type = Function Group
    if trdir-subc eq 'F'.
    select single * from tfdir where pname = tstc-pgmna.
    SELECT construct to get Attributes for Function Modules
    select single * from enlfdir where funcname = tfdir-funcname.
    SELECT construct to get FM names
    select single * from tadir where pgmid = 'R3TR'
    and object = 'FUGR'
    and obj_name eq enlfdir-area.
    Moving the dev. class to v_devclass if program is of type F
    move : tadir-devclass to v_devclass.
    endif.
    endif.
    SELECT construct to get SAP enhancements for the dev. class
    select * from tadir into table jtab
    where pgmid = 'R3TR'
    and object = 'SMOD'
    and devclass = v_devclass.
    SELECT construct to get t code texts
    select single * from tstct
    where sprsl eq sy-langu
    and tcode eq p_tcode.
    REPORT OUTPUT
    format color col_positive intensified off.
    Displaying t-code name & text
    write:/(19) 'Transaction Code - ',
    20(20) p_tcode,
    45(50) tstct-ttext.
    skip.
    List headings
    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.
    SELECT construct to get SAP Enhancements - Short Texts
    loop at jtab.
    select single * from modsapt where sprsl = sy-langu
    and name = jtab-obj_name.
    format color col_normal intensified off.
    Exit names & texts
    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.
    No of Exits
    write:/ 'No of Exits:' ,
    sy-tfill.
    else.
    format color col_negative intensified on.
    If no exits found
    write:/(95) 'No User Exit exists'.
    endif.
    else.
    format color col_negative intensified on.
    If tcode doesn't exist
    write:/(95) 'Transaction Code Does Not Exist'.
    endif.
    Call txn SMOD with selected Exit
    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.
    Reward if helpful.
    Regards,
    Harini.S

  • IDoc Extension: Finding out user exit

    Hi,
    Is there any standard way of finding out user exit for the extended IDoc? like documentation...
    Thanks and Regards,
    Madhu

    Hello
    Here are some  documentation link for defining idoc types
    Customer Extensions, SAP and Customer Developments
    Refer to this forum link.
    Ale enhancement
    Program names ZX... are reserved for includes of exit function groups
    http://help.sap.com/saphelp_47x200/helpdata/en/dc/6b7d6243d711d1893e0000e8323c4f/frameset.htm
    Hope it will resolve your problem
    All The Best
    Priyanka
    Do reward Points.

  • Find out user exits which should trigger while saving billing doc.(VA01)

    Hi All,
    please can u help me to find out user exits which should trigger while saving billing documents for VA01 transaction...I have already z report to find the user-exit for any transaction.I have tried in that also.
    Reply
    Ulhas

    Hi
    Try these
    USEREXIT_NUMBER_RANGE (Module pool SAPLV60A, program RV60AFZZ)                    
    The internal number range used in the standard system is specified                
    in the billing type table and can be changed in this user exit. This              
    user exit is only called when the billing documents is created.                                                                               
    USEREXIT_ACCOUNT_PREP_KOMKCV (Module pool SAPLV60A, program                       
    RV60AFZZ)                                                                         
    In this user exit additional fields for account determination that                
    are not provided in the standard system are copied into                           
    communication structure KOMKCV (header fields).                                                                               
    USEREXIT_ACCOUNT_PREP_KOMPCV (Module pool SAPLV60A)                               
    In this user exit additional fields for account determination that                
    are not provided in the standard system are copied into                           
    communication structure KOMPCV (item fields).                                                                               
    USEREXIT_NUMBER_RANGE_INV_DATE (Module pool SAPLV60A, program                     
    RV60AFZC)                                                                         
    Depending on the number range, table TVFKD is used to set the                     
    billing date (country-specific requirments in Italy).                             
    USEREXIT_NUMBER_RANGE is automatically deactivated when this user                 
    exit is being applied.                                                                               
    USEREXIT_FILL_VBRK_VBRP (Module pool SAPLV60A, program RV60AFZC)                  
    This user exit is only called when the billing document is created.               
    It is used to provide the header and the item of the new billing                  
    document with deviating or additional data.                                       
      USEREXIT_PRINT_ITEM (Module pool SAPLV61A, program RV61AFZB)                    
      Printing the item line of a billing document can be supplemented or             
      changed.                                                                               
    USEREXIT_PRINT_HEAD (Modulpool SAPLV61A, Programm RV61AFZB)                     
      Printing the header line of a billing document can be supplemented              
      or changed.                                                                               
    User exits in program RV60AFZD                                                  
      Short descriptions of the user exits are contained in the program:                                                                               
    -   USEREXIT_RELI_XVBPAK_AVBPAK                                                                               
    -   USEREXIT_NEWROLE_XVBPAK_AVBPAK                                                                               
    -   USEREXIT_NEWROLE_XVBPAP_AVBPAK                                                                               
    e following user exits are available in report SAPLV60B for transfer              
    accounting (function group V60B):                                                                               
    EXIT_SAPLV60B_001: Change the header data in the structure acchd                
      You can use this exit to influence the header information of the                
      accounting document. For example, you can change the business                   
      transaction, "created on" date and time, the name of the person who             
      created it or the transaction with which the document was created.                                                                               
    EXIT_SAPLV60B_002: Change the customer line ACCIT                               
      You can use this exit to change the customer line in the accounting             
      document. This exit is processed once the ACCIT structure is filled             
      in with data from document header VBRK.                                                                               
    EXIT_SAPLV60B_003: Change the customer line in costing                          
      The customer line is filled in differently for costing. You can use             
      exit 003 to influence the ACCIT structure.                                                                               
    EXIT_SAPLV60B_004: Change a GL account item ACCIT You can add          
    information to a GL account item (such as quantity specifications)     
    with this exit.                                                                               
    EXIT_SAPLV60B_005: User exit for accruals                              
    Once all relevant data for accruals was entered in the GL account      
    item, you can add to this data with this exit.                                                                               
    EXIT_SAPLV60B_006: Change the control line ACCIT                       
    You can use exit 006 to add information to the control line.                                                                               
    EXIT_SAPLV60B_007: Change the installment plan                         
    You can use exit 007 to add information to the installment plan        
    parameters in the GL account item.                                                                               
    EXIT_SAPLV60B_008: Change the transfer structure ACCCR, ACCIT and      
    ACCHD                                                                  
    After the accounting document is filled in with data, you can use      
    exit 008 to change the document once again.                                                                               
    EXIT_SAPLV60B_010: Item table for customer lines                       
    You can use exit 10 to influence the contents of customer lines        
    before they are created.                                                                               
    EXIT_SAPLV60B_0011: Change the parameter for cash account              
    determination or reconciliation account determination                  
    You can use this exit to change inbound parameters in order to         
    influence account determination.                                       
    >                                                                      
    Thanks
    Shiva

  • Training and Event Management user exit

    Hi,
    I am trying to find a user exit in training and event management but it seems that none exist. Specifically, when a course attendance is cancelled I need to remove the record from a 'z' table. Is there another way to do this?

    If you are using ECC6.0 try using your own implicit Enhancement point.
    How to use this can be found on the following web www.sapdev.co.uk
    Regards
    Jules

  • How to find out user exit

    Hi All,
    How to find out User Exit in particular program.
    I mean if you have one profile, how to find is there any user exits in that program.
    Appreciate if any body tel answer.
    Thanks & Regards,
    Subbu

    You could try searching the main program for "userexit_"
    This would give you a list of all the available user exits within the application.
    For Customer exits, you could search SMOD with a short description ex: order in the F4 help. Another way is to search for CUSTOMER-FUNCTION in the main program. You can then navigate to the enhancement in the customer function and use the Z Program in the enhancement.
    http://www.easymarketplace.de/userexit.php - has a complete list.
    More specifically, in case you're looking for SD exits - http://help.sap.com/saphelp_46c/helpdata/en/1c/f62c7dd435d1118b3f0060b03ca329/content.htm.

  • How to find out user exits of t-code va03

    hi all
       how to find out user exits of any t-code .
    regards
    deepak

    Hi Deepak,
    <b>Try this code.</b>
    *& Report  Z_USEREXIT                                                  *
    REPORT  Z_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 Modifactions
        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.
    <b>plz reward points if helpful or if it solves ur query.</b>
    Thanks
    Chinmay

  • How to find the user-exit for transaction fpp2

    Hi experts,
    could you help me how can I find the user-exit for transaction fpp2. I tried to after the package, but I did not find it.

    Hi,
    Use the following program to find user exits of specified code.
    *& 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.
    I executed the above program but there are no user exits for the specified Transaction.
    Thanks,
    Naveen Kumar.

  • How to find the user exit for order cancellation

    I want to find the user exit for order cancellation. And also to ensure that no one amends the order once the canellation has taken place. The cancellation shall be deemed to be affected only if the vendor has confirmed the acknowledgement of the order cancellation.
    I have got a Zreport where this order should not come as open order item.
    Please tell me the method of finding the users exit for order cancellation and stop the order from getting modified. And also how to find the tables in which the data has to be updated that the order has to be cancelled.
    In the PO header i want an additional tab <cancellation> by which the user by the help of userid and password should be able to cancel the order. An order once cancelled cannot be undone. A new order has to be placed. The new order can be placed refencing the cancelled purchased order.
    My client has got a very stringent requirement. In the past cancelled order has been undone and caused lot of problems.
    Regards.

    hi
    pls tell me t.code so that i will send all user exits related to that particular t.codes
    Thanks & Regards
    phaneendra

  • To find the User Exits for a particular Transaction.

    hi,
        I want to find the number of User Exits for a The Transaction MM01 or MM02,
        I serched in the forums but could not find satisfactory ans,
        I tried with:
                 T.Code-> System>Status->Prog Name>SE38>find Call Customer-Exit.
        But its not helping me,
        Please help me.
    Thanks and Regards
    Suraj S Nair.

    hi ,
    if you are new to user exist use --> follw the below methos to find the user exit for a particular transaction or t-code
    create one custom pgm in se38 and execute >selection screenenter t-code and execute it will return all the user exists for a specific transaction..
    Finding the user-exits of a SAP transaction code
    * Finding the user-exits of a SAP transaction code
    * Enter the transaction code in which you are looking for the user-exit
    * and it will list you the list of user-exits in the transaction code.
    * Also a drill down is possible which will help you to branch to SMOD.
    * Written by : SAP Basis, ABAP Programming and Other IMG Stuff
    *              http://www.sap-img.com
    report zuserexit no standard page heading.
    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.
    *---End of Program
    Regards,
    Prabhudas

  • 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.

  • Finding the user-exits of a SAP transaction code

    Hi All,
    Can any one tell me how to find the user exits related to particular transaction code?
    Regards,
    Prem

    Dear PremKumar,
    *Please Search SDN Before posting any thread the question you have asked is already available since you are new to SDN and for your reference iam pasting the code copy paste the same code and execute and give the TCODE then it will list out all the exits.
    *REPORT  ZUSEREXIT.
    report zuserexit no standard page heading.
    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.
    Can you closse the thread if your problem got fixed !!!!
    Cheers
    fareed

Maybe you are looking for

  • How do I recover data from my Mac Hard drive

    Hello I recently installed an update and when I returned to my screen I had the flashing file folder of death with a question mark on it.  Successive attempts to get the thing started failed and I handed it over to a techie where I work to look at it

  • My iPod won't sync- error 13019

    My iPod nano gen 5 won't sync. Everytime it shows error 13019. I have tried everyhting from deslelcting all songs in the music category, restoring, resetting and everything. Nothing is working. One thing I saw was to deselect the voice memos playlist

  • Address lookup in mail To: field ignores suggestions

    Hello, when a mail is composed and the receiver is looked up in the To: field the normal behaviour of Groupwise is to make a suggestion. The user can confirm the suggestion with the tab or the enter key. For example one types the letters "Fo" and Gro

  • Excel don't close after a activeX manipulati​on?

    I have wrote an subVI to archive some measurements and a subVI to view the archive. These VIs are used in a "State machine" program. After an archive is execute, excel stays active (excel stays in the PROCESS TASK MANAGER). This situation creates an

  • User / Group Problem

    WE run a 10.6.4 Server and have an issue with one user- No matter what we do we cannot seem to get them be be part of a Group. WE created a group and puut all Office members in the group- All OK- (This is using OD) All services fine DNS Fine, mail fi