Application Development and Automation 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: 
Read only

User Exit & BADI

Former Member
0 Likes
1,514

Hi Gurus,

I am new to this module.Can you tell me how to search the user exit & BADI for T-Code Like CS15.

CS15 Tcode is used for where-Used list for material.CS15 we can enter one material,Now i want to make a report which is having multiple Material.Can anybody explain how can i get my requirement.

Regards,

AR

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,376

Hi,

go to t-code se15>expand the node -Enhacementsenhace the Customer Exits or Badi and execute..

you will get the List of User exits available..

or Go to se16 and enter Table --MODSAP..and execute you will get the List of User Exits available..

or

1. Go to transaction SE24 i.e. Class Builder.

2. Put the Object type as CL_EXITHANDLER and press Display.

3. Go to the tab of METHODS and double click on the method GET_INSTANCE.

4.When you double click it will lead you to the source code of the method.In the source

code at very start you will find code which method is called i.e.

get_class_name_by_interface. We need to just put a break-point on that.

5. There we will find a Changing parameter EXIT_NAME .This is the parameter which

will tell us that which BADI got Trigger at the point where we want to enhance the logic.

Regards,

Sathish

Edited by: sathish on May 13, 2009 2:15 PM

Hi Gurus,

I am new to this module.Can you tell me how to search the user exit & BADI for T-Code Like CS15.

CS15 Tcode is used for where-Used list for material.CS15 we can enter one material,Now i want to make a report which is having multiple Material.Can anybody explain how can i get my requirement.

Regards,

AR

4 REPLIES 4
Read only

Former Member
0 Likes
1,376

hai amit, to search for a user exit use smod and from there in f4 help u give the package of ur transaction adn u can find user exits,

to find badi follow this procedure

go to se24 and type CL_EXITHANDLER in this class go to method GET_INSTANCE and put break poitn at CALL METHOD cl_exithandler=>get_class_name_by_interface and u enter the transaction and ur debug will stop at this point and see the exti name

regards

afzal

Read only

Former Member
0 Likes
1,376

Hi Amit,

use this program to find out the User Exits of any Tcodes,

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

Read only

Former Member
0 Likes
1,377

Hi,

go to t-code se15>expand the node -Enhacementsenhace the Customer Exits or Badi and execute..

you will get the List of User exits available..

or Go to se16 and enter Table --MODSAP..and execute you will get the List of User Exits available..

or

1. Go to transaction SE24 i.e. Class Builder.

2. Put the Object type as CL_EXITHANDLER and press Display.

3. Go to the tab of METHODS and double click on the method GET_INSTANCE.

4.When you double click it will lead you to the source code of the method.In the source

code at very start you will find code which method is called i.e.

get_class_name_by_interface. We need to just put a break-point on that.

5. There we will find a Changing parameter EXIT_NAME .This is the parameter which

will tell us that which BADI got Trigger at the point where we want to enhance the logic.

Regards,

Sathish

Edited by: sathish on May 13, 2009 2:15 PM

Read only

Former Member
0 Likes
1,376

Dear ,

This is a very comman question and their are lots of threads available on this for your reference copy paste the below code through which you can find exits for a particular tcode

&----


*& Report ZUSEREXIT

*&

&----


*&

*&

&----


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

Cheers

fareed