WS_DELIVERY_UPDATE 修改库存地点

这个函数交货单过账的时候会提示库存地点为空,但是入参中logrt的赋值,不起作用。

ls_vbpok-kzlgo = 'X'.
 ls_vbpok-xwmpp = 'X'.

这两个字段也需要附上值。

      CLEAR:lv_message,lt_vbpok,ls_vbpok.

      la_vbkok-vbeln_vl           = lf_vbeln.
      la_vbkok-wabuc              = 'X'.
      la_vbkok-wadat_ist          = sy-datum.
      LOOP AT lt_item INTO ls_item.
        ls_vbpok-vbeln_vl = ls_item-deliv_numb. "delivery
        ls_vbpok-posnr_vl = ls_item-deliv_item.
        ls_vbpok-vbeln = ls_item-deliv_numb.  "delivery
        ls_vbpok-posnn = ls_item-deliv_item.
        ls_vbpok-matnr = ls_item-material.  "delivery
        ls_vbpok-pikmg = ls_item-dlv_qty.
        ls_vbpok-lgort = 'L001'.
        ls_vbpok-kzlgo = 'X'.
        ls_vbpok-xwmpp = 'X'.
        APPEND ls_vbpok TO lt_vbpok.
      ENDLOOP.
      SET UPDATE TASK LOCAL.
      CALL FUNCTION 'WS_DELIVERY_UPDATE'
        EXPORTING
          vbkok_wa  = la_vbkok
          commit    = 'X'
          delivery  = lf_vbeln
        TABLES
          vbpok_tab = lt_vbpok
          prot      = lt_prot.

      LOOP AT lt_prot INTO ls_prot WHERE msgty CA 'AEX'.
        CALL FUNCTION 'MESSAGE_TEXT_BUILD'
          EXPORTING
            msgid               = ls_prot-msgid
            msgnr               = ls_prot-msgno
            msgv1               = ls_prot-msgv1
            msgv2               = ls_prot-msgv2
            msgv3               = ls_prot-msgv3
            msgv4               = ls_prot-msgv4
          IMPORTING
            message_text_output = lv_message.
        ev_msgty = cs_status_e.
        CONCATENATE ev_message lv_message ';' INTO ev_message.
      ENDLOOP.

      IF sy-subrc = 0.
      ELSE.

        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            wait = space.

        SELECT SINGLE * FROM likp INTO @DATA(ls_likp) WHERE vbeln = @lf_vbeln AND wbstk = 'C'.
        IF sy-subrc = 0. " 过账成功
          wa_input-dn_post = 'X'.
*        wa_input-status = cs_status_s.
          ev_message = ev_message && '过账成功'.
        ELSE.
          ev_msgty = cs_status_e.
          ev_message = ev_message && '过账失败'.
        ENDIF.
      ENDIF.

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值