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: 

finding user exit

Former Member
0 Kudos

hi friends,

i was trying to learn how to code user exits, i was following some document i found on this sdn.sap, the process says that, find out the program name , then goto that program through se38 , and then search for " call customer function " , but when i went that way,

i could not find any " call customer function " , instead there aere around 25 INCLUDES tehre, if i have to code inside these includes, how do i find which include is correct one for my work, i could not find documentations for any of these includes,

please some one guide me , how to find correct user exit, and how to code it.

1 ACCEPTED SOLUTION

ferry_lianto
Active Contributor
0 Kudos

Hi,

Please check this sample code on how to find user exits for a given transaction code.

http://www.erpgenie.com/abap/code/abap26.htm

Regards,

Ferry Lianto

5 REPLIES 5

ferry_lianto
Active Contributor
0 Kudos

Hi,

Please check this sample code on how to find user exits for a given transaction code.

http://www.erpgenie.com/abap/code/abap26.htm

Regards,

Ferry Lianto

former_member1361784
Participant
0 Kudos

Hi Sanjana,

Just run the below report in se38 to find required user exit.

REPORT YUSEREXIT NO STANDARD PAGE HEADING.

&----


*& Report YUSEREXIT *&

&----


*& Finding the user-exits of a SAP transaction code

*&

*& Enter the transaction code in which you are looking for the user-exit

*& and it will list you the list of user-exits in the transaction code.

*& Also a drill down is possible which will help you to branch to SMOD.

*&

*&----


*

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

REWARD POINTS if it is useful.

regards.

Vishnu.

Former Member
0 Kudos

thanks friends, for the reply,

i have this code, but when i mentioned this in an interview , he clearly said, very unproffesional, way, and we dont get all the user exits with this,

any other way around friends,

even if this program is allowed it just gives, the exits available for the given tcode, but doent tell anything, like, which one suits my requirement.

i appreciate your help.

ferry_lianto
Active Contributor
0 Kudos

Hi,

The above sample codes will give a short cut to find all corresponding user exits available.

To find the exact user exits which meet your requirement, you will need to try one by one the above user exits by placing a break point and do the debugging. There is no easy way based on my past experiences.

Sometimes, you may need to use BADI instead user exits.

Regards,

Ferry Lianto

0 Kudos

thank you ferry,