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: 

User Exits for Vendor Transaction

Former Member
0 Kudos

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.

4 REPLIES 4

Former Member
0 Kudos

Hello,

SUe the exit

<b>

SAPMF02K            User exits: Vendor master data

FM ---- EXIT_SAPMF02K_001 and  INCLUDE ZXF05U01.

</b>

Vasanth

Former Member
0 Kudos

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

Former Member
0 Kudos

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

Former Member
0 Kudos

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