06-12-2007 12:56 PM
In Vendor Master Display XK02, for Payment Transactions there is a Checkbox for Double Invoice. If the Invoice is already made, I want to raise a error message. Is there any User Exit for that Vendor Transaction to achieve this functionality.
06-12-2007 1:00 PM
Hello,
SUe the exit
<b>
SAPMF02K User exits: Vendor master data
FM ---- EXIT_SAPMF02K_001 and INCLUDE ZXF05U01.
</b>
Vasanth
06-12-2007 1:04 PM
Hi Krish,
Following user Exits are available for XK02. You can use user exits whichever matches the requirements:
RFKRRANZ User exits: Accounts Payable Information System
SAPMF02K User exits: Vendor master data
Ashven
06-12-2007 1:12 PM
Hi,
Check for these 2 enhancements if it helps -
SAPMF02K User exits: Vendor master data
RFKRRANZ User exits: Accounts Payable Information System
There are also several BAdI's available for Vendor Master maintenance.
use txn SE18, select the drop-down, choose INFORMATION SYSTEMS, leave the definition name blank and enter "*endor" for the short description (it is case sensitive; this will give you Vendor and vendor).
I have used VENDOR_ADD_DATA several times with success.
<b>*Reward points</b>
Regards
06-12-2007 1:22 PM
Hi
Find the available exits with the following program:::
&----
*& Report ZFINDUSEREXIT
*&
&----
*&
*&
&----
report zfinduserexit.
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).
If there are no available user exits you could go for badi's.
To search for a badi, go to se 24 display class cl_exithandler. double click on method get_instance, get a break point on case statement. execute and start the required transaction in new session. look for variable exit_name. It would show the available badi's.
<b>please reward if useful...</b>
regards
dinesh