SAP RFC接口(外围系统发数据给SAP)

本文详细阐述了在SAP系统中,如何通过Web服务接口接收外部数据,进行采购订单的收货、创建交货单、更新库位以及执行交货过账的过程。涉及数据校验、库存可用量检查、BAPI调用等多个关键步骤,并对可能出现的问题进行了处理和记录。

文章目录

1 Instruction

Cwms send data to sap and posting(The movemoment type is 643). And interface is
webservice.

2 code

FUNCTION ZCWMS_SRV_0009_IN.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     VALUE(ITB_CWMS_IN) TYPE  ZTA_CWMS009 OPTIONAL
*"  EXPORTING
*"     VALUE(MBLNR) TYPE  MBLNR
*"     VALUE(ZEBELN) TYPE  ZEBELN
*"     VALUE(REID) TYPE  CHAR1
*"     VALUE(REMSG) TYPE  CHAR200
*"     VALUE(VBELN) TYPE  VBELN
*"----------------------------------------------------------------------


  DEFINE add_pre_zero.
    call function 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = &1
      IMPORTING
        output = &1.
  END-OF-DEFINITION.
  DEFINE delete_pre_zero.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        INPUT  = &1
      IMPORTING
        OUTPUT = &1.
  END-OF-DEFINITION.
*&---------------------------------------------------------------------*
*&      Form  FRM_GET_KYL
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_WERKS    text
*      -->P_LGORT    text
*      -->P_MATNR    text
*      -->P_MENGE    text
*----------------------------------------------------------------------*
  " FRM_GET_KYL




  " 采购订单创建交货单BAPI使用的参数定义
  DATA:
    L_DELIVERY           TYPE VBELN_VL,
    L_NUM_DELIVERIES     TYPE VBNUM,
    LT_STOCK_TRANS_ITEMS TYPE STANDARD TABLE OF BAPIDLVREFTOSTO,
    LT_DELIVERIES        TYPE STANDARD TABLE OF BAPISHPDELIVNUMB,
    LT_CREATED_ITEMS     TYPE STANDARD TABLE OF BAPIDLVITEMCREATED,
    LT_RETURN            TYPE STANDARD TABLE OF BAPIRET2,
    WA_RETURN            LIKE BAPIRET2,

    LT_PROT              TYPE STANDARD TABLE OF PROTT,
    LT_BAPIOBDLVITEMCHG   LIKE STANDARD TABLE OF BAPIOBDLVITEMCHG WITH HEADER LINE,
    LT_BAPIOBDLVITEMCHG_C LIKE STANDARD TABLE OF  BAPIOBDLVITEMCTRLCHG WITH HEADER LINE,
    LT_ITEM_DATA_SPL      TYPE STANDARD TABLE OF /SPE/BAPIOBDLVITEMCHG.
  DATA:
    WA_HEADER_DATA       TYPE BAPIOBDLVHDRCHG,
    WA_HEADER_CONTROL    TYPE BAPIOBDLVHDRCTRLCHG,
    WA_ITEM_DATA_SPL     TYPE /SPE/BAPIOBDLVITEMCHG,
    WA_STOCK_TRANS_ITEMS TYPE BAPIDLVREFTOSTO,
    WA_CREATED_ITEMS     TYPE BAPIDLVITEMCREATED,
    WA_DELIVERIES        TYPE BAPISHPDELIVNUMB,
    WA_VBKOK             TYPE VBKOK,
    L_EF_ERROR_ANY_0     TYPE XFELD.
  "MIGO收货BAPI参数定义
  DATA: GT_GOODSMVT_HEADER  LIKE BAPI2017_GM_HEAD_01,
        GT_GOODSMVT_ITEM    LIKE BAPI2017_GM_ITEM_CREATE OCCURS 0 WITH HEADER LINE,
        GT_RETURN           LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.
  DATA: GT_GOODSMVT_HEADRET LIKE BAPI2017_GM_HEAD_RET,
        GOODSMVT_CODE_TMP   TYPE BAPI2017_GM_CODE.
  DATA: L_RETURN            LIKE BAPIRET2.

  DATA:lv_meins like mara-meins,"基本计量单位
       lv_usnam LIKE MKPF-USNAM,
       lv_MBLNR LIKE MKPF-MBLNR,"物料凭证
       lv_MJAHR like MKPF-MJAHR, "会计年度
       lv_VBELN like LIPS-VBELN,
       lv_POSNR like LIPS-POSNR,
       lv_kyl like ZTCWMS016-MENGE, "可用量
       lv_MENGE like ZTCWMS016-MENGE,"总数量
       lv_LFIMG like lips-LFIMG,"交货单总数
       lv_dn    like lips-VBELN,"交货号
       p_guid LIKE ZTCWMS016-guid,

       GT_ZTCWMS016 LIKE TABLE OF ZTCWMS016 ,  " 日志内表
       GW_ZTCWMS016 LIKE LINE OF  GT_ZTCWMS016,
       GT_ZTCWMS018 LIKE TABLE OF ZTCWMS016 WITH HEADER LINE  ,  " 日志内表
       GW_ZTCWMS018 LIKE LINE OF  GT_ZTCWMS018.

  DATA:    GT_ZTCWMS017 LIKE TABLE OF ZTCWMS017 WITH HEADER LINE,  " 原始数据表
           GW_ZTCWMS017 LIKE LINE OF  GT_ZTCWMS017.


  DATA: BEGIN OF gw_ekpo,             "采购凭证项目内表
       EBELN LIKE ekpo-EBELN,
       EBELP LIKE ekpo-EBELP,
       MATNR LIKE ekpo-MATNR,
       MENGE like ekpo-MENGE,   "订单数量
       MENGE1 like ekpo-MENGE,   "交货单数量
       MENGE2 like ekpo-MENGE,   "还未交货数量
       END OF gw_ekpo.
  DATA: gt_ekpo LIKE STANDARD TABLE OF gw_ekpo with HEADER LINE.
  DATA: wa_cwms_in LIKE   ZST_CWMS009 .
  DATA: gv_uname      LIKE sy-uname.

  DATA: lv_sum   type ekpo-menge,
        lv_str   type string,
        lv_str1  type string.
  DATA: BEGIN OF gw_ekpo1,               " 准备收货采购订单行项目表

        EBELN LIKE ekpo-EBELN,
        EBELP LIKE ekpo-EBELP,
        MENGE like ekpo-MENGE,
        matnr like ekpo-matnr,
        owerks    like zst_cwms009-owerks,
        iwerks    like zst_cwms009-iwerks,
        olgort    like zst_cwms009-olgort,
        ilgort  like zst_cwms009-ilgort,
        END OF gw_ekpo1.
  DATA: gt_ekpo1 LIKE STANDARD TABLE OF gw_ekpo1  WITH HEADER LINE ,
        gt_ekpo2 LIKE STANDARD TABLE OF gw_ekpo1 WITH HEADER LINE .



  DATA: BEGIN OF gw_sum,             "
       iwerks like ZTCWMS017-iwerks,   "
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值