ABAP_销售订单修改抬头字段-卸货点BAPI_SALESORDER_CHANGE

这段代码主要涉及SAP系统中销售订单的处理。首先通过销售单号选取VBPA表和ADRC表的相关信息,并进行排序。接着在BAPI_SALESORDER_CHANGE执行成功后,对送达方信息进行更新,将数据插入到SD_PARTNER_UPDATE函数中进行处理。最后提交事务并显示操作状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

话不多说 上技师

  DATA: i_yvbpa TYPE TABLE OF vbpavb WITH HEADER LINE.
  DATA: i_xvbpa TYPE TABLE OF vbpavb WITH HEADER LINE.

  DATA: i_xvbadr TYPE TABLE OF sadrvb WITH HEADER LINE.
  DATA: i_yvbadr TYPE TABLE OF sadrvb WITH HEADER LINE.

用销售单号取出信息

SELECT * INTO TABLE @DATA(lt_vbpa)
     FROM vbpa
     FOR ALL ENTRIES IN @gt_output_va02
     WHERE vbeln = @gt_output_va02-vbeln
       AND posnr = 0.

  SORT lt_vbpa BY vbeln posnr parvw.
  IF  lt_vbpa IS NOT INITIAL.
    SELECT *  INTO TABLE @DATA(lt_adrc)
     FROM adrc
     FOR ALL ENTRIES IN @lt_vbpa
     WHERE addrnumber = @lt_vbpa-adrnr.
    SORT lt_adrc BY addrnumber.
  ENDIF.

当BAPI_SALESORDER_CHANGE执行成功后 处理插入内表执行 SD_PARTNER_UPDATE

"送达方
      IF gs_output_va-ablad IS NOT INITIAL.


        READ TABLE lt_vbpa INTO DATA(lw_vbpa) WITH KEY vbeln = gs_output_va-vbeln posnr = 0 parvw = 'WE'  BINARY SEARCH .
        IF    sy-subrc = 0 .
          MOVE-CORRESPONDING lw_vbpa TO i_xvbpa.
          MOVE-CORRESPONDING lw_vbpa TO i_yvbpa.
          i_xvbpa-updkz = 'U'.
          i_xvbpa-ablad = gs_output_va-ablad.   "卸货点

          APPEND i_xvbpa.
          APPEND i_yvbpa.
          CLEAR:i_yvbpa,i_xvbpa.

*         APPEND i_xvbpa .
          READ TABLE lt_adrc INTO DATA(lw_adrc) WITH KEY addrnumber = lw_vbpa-adrnr BINARY SEARCH.
          IF  sy-subrc = 0.
            MOVE-CORRESPONDING lw_adrc TO i_xvbadr.
            MOVE-CORRESPONDING lw_adrc TO i_yvbadr.

            APPEND i_xvbadr.
            APPEND i_yvbadr.
            CLEAR:i_xvbadr,i_yvbadr.
          ENDIF.
        ENDIF.


        CALL FUNCTION 'SD_PARTNER_UPDATE'
          EXPORTING
            f_vbeln  = gs_output_va-vbeln
            object   = 'VBPA'
          TABLES
            i_xvbadr = i_xvbadr[]
            i_xvbpa  = i_xvbpa[]
            i_yvbadr = i_yvbadr[]
            i_yvbpa  = i_yvbpa[]
*           I_XVBPA2 =
*           I_YVBPA2 =
          .

       ENDIF.

        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            wait = 'X'.
        lv_status = icon_green_light.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值