MES接口系列 - SAP BOM同步接口设计

业务场景
通过MES中间件定时同步SAP BOM到MES系统中,也可以在MES系统手动同步指定BOM。

同步方式,可通过指定“成品/半成品”料号或“创建/修改日期”来同步有变化的BOM到MES系统中。

SAP接口输入参数

SAP接口表参数

接口表结构

ZST_BOM_ITEM - 按实际需求定义

ZST_BOM_DEL - 已删除的组件

ZST_BOM_POINT - BOM点位表

接口代码
FUNCTION z_if_pp_bom_sync_new .
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(IM_MATNR) TYPE  MATNR OPTIONAL
*"     VALUE(IM_AEDAT) TYPE  MAST-AEDAT OPTIONAL
*"     VALUE(IM_MUTL_LEVEL) TYPE  MEHRS DEFAULT 'X'
*"  TABLES
*"      TB_WERKS_CON STRUCTURE  RANGE_WERKS OPTIONAL
*"      TB_BOM_ITEM STRUCTURE  ZST_BOM_ITEM
*"      TB_BOM_DEL STRUCTURE  ZST_BOM_DEL
*"      TB_BOM_POINT STRUCTURE  ZST_BOM_POINT
*"----------------------------------------------------------------------

*修改程序,带出虚拟件的组件  by ivan 20181016
*修改程序,组件用量按照最上层物料用量进行展开 by ivan 20181019
*修改程序,虚拟件组件需带出上层虚拟件的点位 by ivan 20181022

  DATA: lt_mast TYPE mast OCCURS 0 WITH HEADER LINE.
  DATA: lt_stb    TYPE stpox OCCURS 0 WITH HEADER LINE,
        lt_matcat TYPE cscmat OCCURS 0 WITH HEADER LINE,

        l_capid   TYPE tc04-capid.
  DATA: BEGIN OF lt_comp_setup OCCURS 0,
          setup_point(10) TYPE c.
  DATA: END OF lt_comp_setup.
  DATA: l_potx TYPE string.

  DATA: BEGIN OF it_cdhdr OCCURS 0.
  DATA:   stlnr TYPE mast-stlnr.
          INCLUDE STRUCTURE cdhdr.
          DATA: END OF it_cdhdr.
  DATA: l_index LIKE sy-tabix.
  DATA: ls_marc TYPE marc.
  DATA: ls_mast TYPE mast.

  DATA: gt_matkl_data TYPE TABLE OF ztmatkl WITH HEADER LINE.
  DATA: lr_matkl TYPE RANGE OF mara-matkl WITH HEADER LINE.
  DATA: txt_itab TYPE TABLE OF tline WITH HEADER LINE.
  DATA: lf_tdfname TYPE thead-tdname.
  DATA: g_rows TYPE sy-tabix.
  DATA: ls_stxh TYPE stxh.

  DATA:ls_matnr TYPE mast-matnr.
  DATA:tb_bom_item2 TYPE TABLE OF zst_bom_item WITH HEADER LINE .
  DATA:wa_bom TYPE zst_bom_item .



  SELECT * INTO TABLE gt_matkl_data FROM ztmatkl.

  LOOP AT gt_matkl_data.
    lr_matkl-sign = 'I'.
    lr_matkl-option = 'EQ'.
    lr_matkl-low = gt_matkl_data-matkl.
    APPEND lr_matkl.
  ENDLOOP.

  IF  NOT  im_matnr IS INITIAL  .
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = im_matnr
      IMPORTING
        output = im_matnr.

    SELECT * INTO CORRESPONDING FIELDS OF  TABLE lt_mast
     

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MES-SAP生产报工接口的代码开发需要根据具体的技术架构和接口规范进行定制开发,以下是一些通用的示例代码: 1. 使用SAP提供的RFC接口: ``` FUNCTION ZMES_SAP_PROD_REPORT. DATA: LS_MES_PROD_REPORT TYPE ZMES_PROD_REPORT. "读取MES系统中的生产报工数据 CALL FUNCTION 'ZMES_GET_PROD_REPORT' EXPORTING IV_ORDER_NO = '123456' IMPORTING ES_PROD_REPORT = LS_MES_PROD_REPORT. "调用SAP系统中的RFC接口 CALL FUNCTION 'ZSAP_PROD_REPORT' EXPORTING IV_ORDER_NO = LS_MES_PROD_REPORT-ORDER_NO IV_PROD_MODEL = LS_MES_PROD_REPORT-PROD_MODEL IV_PROD_QTY = LS_MES_PROD_REPORT-PROD_QTY IV_START_TIME = LS_MES_PROD_REPORT-START_TIME IV_END_TIME = LS_MES_PROD_REPORT-END_TIME IV_PROD_PROCESS = LS_MES_PROD_REPORT-PROD_PROCESS IV_EQUIPMENT_NO = LS_MES_PROD_REPORT-EQUIPMENT_NO IV_PERSONNEL_NO = LS_MES_PROD_REPORT-PERSONNEL_NO IV_QUALITY = LS_MES_PROD_REPORT-QUALITY IV_MATERIAL_CONS = LS_MES_PROD_REPORT-MATERIAL_CONS IV_MATERIAL_SUPP = LS_MES_PROD_REPORT-MATERIAL_SUPP IV_MATERIAL_RET = LS_MES_PROD_REPORT-MATERIAL_RET IMPORTING EV_RESULT = LV_RESULT. ENDFUNCTION. ``` 2. 使用IDOC接口: ``` "创建IDOC数据包 DATA: LS_IDOC_CONTROL TYPE EDIDC, LS_IDOC_DATA TYPE EDIDD. "填充IDOC数据包 LS_IDOC_CONTROL-DOCNUM = '000000000001'. LS_IDOC_CONTROL-IDOCTYP = 'ZMES_PROD_REPORT'. LS_IDOC_CONTROL-MESTYP = 'ZMES_PROD_REPORT'. LS_IDOC_CONTROL-SNDPOR = 'MES'. LS_IDOC_CONTROL-SNDPRN = 'MES'. LS_IDOC_CONTROL-RCVPOR = 'SAP'. LS_IDOC_CONTROL-RCVPRN = 'SAP'. LS_IDOC_CONTROL-CREDAT = SY-DATUM. LS_IDOC_CONTROL-STATUS = '03'. LS_IDOC_CONTROL-OUTMOD = '1'. LS_IDOC_DATA-SEGMENTTYP = 'ZMES_PROD_REPORT'. LS_IDOC_DATA-QUALFIER = '001'. LS_IDOC_DATA-SIGN = 'E'. LS_IDOC_DATA-DOCNUM = '000000000001'. LS_IDOC_DATA-SEGMENTNUM = '000001'. LS_IDOC_DATA-PARENT = '000000'. LS_IDOC_DATA-HLEVEL = '002'. LS_IDOC_DATA-MES_PROD_REPORT = LS_MES_PROD_REPORT. "发送IDOC数据包到SAP系统 CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE' EXPORTING MASTER_IDOC_CONTROL = LS_IDOC_CONTROL MASTER_IDOC_DATA = LS_IDOC_DATA IMPORTING RETURN = LS_RETURN. ``` 以上代码仅供参考,具体的接口代码需要根据企业的具体业务需求和技术架构进行定制开发
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值