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

Similar Messages

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

  • How to find the user exits called at the time of posting the IDOC?

    Hi,
        Could anyone please how to find the user exits while posting a idoc?

    Hi,
    One way to ahive this is by, be ready with IDOC postiong,
    then go to ST05 transaction and activate the trace after checking Table Buffer Trace.
    Now post the IDOC then deactivate the trace.
    Now come back to ST05 and display trace and search for calls starts with EXIT_.
    Regards,
    Manoj Kumar P

  • How to find the user exit for infotype 2013 ?

    Hi All,
    How to find the user exit in infotype 2013? i want to change the drop down list default value in infotype 2013.
    Thanks,
    Srikanth P

    reward points if useful
    User exit name is PBAS0001.
    code should be written in ZXPADU01 for PBO
    ZXPADU02 for PAI.

  • How to find the user exit for the T-code 'RECN'

    Hi friends,
    I have a requirement as-
    In 'General Data with Fast Entry' tab of tcode 'RECN' there are 2 fields as contract conclusion date and contract end date.
    Now, the requirement is as if entered contract end date is less than contract conclusion date then we have to display a warning message as "contract end date cannot be less than contract conclusion date".
    So, how to find the right user exit to enter the code.
    Plz help me.I will surely reward points.
    Thanks,
    Rishi

    Hi Rishi,
    If User exits and BAdi's are not provided,  then  you will for Enhancement points.
    Procedure:
                     When you are in a particular transaction, Go to System--> status and you find the standard program of that particular screen. Go to SE38 and give that program name, display mode.
    After that you click on the spiral icon there onthe top. Then,
    You go to menu bar, Edit> Enhancement opitons> show implicit enhancement options.
    You will be shown the points where you need to write the code.
    For creating it you will go to Edit >  Enhancement opitons> Create.
    By this you will add some code in the standard programs.
    Reward points if it helps you.
    Cheers,
    Swamy Kunche

  • 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

  • How we find the user exits

    hi how we serach the all user exits if we only have the transaction code.
    eg IW32.

    Hi,
    Here is the code for that
    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.
    Regards,
    Ruthra

  • Can anybody tell  how to find the user exit

    i need to use " EXIT_SAPLE30D_002 "  this is a User exit to put the base load field as mandatory for the mass market installations  (domain ISU)
    please let me know ASAP

    HI.
    Copy this prog in SE38, and finf BDI and Userexit.
    *& Report  ZTEST7
    REPORT  ZTEST7.
    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.
    Regards.
    Jay

  • How to find the user exit in BOM?

    hi this is ganesh,
    my requirement is to put the check in bom header level at adminstrative data tab creation on field.
    so can you expain me the how to exit to header level in BOM.

    Hi,
    You can use customer function PCSD0007 (using transaction CMOD) and the customer-exit function module EXIT_SAPLCSDI_007 allows checkign data correctnes on header level after the user performs any change to the BMO header.
    Regards,
    Marcin

  • How to find the user exits?

    Hi i want to know which user exits is available to add a new field in VA11 screen.
    Thks

    Abinash,
    Copy this program and run with t-code>>>
    report zexit.
    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

  • How to find the user-exit

    Hello Expert,
    It is obviously someone have changed the structure of datasource 2LIS_04_P_COMP because there are Z* filed, and this Z* field was populated in the datapackage.
    But the content was not enhanced in 'RSAP0001'. Do anybody know somewhere can populate the enhanced fileds?
    I only find the TXN COR2 will trigger the Delta for this DS. But the TXN involves lots of program...
    Thanks
    XY

    Hi chen,
    I think you will have to as you dont have any other option.I
    You can also go to the data source in RSA6 and go inside the extract structure.
    Go to where used list of extract structure.
    You will get the list of includes and you should go to the one which begins with Z*.
    these are the includes which are used by the this data source for modification.
    Thanks
    Ajeet

  • 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

  • Active User Exits and BAdi

    Dear All,
                I am in need to find active user exits and BAdis in our implementation.
    Is there any specific Tcode or Program?.
    Could anybody help me in this regard.
    Regards,
    S.Sridhar

    Hi Sridhar,
    To find the active user exits, use the below program.
    REPORT  ZJK_USED_ENHANCEMENT_LIST               .
    TABLES : TFDIR, TRDIR, D010SINF, MODSAP, MODACT, TDEVCT, TADIR, TSTC, TSTCT, V_TDEVC, V_FDIRT.
    TYPE-POOLS : SLIS.
    TYPES : BEGIN OF ST_TRDIR,
            NAME LIKE TRDIR-NAME,
            CDAT LIKE TRDIR-CDAT,
            UDAT LIKE TRDIR-UDAT,
            RSTAT LIKE TRDIR-RSTAT,
            END OF ST_TRDIR.
    TYPES : BEGIN OF ST_TFDIR,
            SNO(4) TYPE C,
            INCL LIKE TFDIR-PNAME,
            CDAT LIKE TRDIR-CDAT,
            UDAT LIKE TRDIR-UDAT,
            R3STATE LIKE D010SINF-R3STATE,
            PNAME LIKE TFDIR-PNAME,
            INCLUDE LIKE TFDIR-INCLUDE,
            FUNCNAME LIKE TFDIR-FUNCNAME,
            ENHANCE  LIKE MODSAP-NAME,
            STEXT LIKE V_FDIRT-STEXT,
            PROJECT LIKE MODACT-NAME,
            DEVCLASS LIKE TDEVC-DEVCLASS,
            CTEXT LIKE TDEVC-CTEXT,
            END OF ST_TFDIR.
    DATA : IT_TRDIR TYPE TABLE OF ST_TRDIR,
           WA_TRDIR TYPE ST_TRDIR.
    DATA : IT_TFDIR TYPE TABLE OF ST_TFDIR,
           WA_TFDIR TYPE ST_TFDIR.
    DATA : LIKE(2) TYPE N,
           X(2),
           SNO(4),
           HTYPE TYPE DD01V-DATATYPE.
    **********************************ALV************************************
    DATA :  IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
            WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
            WA_LAYOUT TYPE SLIS_LAYOUT_ALV ,
            TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP'.
    **********************************ALV************************************
    PERFORM MANUAL_FIELDCAT USING 'SNO' 'IT_TFDIR' 'X' '4' 'S.No' .
    PERFORM MANUAL_FIELDCAT USING 'INCL' 'IT_TFDIR' 'X' '15' 'Include Name' .
    PERFORM MANUAL_FIELDCAT USING 'CDAT' 'IT_TFDIR' 'X' '15' 'Created Date' .
    PERFORM MANUAL_FIELDCAT USING 'UDAT' 'IT_TFDIR' ' ' '15' 'Last Modified' .
    PERFORM MANUAL_FIELDCAT USING 'R3STATE' 'IT_TFDIR' ' ' '15' 'Active / Inactive' .
    PERFORM MANUAL_FIELDCAT USING 'PNAME' 'IT_TFDIR' ' ' '12' 'Prgram Name' .
    *PERFORM MANUAL_FIELDCAT USING 'INCLUDE' 'IT_TFDIR' ' ' '10' 'Include No' .
    PERFORM MANUAL_FIELDCAT USING 'FUNCNAME' 'IT_TFDIR' ' ' '30' 'Function Module' .
    PERFORM MANUAL_FIELDCAT USING 'STEXT' 'IT_TFDIR' ' ' '74' 'Purpose of use' .
    PERFORM MANUAL_FIELDCAT USING 'ENHANCE' 'IT_TFDIR' ' ' '15' 'Enhancement' .
    PERFORM MANUAL_FIELDCAT USING 'PROJECT' 'IT_TFDIR' ' ' '10' 'Project' .
    PERFORM MANUAL_FIELDCAT USING 'DEVCLASS' 'IT_TFDIR' ' ' '10' 'Package' .
    PERFORM MANUAL_FIELDCAT USING 'CTEXT' 'IT_TFDIR' ' ' '100' 'Module' .
    PERFORM SELECTION.
    PERFORM LAYOUT.
    PERFORM  CALL_GRID_DISPLAY.
    **********************************ALV************************************
    FORM SELECTION.
      SELECT NAME CDAT UDAT RSTAT FROM TRDIR INTO TABLE IT_TRDIR WHERE NAME LIKE 'ZX%' AND SUBC EQ 'I'.
      LOOP AT IT_TRDIR INTO WA_TRDIR.
        WA_TFDIR-INCL =  WA_TRDIR-NAME.
        WA_TFDIR-CDAT = WA_TRDIR-CDAT .
        WA_TFDIR-UDAT = WA_TRDIR-UDAT.
        SELECT SINGLE * FROM D010SINF WHERE PROG EQ WA_TRDIR-NAME AND R3STATE = 'I'.
        IF SY-SUBRC EQ 0.
          WA_TFDIR-R3STATE = 'I'.
        ELSE.
          WA_TFDIR-R3STATE = 'A'.
        ENDIF.
        X = STRLEN( WA_TRDIR-NAME ).
        X = X - 2.
        CALL FUNCTION 'NUMERIC_CHECK'
          EXPORTING
            STRING_IN = WA_TRDIR-NAME+X
          IMPORTING
            HTYPE     = HTYPE.
        IF HTYPE EQ 'NUMC'.
          SNO = SNO + 1.
          WA_TFDIR-SNO = SNO.
          WA_TFDIR-INCLUDE = WA_TRDIR-NAME+X.
          CONCATENATE 'SAPL' WA_TRDIR-NAME+1 INTO WA_TRDIR-NAME.
          X =  STRLEN( WA_TRDIR-NAME ).
          X = X - 3.
          WA_TFDIR-PNAME = WA_TRDIR-NAME(X).
          SELECT SINGLE * FROM TFDIR WHERE PNAME EQ WA_TFDIR-PNAME AND INCLUDE EQ WA_TFDIR-INCLUDE.
          IF SY-SUBRC EQ 0.
            WA_TFDIR-FUNCNAME = TFDIR-FUNCNAME.
            SELECT SINGLE * FROM MODSAP WHERE MEMBER EQ WA_TFDIR-FUNCNAME.
            IF SY-SUBRC EQ 0.
              SELECT SINGLE * FROM MODACT WHERE MEMBER EQ MODSAP-NAME.
            ENDIF.
            WA_TFDIR-ENHANCE = MODSAP-NAME.
            WA_TFDIR-PROJECT = MODACT-NAME.
            SELECT SINGLE * FROM TADIR WHERE OBJ_NAME = MODSAP-NAME.
            SELECT SINGLE * FROM TDEVCT WHERE DEVCLASS = TADIR-DEVCLASS AND SPRAS = SY-LANGU.
            SELECT SINGLE * FROM V_FDIRT WHERE FUNCNAME EQ WA_TFDIR-FUNCNAME AND SPRAS EQ SY-LANGU.
            WA_TFDIR-STEXT = V_FDIRT-STEXT.
            WA_TFDIR-DEVCLASS = TDEVCT-DEVCLASS.
            WA_TFDIR-CTEXT = TDEVCT-CTEXT.
            APPEND WA_TFDIR TO IT_TFDIR.
          ENDIF.
        ENDIF.
        CLEAR : X, D010SINF, TFDIR, HTYPE, MODSAP, MODACT, TADIR, TDEVCT.
      ENDLOOP.
    ENDFORM.                    "SELECTION
    *&      Form  MANUAL_FIELDCAT
          text
         -->VALUE(P_0185)  text
         -->VALUE(P_0186)  text
         -->VALUE(P_0187)  text
         -->VALUE(P_0188)  text
         -->VALUE(P_0189)  text
    FORM MANUAL_FIELDCAT  USING    VALUE(P_0185)
                                   VALUE(P_0186)
                                   VALUE(P_0187)
                                   VALUE(P_0188)
                                   VALUE(P_0189).
      WA_FIELDCAT-FIELDNAME = P_0185.
      WA_FIELDCAT-TABNAME = P_0186.
      WA_FIELDCAT-KEY = P_0187.
      WA_FIELDCAT-OUTPUTLEN = P_0188.
      WA_FIELDCAT-SELTEXT_L = P_0189.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
    ENDFORM.                    " manual_fieldcat
    *&      Form  LAYOUT
          text
    FORM LAYOUT .
      WA_LAYOUT-ZEBRA = 'X'.
    ENDFORM.                    " LAYOUT
    *&      Form  CALL_GRID_DISPLAY
          text
    FORM CALL_GRID_DISPLAY .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM     = SY-REPID
          I_CALLBACK_TOP_OF_PAGE = TOP_OF_PAGE
          I_GRID_TITLE           = 'Used Exit Details'
          IS_LAYOUT              = WA_LAYOUT
          IT_FIELDCAT            = IT_FIELDCAT
        TABLES
          T_OUTTAB               = IT_TFDIR.
    ENDFORM.                    " CALL_GRID_DISPLAY
    *&      Form  TOP
          text
    FORM TOP .
      DATA: HEADER TYPE SLIS_T_LISTHEADER WITH HEADER LINE.
      HEADER-TYP = 'H'.
    WRITE : 'Plant   :' TO HEADER-INFO+1,
           P_WERKS TO HEADER-INFO+10.
    APPEND HEADER.
    CLEAR HEADER.
    HEADER-TYP = 'H'.
    WRITE : 'Month :' TO HEADER-INFO+1,
             P_MONYR TO HEADER-INFO+10.
      APPEND HEADER.
      CLEAR HEADER.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY = HEADER[]
          I_LOGO             = 'JK'.
    ENDFORM.                    "TOP
    regards
    Arun

  • To get the user exits and modification points

    Hi Experts,
    I am able to find all user exits for a particular transaction,but is there a way to find it for some specific actions alone.
    Need to find the user exits and enhancement points that are called while clicking a specific button in a standard transaction.
    Your help is highly appreciated.
    Regards,
    Sridevi

    Hi
    To find out the userexits at position where you need you should see the description of the USER EXIT.If you find that it is close to the point where you want then put up a break point inside it and re - run the transaction.
    Also you can check SDN post to find out your user exit.
    FOR BADI -
    1 )You can put breakpoints at method GET_INSTANCE of class CL_EXITHANDLER and  CALL FUNCTION statements.
    2) You can run through SPRO transaction for the particular Functional area and understand the available exits or BADIs .
    Regards
    Gaurav

Maybe you are looking for

  • Internet works on partition but not on my mac

    Hello. My internet on my MacBook Air was working just fine, but suddenly it stopped being able to load any page stating the connection has timed out. It happens will safari, firefox and chrome. However, it works just fine in my Windows XP partition I

  • How can i customize ActionBox in QM01 Transaction

    hello guru's,   i have a requirement to add additional link with icon in actionbox (which displays right side of the screen)to perform actions based on uesr need.i found include program LQM07F30 (in SAPLQM07) which prepares all the links and icons in

  • Quicktime 7.0+ with Vista = error 46: can't find or load quicktime activex

    For awhile, Quicktime Pro was working on my 32bit Microsoft Vista PC that I built, then sometime around 7.1.5 Internet Explorer would no longer play Quicktime files in my browser. No biggie, but then after 7.1.6 it would not longer load at all. I kee

  • Documenting an XServe -managment reports

    Can anyone tell me how I can get reports form an xserver such as users and groups and share points? I need to provide regular management reports but I cant find an easy way to document this.

  • Kitting from Stores to Assembly Line

    We have a desire to create kits in our logistics areas preferably using WM that will allow us to deliver parts from stores to the production line. The scenario is we have 10 components that we would like to assign to an operation in the prime product