SAP Migo增强 105时通过提货单号自动带出批次和生产日期

时间:2024-02-21 11:31:38

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.

如下图: