Application Development and Automation 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: 
Read only

MIGO User Exit Split material

Former Member
0 Likes
1,552

Hi all !

I like know if exist a user exit when try do a split for a material number, because we need detect in this user exit we going to do the next validation:

If the Batch is empty the send a error message.

This is because is necesary we have a batch number to all the split material.

Thanks

5 REPLIES 5
Read only

Former Member
0 Likes
855

These are standard SAP enhancments available - (I have version 46B)

Transaction Code - MIGO Goods Receipt From Ext. Procurement

Exit Name Description

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

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

MBCFC003 Maintenance of batch master data for goods movements

MBCFC004 Maintenance of batch specifications for goods movements

MBCF0011 Reading of RESB and RKPF for print list in MB26

No of Exits: 8

Check if any of these helps. Keep a break point and debug.

Read only

Former Member
0 Likes
855

Hi,

Use this program, which take input as transaction code and list out the user exit's associated with it.

If this helps you out , Please award suitable points and

close the thread.

Regards,

Irfan Hussain

*****************

REPORT Y_USER_EXITS .

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).

CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.

Read only

vinod_gunaware2
Active Contributor
0 Likes
855

Exit Name

MBCF0002

MBCF0005

MBCF0006

MBCF0007

MBCF0009

MBCF0010

MBCF0011

MB_CF001

BADI : MB_DOCUMENT_BADI.

Regards

vinod

Read only

Former Member
0 Likes
855

Hi Idulio,

You can also search all exits by going to the function group MIGO and find (global)as string "call customer-function". Set breakpoints then run MIGO. It would help you determine what user exit to use.

Best Regards,

Kenny

Read only

Former Member
0 Likes
855

hi ,

I think MB_MIGO_BADI will work for you. In this BADI you can use LINE_MODIFY mehtod it is having line item details in CS_GOITEM. In that structure you have batch number and you can do validation there.

rajkumar abbu