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.
如下图: