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

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

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

5 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Dec 05, 2007 at 10:48 AM

    Hi Srini,

    Use the matchcode ( with key words) in SMOD, or search the forum for the useful abap z_find_userexit.

    Hope this helps,

    Erwan

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 05, 2007 at 10:50 AM

    To find the exits we one simple process.

    goto SMOD tcode Utilites->find and give the package and press F8.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 05, 2007 at 11:14 AM

    Hi Sreenivas,

    I think U r able to find user exits related to ur program.

    If it is right try to find with description given to that exit.

    Then u just write 'break-point' in expected exits and execute ur program.

    Then u can easily find correct exit.

    regards,

    Subbu

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Dec 05, 2007 at 11:24 AM

    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.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 05, 2007 at 11:27 AM

    well if you dont know the exits by name and what they are there for, then it´s quite a hard task.

    i didnt yet encounter a better way, so i use following steps:

    - Check the names of the user-exits and see if theres something that sounds like it could fit for my requirement.

    if i found something, i go there with the debug mode, and check if all data i need is available at this point.

    Then i check whether the data changes i do there take effect. Yeah i change values in the debugger and proceed.

    if both questions can be answered positive, then i stop searching and implement my code.

    if i didnt found any user-exit whichs name sounds promising, then i try the first, then the last, the second, the one before the last... and so on, until i found one where my data i need is there, and where the changes made take the wished effect.

    Add a comment
    10|10000 characters needed characters exceeded

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.