How to find the exact user exit in enhancement.

Hi All,
I am in learning phase. I am working on TCODE VA01 and want to change the PO Date. But i am unable to find out the exact user exit.  If somebody could guide me that what is the procedure to find the exact user exit for a perticular field or like that.  I am know how to find all the enhancements in the TCODE.

hi
Run this program and give the tcode and it will list down all the user exits for that Tcode.
REPORT z_find_userexit NO STANDARD PAGE HEADING.
TABLES : tstc, tadir,            modsapt,            modact,            trdir,             tfdir,      enlfdir,     tstct.   
DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
DATA : field1(30).
DATA : v_devclass LIKE tadir-devclass.
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-SELECTION.
  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 = 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.
Regards
Sajid
Edited by: shaik sajid on Jun 26, 2009 12:06 PM
Edited by: shaik sajid on Jun 26, 2009 12:10 PM

Similar Messages

  • How to find the exact user exit for our requirement?

    Dear Mr. keerthi,
    can you please explain me how to find the exact user exit for our requirement?

    Hi sandip
    There is more than one method in which you can check for user-exits.The following method is used very often.
    <b>How to find the exact user-exit for your requirement.</b>
    1.     You can check the user exists using transaction SE85.
    2.     Repository Information System -> Enhancements -> Customer exits
    3.     You can search the user-exits by package name.
    4.     Double click on each exit name to check the function module exits.
    <b>The procedure to find the package name.</b>
    Execute transaction SE93 
    Enter the tcode of the transaction for which you want to check the user exit.
    Example: if you want to find the user-exit for purchase orders while changing, enter ME22n  and press display.
    You will get to see the package name
    But you need to confirm that the user exit will get triggered at the appropriate event.
    ( example: you might want some validations to be done ON SAVE of a purchase order)
    <b>Checking if the user-exit is getting triggered or not.</b>
    1.     Open the user exit function module (that you have got in step 4) in Tcode SE37.
    2.     Click on where used button. In the pop up that immediately appears choose only programs .
    3.     You will get a list of programs. Double click on the program name.
    4.     You will get the list of location where this function module user exit is used.
    5.     Place session break points at each of these location ( at each CALL FUNCTION statement)
    6.     Now go to your transaction ( say change purchase order tcode:Me22n) and check if the user exit is getting triggered on appropriate event.
    regards,
    Prasad

  • How to find the ME29N 'USER EXIT' when our save the release PO after.

    How to find the ME29N 'USER EXIT' when our save the release PO after.
    which user exit will be used?
    thanks.
    alex.

    Hi,
      process :
        go to tranx code :   ME29N ,
           System---->Status , here copy the program name (SAPLMEGUI),
         go to abap editor and specify the program name SAPLMEGUI and find the package "ME".
         tranx code : CMOD ,  Utilites--->Sap Enanchement,
                                         specify the package name : ME
                                          and execute, displays a list of exits ,
                                 and find out our suitable exit based on requirement.
    check these :   EXIT_SAPMM06E_021
    reg
    Siva

  • How to find the appropriate user exit for invoic02 idoc in idoc_output_invo

    Hi all,
    I am new to this community p
    i have issue regarding  the How to find the appropriate user exit for invoic02 idoc in idoc_output_invoic function module.........
    thanks,

    Hi ,
    welcome to SDN.
    You can select the appropriate Customer exit accrding to the available parameters .
    The list of exits available are 
    EXIT_SAPLVEDF_001
    EXIT_SAPLVEDF_002
    EXIT_SAPLVEDF_003
    EXIT_SAPLVEDF_004
    For Example , if you want  to modify the Idoc data(EDIDD) you have to use the EXIT_SAPLVEDF_002. accodingly you can select the user exit according to the avaialable parametres.Use Table MODSAP fto get the Enhancement name.
    Hope this Helps
    Rgds
    Sree
    Edited by: Sree on Jul 23, 2010 12:11 PM

  • How to find the specifed user-exit

    Hi, experts. i am first time to do enchancement. can anyone tell me how to find specifed user-exit. for example, how to find MV45AFZZ?  Also, what i should pay attention to when doing enhancment works? thanks.

    Hi Jrockman,
    There are many things associated to user exit.
    a) Tcode- CMOD.    here you can find
    b)  USER-EXIT triggering points ->
    Go to se93 and give the tcode to find the main program associated to it.
    Go to se38 and give the main program.
    Find the package associated to it.Go to->Object Directory Entry.
    Go to smod transaction.
    Press f4.
    Press Information System Button.
    Give the Project(Dev Class).
    Press enter.
    Find the enhancements associated
    c) Check the code posted by me ,to get the list of User exits and Badi for a particular tcode in the link mentioned below.
    Re: User Exit for IW22 - to populate custom fields
    d) few useful links to understand User exits.
    http://www.sapdevelopment.co.uk/enhance/enhancehome.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.sappoint.com/abap/userexit.pdf
    ABAP Enhancements and Modifications - General
    https://www.sdn.sap.com/irj/sdn/developerareas/abap?rid=/webcontent/uuid/2342e1f3-0b01-0010-a186-fdd404884050
    Menu Exit
    http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/menu-exits-72696#
    Screen Exit
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    Hope it helps.
    Manish

  • How to find a correct User-Exit

    Hi All
          I need to make changes in the user exit and there are many user-exits in the standard program here my question is how to find the correct user-exit which suits our requirement.
    Thanks
    srini

    run this program by giving ur t code...and click the exit it will go to SMOD there u read the documentation of that exit..if ur requirement satisfies try to use that one..
    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 : devclass like tadir-devclass.
    parameters : tcode like tstc-tcode obligatory.
    select single * from tstc where tcode eq 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 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 devclass.
       endif.
    endif.
    select * from tadir into table jtab
                   where pgmid = 'R3TR'
                     and object = 'SMOD'
                     and devclass = devclass.
    select single * from tstct where sprsl eq sy-langu and
                                      tcode eq tcode.
    format color col_positive intensified off.
    write:/(19) 'Transaction Code - ',
          20(20) 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.

  • How to find my specific user exit

    hi friends,
    in the transaction vl06O , we have different screens under different tabs,
    in the screen under shipment tab, there are two fields,
    incoterm
    productcode
    i should change the values appearing in these fileds only for specific data,
    the data to the incoterm field is brough from likp table,
    i felt that, i shpuld be using a user exit  for this,
    can any one plz suggest  me which  user exit  to user  or how  do i
    find the correct user exit  for this  using break points, i found out that,
    the field incoterm is being called from
    a screen 2000 in
    SAPMV50A program.
    did any one face this problem earlier.
    thank you.

    Hi,
    Use this code to find user exits for specific transaction. You can create a tool program with this..
    REPORT z_find_userexit NO STANDARD PAGE HEADING.
    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
    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.
    Enjoy SAP.
    Pankaj Singh.

  • How to find out all user exits edited

    Hi All,
    Would you know how to find out all user exits have been ever edited?
    Can we find out those user exit by some tcode or table?
    Thank you very much
    Best Regards,
    Calvin
    Edited by: Sam Sum on Mar 2, 2009 5:09 AM

    Hi,
    Just try this in your system.
    Go to SE38 and give ZX* and press F4.
    Have a look at table MODATTR to find the active projects in your system.
    Regards
    Edited by: Rajvansh Ravi on Mar 2, 2009 5:17 AM

  • How to find the concurrent user licenses usuage

    Hi,
    Can you someone tell me how to find the concurrent user licenses usage. if i go to CM C -> Settings -> View Global System Metrics then it is showing strange number in the area of peak licenses used since deployment  (more than 5K),
    Is there is any Bug or how to refer this?
    We are using BI4.0 SP5

    Hello Satheesh,
    Its is possible to track concurrent user licenses usage by using BI 4 monitoring.
    Please check below:
    Monitoring Concurrent Sessions in SAP BI Platform 4.0 and BusinessObjects Enterprise XI3.1
    -Mahesh

  • How to find out appropriate user exit

    Hi,
    I want to know how to find out the user exit that matches to the requirement. Suppose for a material master program, there are so many include programs hence im unable to find call custer-function and even unable to debug an appropriate include. Please help me out how to learn user exits in a rightious way.
    Thanks
    Basu

    Look for program SAPICSS_ in your system and run it. This program can also be found under CMOD menu:  Utilities -> SAP enhancements.
    This will only give you the CMOD user exits.
    There is a program someone made that searches for all sorts of user-exits (including BADI's etc.). I remember that it was posted on sapfans.com
    Edited by: Maen Anachronos on Apr 6, 2009 3:22 PM

  • How to find out FICO user exits that are used by User

    How to find out the FICO user exits that are used by user.

    Go to tcode CMOD. In the project field drop down your list there. Put a Z* there and run the list. These should be all the exits that are activated. Search for the ones that pertain to FI. You can also search by development class. You need a little ABAP knowledge to search easily. You get this by going to the tcode then to status then to the program then to the attributes. There you find the development class. Ie FBAS.
    pls assign points if helpful as a way to say thanks.

  • How to find out whether USER-EXIT is active or not

    Hello!
    How can I  find out whether USER-EXIT is active or not ?
    I set a break-point at these points and nothing happens
    if I want save my daocument ???
    Why
    PERFORM USEREXIT_SAVE_DOCUMENT.
    PERFORM USEREXIT_SAVE_DOCUMENT_PREPARE.
    Ragards
    Ilhan

    Hi Ilhan
    The easiest way, I guess, is by going to transaction SMOD, sticking in your enhancement name and pressing the test button.
    When placing breakpoints, don't use <b>Breakpoints > Breakpoint at > Statement...</b> and enter
    PERFORM USEREXIT_SAVE_DOCUMENT
    because you won't get any hits since the function module names are stored dynamically.
    Rather use <b>Breakpoints > Breakpoint at > Function Module...</b> and enter
    USEREXIT_SAVE_DOCUMENT
    for a better chance of hitting the breakpoint.
    Cheers
    Lyal
    Message's terrible grammar was edited by:
            Lyal Schumann

  • How to find the exact package that I need?

    How can I find the exact package that I need, for example, in Ubuntu, I can add launcher in System -> Preferences -> Main Menu, but in Arch, I can not find this Main Menu, I know I need to install something, but don't know where to go?

    Ghost1227 wrote:depends... where are you now?
    LOL
    pacman -Ss <package-name>
    would help you out. You can also put in part of the name and it will return all the matches. As for a GUI -- you don't get that by default in Arch.
    There is a GUI wrapper for pacman called shaman, but iirc, it uses kdelibs and integrates well with KDE. It looks like you are using Gnome, but you can use shaman in Gnome too.

  • How do find the end user agreement

    how do I find the end user license agreement, I'm so frustrated

    I'm guessing that you have been unable to find the way to accept the end user license for Reader. If you are in Windows (which we don't know), you can try using Windows Explorer to navigate to C:\Program Files (x86)\Adobe\Reader 11.0\Reader, then double-click on Eula.exe and accept the license agreement. If you are in Mac, open your Applications folder, double click on the Reader icon, follow the instructions to accept the license, close and restart Reader.

  • How to find the exact word in a long text?

    Hi,
    Scenario:
    I have long text containing the system status of the equipment.
    Issue:
    I need to find the exact word from the list of the statuses. I have tried to use the FIND keyword but it does not work for all the cases.
    Example:
              FIND 'REL' IN <status_list> IGNORING CASE.
              if sy-subrc = 0.
              " do something
              endif.
    If the status list contains the word 'RELR', the sy-subrc is set to 0 (which may be because it searches the list based on a pattern) but I want to get the exact match.
    Can anybody suggest me on this.
    Regards
    s@k

    >
    siemens.a.k wrote:
    > Dear Kiran, Vasuki,
    >
    > The data type of status list is char with length 40.
    > The status list:
    >
    > Case 1: list -  REL  MANC NMAT PRC  SETC
    > FIND 'REL ' IN <status_list> IGNORING CASE
    > the sy-subrc is set to 0
    >
    > Case2: list - CRTD MSCP NMAT PRC  RELR SETC
    > FIND 'REL ' IN <status_list> IGNORING CASE
    > the sy-subrc is still set to 0 even though the list does not contain the word 'REL'
    >
    > I have also tried using
    > if <status_list> CS 'REL'
    > and
    > if <status_list> CS 'REL '
    >
    >
    > Please do let me know if I am anyway unclear about issue...:)
    >
    > Regards
    > s@k
    This is becacuse when you check
    > Case2: list - CRTD MSCP NMAT PRC  RELR SETC
    It is having RELR so that is the reason you are getting subrc = 0.
    >Ok try CS it should work perfectly.
    It seems... CS also not the correct answer
    (It will count RELR)  below thread sachin is correct ...Do that way ....
    Regards
    sas
    Regards
    Sas
    Edited by: saslove sap on Jan 25, 2010 6:58 AM

Maybe you are looking for

  • Is there a licensing limit on PDF's created in Acrobat and imported into FormsCentral?

    Hello, I have been looking at the forums and also chatted with someone from tech support. I have created a PDF in Acrobat Professional. I have not enabled Reader Extensions on the file. I imported it into FormsCentral and added a submit button. To te

  • How to Add namespace to all elements in a xml document

    Hi, I am trying to read an xml file that does not have any namespace definitions. I have been able to create another schema in which i specify the namespace defination as shown below. <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http:/

  • Help!!  Problem in XML Functions!!!!

    hi: everyone!! when i use the xml functions deletexml, insertxmlbefore, appendchildxml, insertchildxml to update the xml. i get a error:ORA-19039: Keyword DELETEXML reserved for future use. here is my query string:update xml_table set xpo=deletexml(x

  • Sharing network via Airport, can browse but no mail, smtp or pop3

    I have the G5 connected via ethernet to the router box they gave me, fine mail and browsing are super duper, So now I have the Laptop G4 (Both on 10.4.7) On the G5 I crated a network and enabled internet sharing in system prefs using Airport (No airp

  • Manual PR block for MRP items

    Hi Buddies I would like to have the solution while taking my client requirements. The client wants controlling of Inventory budget. They have more MRP items which is creating the PR. But some of the users also processing the manual PR for MRP items.