Skip to Content
author's profile photo Former Member
Former Member

how to search for enhancement(user exit) or BADI?

what r the steps? first..? second...?

about maintain source list and maintain quota arrangement, r there any enhancements here? or BADI? how to look up, so that i can add my code into it, and to enable my code automatically executes once the end-user finishes maintaining source list and quota arrangement.

thanks so much in advance u guys, i really appreciate ur help here;)

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

7 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Sep 26, 2006 at 05:11 AM

    hi u can get the user exit by going to the standard program of the transaction and first findout the standard program and go to attributes findout the package name and come to smod and press F4 option u will get a window assign the package in that place and then press the tick mark u will get all the possible function modules take all the function modules by copying

    and assign the function modules in cmod to a project.then activate the project u will get all the function modules double click on each function module u will get a include double click the include and put a break-point triggered to be active and go to the concerned transaction code and run the data u get 'n' number of function modules trigerred check with ur requirement of the function module and write the code in that function module in the include.

    OR.

    go to standard program of the transaction and use find option and in find search for Call customer-function and search if there is any user exit or customer exit u will get all the list select on each by double clicking and then if ur requirement suites u then write the code in that place.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Sep 26, 2006 at 02:33 AM

    Hi,

    Check in SE18 for BADIs.

    - Murali

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Sep 26, 2006 at 02:34 AM

    Hi Yuan,

    Welcome to SDN.

    Please check this sample program from other thread to find BADI and enhancement for a given transaction code. You just need to create a custom program in your system by cut and paste below codes.

    REPORT ZTEST.

    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.

    Hope this will help.

    Regards,

    Ferry Lianto

    Please reward points if helpful.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Sep 26, 2006 at 02:52 AM

    still cannot find, i met this problem "Function module EXIT_SAPLMEQR_001 not found in selected search area", the message pop-up when i use "where-used-list" on the above function module.

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Sep 26, 2006 at 03:13 AM

    Hi Yuan,

    Did you use transaction code ME01 (maintain source list) to search for BADI/Enhancement?

    User exits EXIT_SAPLMEQR_001 is used in transaction code ME51N and part of enhancement LMEQR001 (CMOD).

    Regards,

    Ferry Lianto

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      yeah, i've looked up with those key words, such as "call customer", "cl_exithandler" in relevant programs which i found in technical information area provided by F1 help. or did i do it the wrong way? should u tell me more ways to find out the relevant programs?

  • author's profile photo Former Member
    Former Member
    Posted on Sep 26, 2006 at 04:14 AM

    Hi,

    First step is to find whether there is any enhancement provision given by SAP Programmers ..... then use that and build ur own logic (according to the business req) and then assign ur enhancement to a project and activate....

    here goes .....

    1. For what ever transaction u want the enhancement .. just check for the System-->status (menu) and find out the PROGRAM name....

    2. Double click on to the program name and go inside the program (Abap editor)

    3. Search for "Call Customer-function " ... and u'll get some search results .. If u get results then u have enhancement in that tcode .....

    4. Then it actually calls a Function module .... copy the Function module name .... go to SE80 (object navigator) click on "Repository Information system" then Customer Enhancements .... Give the Function module name in the "Components" field and click Execute ....

    ull get a list of Enhancements related to that Componene....

    5. Choose which ever enhancement will suit ur business need ..

    6. Go to CMOD... create a project .... assign ur enhancement ... and then code ur logic.... activate ur enhancement in CMOD ....... Ur Buisness need will be solved...

    For a user exit......

    Finding whether there is any User Exit or not for tcode VA42

    1. For what ever transaction u want the user exit .. just check for the System-->status (menu) and find out the PROGRAM name.... ( The program name would be for our scenario "SAPMV45A" )

    2. Double click on to the program name and go inside the program (Abap editor)

    3. Search for the word "USEREXIT" .... u ll find all the user exits in the search result .. and find ur's then ...

    Hope this helps u 😉

    Cheers 😉

    Kripa Rangachari ...

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Sep 26, 2006 at 04:32 AM

    thanks guys, Kripa Rangachari if i cannot find those keywords in the relevant program i found as u said, does this mean there's totally no enhancement at all in those transactions?

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi yuan zhong,

      See there are so many enhancements ... like ..

      1. Customer Exits

      2. Badis

      3. BTEs...

      So each one has its own search criteria ....

      Like ...

      1. Customer Exits --> call customer-function

      2. Badis --> "cl_exithandler"

      3. BTEs... --> "Open_fi.."

      And i guess its true .. if u find nothing ..then there will be no enhancement for that transaction ...

      But guys.. <b>do correct me if iam wrong</b> in the above words ...

      Cheers 😉

      Kripa Rangachari ..................

      Message was edited by: Kripa Rangachari

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.