Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

How to find a correct User-Exit

Former Member
0 Kudos

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

5 REPLIES 5

Former Member
0 Kudos

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

Former Member
0 Kudos

To find the exits we one simple process.

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

Former Member
0 Kudos

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

former_member699750
Participant
0 Kudos

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.

Former Member
0 Kudos

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.