Skip to Content
0
Nov 02, 2018 at 10:20 AM

BAPI_SALESORDER_CHANGE does not make changes

423 Views

Hello Folk's i'm struggiling with the bapi in object. I need to changed the edatu at item level, the return of the bapi is that the sales order is changed but no changed is made...

i'm comitting after calling the bapi.

here's my sample code:

  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.