BAPI_SALESDOCUMENT_CHANGE修改SO范例

    DATA: ls_order_header  TYPE bapisdhead1,
          ls_order_headerx TYPE bapisdhead1x,
          lt_return        TYPE TABLE OF bapiret2,
          ls_return        TYPE bapiret2,
          lv_msg(220).

    ls_order_header-purch_no_c = iv_bstkd.
    ls_order_headerx-updateflag = 'U'.
    ls_order_headerx-purch_no_c = 'X'.

    CALL FUNCTION 'BAPI_SALESDOCUMENT_CHANGE'
      EXPORTING
        salesdocument    = iv_vbeln
        order_header_in  = ls_order_header
        order_header_inx = ls_order_headerx
      TABLES
        return           = lt_return.
    LOOP AT lt_return INTO ls_return WHERE type CA 'EAX'.
      CALL FUNCTION 'MESSAGE_TEXT_BUILD'
        EXPORTING
          msgid               = ls_return-id
          msgnr               = ls_return-number
          msgv1               = ls_return-message_v1
          msgv2               = ls_return-message_v2
          msgv3               = ls_return-message_v3
          msgv4               = ls_return-message_v4
        IMPORTING
          message_text_output = lv_msg.
      es_return-msg = es_return-msg && lv_msg && ';'.
    ENDLOOP.
    IF sy-subrc = 0.
      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      es_return-msg  = text-001 && iv_vbeln && ': ' && lv_msg.
      es_return-type = 'E'.
    ELSE.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          wait = 'X'.
      es_return-type = 'S'.
      es_return-vbeln   = iv_vbeln.
      es_return-msg = text-001 && iv_vbeln && text-004.
    ENDIF.
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值