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


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.

如下图:


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM