‎2006 Mar 07 12:56 AM
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
‎2006 Mar 07 1:01 AM
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.
‎2006 Mar 07 4:28 AM
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.
‎2006 Mar 07 5:09 AM
Exit Name
MBCF0002
MBCF0005
MBCF0006
MBCF0007
MBCF0009
MBCF0010
MBCF0011
MB_CF001
BADI : MB_DOCUMENT_BADI.
Regards
vinod
‎2006 Mar 07 5:38 AM
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
‎2006 Mar 07 5:54 AM
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