2006 Feb 28 5:55 AM
Using the SMOD transaction, one can find the various
user-exits.But, is there a way to find which user-exit
is associated with a particular module (MM/PP/SD/FI) or a transaction?
2006 Feb 28 5:58 AM
Hi,
Based on package you can identify them,
like if package associated with the exit is VA then it is SD related.
Regards
vijay
2006 Feb 28 5:59 AM
<b>JUST EXECUTE THIS CODE ..ENTER THE TRANSACTION CODE..THE EXITS AVILABLE FOR THAT TRANSACTION WILL BE DISPLAYED</b>..
<b>REWARD IF USEFUL</b>
&----
*& Report ZFIND_USEREXIT
*&
&----
*&
*&
&----
REPORT z_find_userexit NO STANDARD PAGE HEADING.
&----
*& Enter the transaction code that you want to search through in order
*& to find which Standard SAP User Exits exists.
*&
&----
&----
*& Tables
&----
TABLES : tstc, "SAP Transaction Codes
tadir, "Directory of Repository Objects
modsapt, "SAP Enhancements - Short Texts
modact, "Modifications
trdir, "System table TRDIR
tfdir, "Function Module
enlfdir, "Additional Attributes for Function Modules
tstct. "Transaction Code Texts
&----
*& Variables
&----
DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
DATA : field1(30).
DATA : v_devclass LIKE tadir-devclass.
&----
*& Selection Screen Parameters
&----
SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP.
PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK a01.
&----
*& Start of main program
&----
START-OF-SELECTION.
Validate Transaction Code
SELECT SINGLE * FROM tstc
WHERE tcode EQ p_tcode.
Find Repository Objects for transaction code
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 = enlfdir-area.
MOVE : tadir-devclass TO v_devclass.
ENDIF.
ENDIF.
Find SAP Modifactions
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.
Take the user to SMOD for the Exit that was selected.
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.
2006 Feb 28 6:14 AM
Hi Ashok.
Actually I am looking for a method to find the
transactions associated with a particular user-exits.
Do you know how that is possible?
2006 Feb 28 6:28 AM
Hi Abhijeet,
I hope no transaction code is associated with this...
See my previous post. I hope it will solve your problem.
Regards,
Wenceslaus.
2006 Feb 28 6:34 AM
Try this method:
All exits have the program name as part of their own name, for eg, EXIT_SAPMM06B_001. In this, SAPMM06B is the program that the exit is called in, you can use this program name and search for transaction codes related to the program (in SE93). For SAPMM06B, I got a list of 5-6 transaction codes, all of which relate to the PR create/change/display/release etc. This will help narrow down on your search.
The only hitch in the above method is when the program name is a function group program name (SAPL*), in which case you will have to drill down into the function group to find the corresponding tcode.
Hope this gives some idea.
Sudha
2006 Feb 28 6:51 AM
Hi Abhijeet,
i don't think thats possible ..only upto certain extent using the package name..the list of transactions available in that packaage in SE80 can be found...
<b>reward if helpful</b>
2006 Feb 28 7:24 AM
Hi Abhijit,
Try this way.
May be this will help you.
1) go to transaction se81 .
2) select the module (say SD and press F9 so that u will get a yellow color on that module) which means the search area .
3)Then press information System tab which is there on the top . you will be redirected to a new page which will have all the repository inf. There you go to Enhancement (inside which you have got Badi's and Exits).
5) Selecting any of these and pressing F8 button will give you list of exits/ enhancements and lot more provision are there onto the same page.
May be this will help you.
Cheers
Sunny
If helpful , rewrds points
2006 Feb 28 6:01 AM
Hi,
Did u chek out this program:
http://www.sap-img.com/ab038.htm
Also for User exits in SD Module:
http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
Under user exits->user exits in sales->user exits in sales document processing
Also to Search User Exits:
1. SPRO transaction:Check for Exits for that module
2. SAP implementation guide
Regards,
Anjali
2006 Feb 28 6:02 AM
Go to SMOD transaction.
Enter the Enhancement Name in SMOD.
Open in Display mode.
Now get the package name from the window.
Now go to transaction SE80.
Choose package from the listbox
and enter the package name.
Now it will display the list of Transactions associated with the project.
Regards,
Wenceslaus.