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: 

Hi experts need a help on User Exit - urgent

Former Member
0 Kudos

Before Goods Receipt (101) against production order is posted with transaction code – MIGO_GO, system should compare actual Goods Issue(261) done for production order with that of planned requirement of Production Order.If there is any difference in terms of either number of material codes or quantity of each and every material code then Warning message should pop up. This is my requirement can any one help me which User Exit I should use and how to add the code. Thanks in Advance.

5 REPLIES 5

tamas_hoznek
Product and Topic Expert
Product and Topic Expert
0 Kudos

The BAdI MB_MIGO_BADI will be just fine for this. I'd suggest using the method CHECK_ITEM. You have an easy way to add the warning message to the application log there.

Look at the documentation and sample code of this BAdI, they'll help to understand what needs to be done.

Former Member
0 Kudos

Hai,

These are the available user exit and badis for this t.code.

MB_CF001 Customer Function Exit in the Case of Updating a Mat. D

MBCF0002 Customer function exit: Segment text in material doc. i

MBCF0005 Material document item for goods receipt/issue slip

MBCF0006 Customer function for WBS element

MBCF0007 Customer function exit: Updating a reservation

MBCF0009 Filling the storage location field

MBCF0010 Customer exit: Create reservation BAPI_RESERVATION_CREA

MBCF0011 Read from RESB and RKPF for print list in MB26

U can try by putting the break-point in the include program. if it is going debug mode then that is correct for ur requirement.

These are the BADIs for this t.code.

ARC_MM_MATBEL_CHECK Check Add-On-Specific Criteria for MM_MATBEL

ARC_MM_MATBEL_WRITE Check Add-On-Specific Data for MM_MATBEL

MB_CHECK_LINE_BADI BAdI: Check Line Before Copying to the Blocking Tables

MB_CIN_LMBMBU04 posting of gr

MB_CIN_MM07MFB7 BAdI for India Version exit in include MM07MFB7

MB_CIN_MM07MFB7_QTY Proposal of quantity from Excise invoice in GR

MB_DOCUMENT_BADI BAdIs when Creating a Material Document

MB_DOCUMENT_UPDATE BADI when updating material document: MSEG and MKPF

MB_MIGO_BADI BAdI in MIGO for External Detail Subscreens

MB_MIGO_ITEM_BADI BAdI in MIGO for Changing Item Data

MB_RESERVATION_BADI MB21/MB22: Check and Complete Dialog Data

same thing put break-point in between module and endmodule.

Thanks and Rgds,

P.Naganjana Reddy.

Former Member
0 Kudos

hI,

Try with BAdI MB_MIGO_BADI.

<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 do reward if useful</b>

Regards

Dinesh

0 Kudos

i can give for this 9 out of 10