How to find the exact user exit in enhancement.
Hi All,
I am in learning phase. I am working on TCODE VA01 and want to change the PO Date. But i am unable to find out the exact user exit. If somebody could guide me that what is the procedure to find the exact user exit for a perticular field or like that. I am know how to find all the enhancements in the TCODE.
hi
Run this program and give the tcode and it will list down all the user exits for that Tcode.
REPORT z_find_userexit NO STANDARD PAGE HEADING.
TABLES : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir, tstct.
DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
DATA : field1(30).
DATA : v_devclass LIKE tadir-devclass.
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-SELECTION.
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 = 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.
Regards
Sajid
Edited by: shaik sajid on Jun 26, 2009 12:06 PM
Edited by: shaik sajid on Jun 26, 2009 12:10 PM
Similar Messages
-
How to find the exact user exit for our requirement?
Dear Mr. keerthi,
can you please explain me how to find the exact user exit for our requirement?Hi sandip
There is more than one method in which you can check for user-exits.The following method is used very often.
<b>How to find the exact user-exit for your requirement.</b>
1. You can check the user exists using transaction SE85.
2. Repository Information System -> Enhancements -> Customer exits
3. You can search the user-exits by package name.
4. Double click on each exit name to check the function module exits.
<b>The procedure to find the package name.</b>
Execute transaction SE93
Enter the tcode of the transaction for which you want to check the user exit.
Example: if you want to find the user-exit for purchase orders while changing, enter ME22n and press display.
You will get to see the package name
But you need to confirm that the user exit will get triggered at the appropriate event.
( example: you might want some validations to be done ON SAVE of a purchase order)
<b>Checking if the user-exit is getting triggered or not.</b>
1. Open the user exit function module (that you have got in step 4) in Tcode SE37.
2. Click on where used button. In the pop up that immediately appears choose only programs .
3. You will get a list of programs. Double click on the program name.
4. You will get the list of location where this function module user exit is used.
5. Place session break points at each of these location ( at each CALL FUNCTION statement)
6. Now go to your transaction ( say change purchase order tcode:Me22n) and check if the user exit is getting triggered on appropriate event.
regards,
Prasad -
How to find the ME29N 'USER EXIT' when our save the release PO after.
How to find the ME29N 'USER EXIT' when our save the release PO after.
which user exit will be used?
thanks.
alex.Hi,
process :
go to tranx code : ME29N ,
System---->Status , here copy the program name (SAPLMEGUI),
go to abap editor and specify the program name SAPLMEGUI and find the package "ME".
tranx code : CMOD , Utilites--->Sap Enanchement,
specify the package name : ME
and execute, displays a list of exits ,
and find out our suitable exit based on requirement.
check these : EXIT_SAPMM06E_021
reg
Siva -
How to find the appropriate user exit for invoic02 idoc in idoc_output_invo
Hi all,
I am new to this community p
i have issue regarding the How to find the appropriate user exit for invoic02 idoc in idoc_output_invoic function module.........
thanks,Hi ,
welcome to SDN.
You can select the appropriate Customer exit accrding to the available parameters .
The list of exits available are
EXIT_SAPLVEDF_001
EXIT_SAPLVEDF_002
EXIT_SAPLVEDF_003
EXIT_SAPLVEDF_004
For Example , if you want to modify the Idoc data(EDIDD) you have to use the EXIT_SAPLVEDF_002. accodingly you can select the user exit according to the avaialable parametres.Use Table MODSAP fto get the Enhancement name.
Hope this Helps
Rgds
Sree
Edited by: Sree on Jul 23, 2010 12:11 PM -
How to find the specifed user-exit
Hi, experts. i am first time to do enchancement. can anyone tell me how to find specifed user-exit. for example, how to find MV45AFZZ? Also, what i should pay attention to when doing enhancment works? thanks.
Hi Jrockman,
There are many things associated to user exit.
a) Tcode- CMOD. here you can find
b) USER-EXIT triggering points ->
Go to se93 and give the tcode to find the main program associated to it.
Go to se38 and give the main program.
Find the package associated to it.Go to->Object Directory Entry.
Go to smod transaction.
Press f4.
Press Information System Button.
Give the Project(Dev Class).
Press enter.
Find the enhancements associated
c) Check the code posted by me ,to get the list of User exits and Badi for a particular tcode in the link mentioned below.
Re: User Exit for IW22 - to populate custom fields
d) few useful links to understand User exits.
http://www.sapdevelopment.co.uk/enhance/enhancehome.htm
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sapgenie.com/abap/code/abap26.htm
http://www.sap-img.com/abap/what-is-user-exits.htm
http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
http://www.easymarketplace.de/userexit.php
http://www.sappoint.com/abap/userexit.pdf
ABAP Enhancements and Modifications - General
https://www.sdn.sap.com/irj/sdn/developerareas/abap?rid=/webcontent/uuid/2342e1f3-0b01-0010-a186-fdd404884050
Menu Exit
http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/menu-exits-72696#
Screen Exit
http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
Hope it helps.
Manish -
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
srinirun 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. -
How to find my specific user exit
hi friends,
in the transaction vl06O , we have different screens under different tabs,
in the screen under shipment tab, there are two fields,
incoterm
productcode
i should change the values appearing in these fileds only for specific data,
the data to the incoterm field is brough from likp table,
i felt that, i shpuld be using a user exit for this,
can any one plz suggest me which user exit to user or how do i
find the correct user exit for this using break points, i found out that,
the field incoterm is being called from
a screen 2000 in
SAPMV50A program.
did any one face this problem earlier.
thank you.Hi,
Use this code to find user exits for specific transaction. You can create a tool program with this..
REPORT z_find_userexit NO STANDARD PAGE HEADING.
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
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.
Enjoy SAP.
Pankaj Singh. -
How to find out all user exits edited
Hi All,
Would you know how to find out all user exits have been ever edited?
Can we find out those user exit by some tcode or table?
Thank you very much
Best Regards,
Calvin
Edited by: Sam Sum on Mar 2, 2009 5:09 AMHi,
Just try this in your system.
Go to SE38 and give ZX* and press F4.
Have a look at table MODATTR to find the active projects in your system.
Regards
Edited by: Rajvansh Ravi on Mar 2, 2009 5:17 AM -
How to find the concurrent user licenses usuage
Hi,
Can you someone tell me how to find the concurrent user licenses usage. if i go to CM C -> Settings -> View Global System Metrics then it is showing strange number in the area of peak licenses used since deployment (more than 5K),
Is there is any Bug or how to refer this?
We are using BI4.0 SP5Hello Satheesh,
Its is possible to track concurrent user licenses usage by using BI 4 monitoring.
Please check below:
Monitoring Concurrent Sessions in SAP BI Platform 4.0 and BusinessObjects Enterprise XI3.1
-Mahesh -
How to find out appropriate user exit
Hi,
I want to know how to find out the user exit that matches to the requirement. Suppose for a material master program, there are so many include programs hence im unable to find call custer-function and even unable to debug an appropriate include. Please help me out how to learn user exits in a rightious way.
Thanks
BasuLook for program SAPICSS_ in your system and run it. This program can also be found under CMOD menu: Utilities -> SAP enhancements.
This will only give you the CMOD user exits.
There is a program someone made that searches for all sorts of user-exits (including BADI's etc.). I remember that it was posted on sapfans.com
Edited by: Maen Anachronos on Apr 6, 2009 3:22 PM -
How to find out FICO user exits that are used by User
How to find out the FICO user exits that are used by user.
Go to tcode CMOD. In the project field drop down your list there. Put a Z* there and run the list. These should be all the exits that are activated. Search for the ones that pertain to FI. You can also search by development class. You need a little ABAP knowledge to search easily. You get this by going to the tcode then to status then to the program then to the attributes. There you find the development class. Ie FBAS.
pls assign points if helpful as a way to say thanks. -
How to find out whether USER-EXIT is active or not
Hello!
How can I find out whether USER-EXIT is active or not ?
I set a break-point at these points and nothing happens
if I want save my daocument ???
Why
PERFORM USEREXIT_SAVE_DOCUMENT.
PERFORM USEREXIT_SAVE_DOCUMENT_PREPARE.
Ragards
IlhanHi Ilhan
The easiest way, I guess, is by going to transaction SMOD, sticking in your enhancement name and pressing the test button.
When placing breakpoints, don't use <b>Breakpoints > Breakpoint at > Statement...</b> and enter
PERFORM USEREXIT_SAVE_DOCUMENT
because you won't get any hits since the function module names are stored dynamically.
Rather use <b>Breakpoints > Breakpoint at > Function Module...</b> and enter
USEREXIT_SAVE_DOCUMENT
for a better chance of hitting the breakpoint.
Cheers
Lyal
Message's terrible grammar was edited by:
Lyal Schumann -
How to find the exact package that I need?
How can I find the exact package that I need, for example, in Ubuntu, I can add launcher in System -> Preferences -> Main Menu, but in Arch, I can not find this Main Menu, I know I need to install something, but don't know where to go?
Ghost1227 wrote:depends... where are you now?
LOL
pacman -Ss <package-name>
would help you out. You can also put in part of the name and it will return all the matches. As for a GUI -- you don't get that by default in Arch.
There is a GUI wrapper for pacman called shaman, but iirc, it uses kdelibs and integrates well with KDE. It looks like you are using Gnome, but you can use shaman in Gnome too. -
How do find the end user agreement
how do I find the end user license agreement, I'm so frustrated
I'm guessing that you have been unable to find the way to accept the end user license for Reader. If you are in Windows (which we don't know), you can try using Windows Explorer to navigate to C:\Program Files (x86)\Adobe\Reader 11.0\Reader, then double-click on Eula.exe and accept the license agreement. If you are in Mac, open your Applications folder, double click on the Reader icon, follow the instructions to accept the license, close and restart Reader.
-
How to find the exact word in a long text?
Hi,
Scenario:
I have long text containing the system status of the equipment.
Issue:
I need to find the exact word from the list of the statuses. I have tried to use the FIND keyword but it does not work for all the cases.
Example:
FIND 'REL' IN <status_list> IGNORING CASE.
if sy-subrc = 0.
" do something
endif.
If the status list contains the word 'RELR', the sy-subrc is set to 0 (which may be because it searches the list based on a pattern) but I want to get the exact match.
Can anybody suggest me on this.
Regards
s@k>
siemens.a.k wrote:
> Dear Kiran, Vasuki,
>
> The data type of status list is char with length 40.
> The status list:
>
> Case 1: list - REL MANC NMAT PRC SETC
> FIND 'REL ' IN <status_list> IGNORING CASE
> the sy-subrc is set to 0
>
> Case2: list - CRTD MSCP NMAT PRC RELR SETC
> FIND 'REL ' IN <status_list> IGNORING CASE
> the sy-subrc is still set to 0 even though the list does not contain the word 'REL'
>
> I have also tried using
> if <status_list> CS 'REL'
> and
> if <status_list> CS 'REL '
>
>
> Please do let me know if I am anyway unclear about issue...:)
>
> Regards
> s@k
This is becacuse when you check
> Case2: list - CRTD MSCP NMAT PRC RELR SETC
It is having RELR so that is the reason you are getting subrc = 0.
>Ok try CS it should work perfectly.
It seems... CS also not the correct answer
(It will count RELR) below thread sachin is correct ...Do that way ....
Regards
sas
Regards
Sas
Edited by: saslove sap on Jan 25, 2010 6:58 AM
Maybe you are looking for
-
Is there a licensing limit on PDF's created in Acrobat and imported into FormsCentral?
Hello, I have been looking at the forums and also chatted with someone from tech support. I have created a PDF in Acrobat Professional. I have not enabled Reader Extensions on the file. I imported it into FormsCentral and added a submit button. To te
-
How to Add namespace to all elements in a xml document
Hi, I am trying to read an xml file that does not have any namespace definitions. I have been able to create another schema in which i specify the namespace defination as shown below. <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http:/
-
Help!! Problem in XML Functions!!!!
hi: everyone!! when i use the xml functions deletexml, insertxmlbefore, appendchildxml, insertchildxml to update the xml. i get a error:ORA-19039: Keyword DELETEXML reserved for future use. here is my query string:update xml_table set xpo=deletexml(x
-
Sharing network via Airport, can browse but no mail, smtp or pop3
I have the G5 connected via ethernet to the router box they gave me, fine mail and browsing are super duper, So now I have the Laptop G4 (Both on 10.4.7) On the G5 I crated a network and enabled internet sharing in system prefs using Airport (No airp
-
Hi Buddies I would like to have the solution while taking my client requirements. The client wants controlling of Inventory budget. They have more MRP items which is creating the PR. But some of the users also processing the manual PR for MRP items.