SAP Migo增強 105時通過提貨單號自動帶出批次和生產日期
實現功能1:在MVT103時錄入提貨單(送貨單),自動查詢類表是否存在送貨單,如果不存在,提示錄入錯誤。
實現功能2:在105時,根據送貨單自動帶出來批次號碼,生產日期;並把批次號碼,生產日期寫到對應的行項目當中。
1、 建表ZMES_MIGO_VD
2、 創建RFC函數供MES系統調用。
1)、ZMES_RFC_MIGO_VD_INSERT
2)、ZMES_RFC_MIGO_VD_DELETE
3、 找到客戶增強MBCF0002。
se37->EXIT_SAPMM07M_001->雙擊ZXMBCU02。點修改按鈕后加入以下代碼:
***************移動類型103或105時從MES取批次信息*******************
DATA: FRBNR LIKE MKPF-FRBNR. "提貨單號
if ( I_MSEG-BWART = '103' OR I_MSEG-BWART = '105' )
AND ( I_MSEG-WERKS = 'G009' OR I_MSEG-WERKS = 'G010' ).
SELECT SINGLE FRBNR INTO FRBNR
FROM ZMES_MIGO_VD
WHERE EBELN = I_MSEG-EBELN AND FRBNR = I_MKPF-FRBNR.
IF SY-SUBRC <> 0.
MESSAGE E398(00) WITH '采購訂單'
I_MSEG-EBELN
'不存在送貨單'
I_MKPF-FRBNR.
ENDIF.
endif.
***************移動類型103或105時從MES取批次信息*******************
4、 Se19創建BADI MB_MIGO_BADI的實現。
1)、在se19界面選擇Create Implementation->選擇Classic BAdI->輸入MB_MIGO_BADI->點擊Create Impl.
2)、輸入Implementation Short Text,然后點保存按鈕。
3)、創建傳輸請求並保存。這時彈出Create Enhancement Implementation對話框,在Enhancement Implementation輸入ZMIGO,然后輸入Short Text后保存。
4)、雙擊ZCL_IM_MIGO_IMPORT_CHARG進入該Class Interface。
5)、點擊Attributes Tab標簽。新建一個參數:GS_GOHEAD。
6)、在Methods Tab頁,找到方法IF_EX_MB_MIGO_BADI~PAI_HEADER,雙擊打開它。然后加入代碼GS_GOHEAD = IS_GOHEAD. 如下圖:
7)、回到Methods Tab頁,找到方法IF_EX_MB_MIGO_BADI~LINE_MODIFY,雙擊打開它。然后加入以下代碼:
IF GS_GOHEAD-FRBNR <> ''
AND ( CS_GOITEM-WERKS = 'G009' OR CS_GOITEM-WERKS = 'G010' )
AND CS_GOITEM-BWART = '105' AND CS_GOITEM-CHARG = ''.
SELECT SINGLE CHARG HSDAT INTO (CS_GOITEM-CHARG,CS_GOITEM-HSDAT)
FROM ZMES_MIGO_VD
WHERE EBELN = CS_GOITEM-EBELN
AND EBELP = CS_GOITEM-EBELP
AND FRBNR = GS_GOHEAD-FRBNR.
endif.
如下圖: