代码之家  ›  专栏  ›  技术社区  ›  Umar Abdullah

BAPI\ U SALESORDER\ U CHANGE不进行更改

  •  0
  • Umar Abdullah  · 技术社区  · 7 年前

    我接到电话了 BAPI BAPI\销售订单\更改 要更新销售订单并需要在物料级别更改edatu,BAPI的返回是销售订单已更改但未进行更改。

    我在给BAPI打电话后就开始了 BAPI BAPI\销售订单\更改 但这些变化并没有影响到数据库。

     ls_header_x-updateflag = 'U'.
    
      assign ls_schdl to <schdl>.
      assign ls_schdlx to <schdlx>.
      assign ls_items to <items2>.
      assign ls_itemsx to <items2x>.
    
      <schdl>-itm_number = '000010'.
      <schdlx>-itm_number = '000010'.
    
      <schdl>-sched_line = '0001'.
      <schdlx>-sched_line = '0001'.
    
      <items2>-itm_number = '000010'.
      <items2x>-itm_number = '000010'.
    
      <schdlx>-itm_number = '000010'.
       <schdl>-dlv_date = '20181111'.
    
      append <schdl> to lt_schdl.
    
      <schdlx>-dlv_date = 'U'.
      <schdlx>-updateflag = 'U'.
      append <schdlx> to lt_schdlx.
    
      <items2x>-updateflag = 'U'.
      append <items2> to lt_items.
     append <items2x> to lt_itemsx.
    
    
    
    *update the data
    
      call function 'BAPI_SALESORDER_CHANGE'
    
        exporting
    
          salesdocument    = p_vbeln
    
          order_header_inx = ls_header_x
    
        tables
    
          order_item_in    = lt_items
          order_item_inx   = lt_itemsx
          return           = lt_return
          schedule_lines   = lt_schdl
          schedule_linesx  = lt_schdlx.
    
      read table lt_return assigning <return> with key type = 'E'.
    
      if sy-subrc ne 0.
    
        call function 'BAPI_TRANSACTION_COMMIT'
          exporting
            wait   = 'X'
          importing
           return = ls_return.
    
      endif.
    
    1 回复  |  直到 5 年前
        1
  •  2
  •   mkysoft    7 年前

    您需要用“X”填充订单\项目\ inx和日程安排\行X项目字段。忽略其他值。

    推荐文章