BAPI_SALESORDER_CHANGE не вносит изменения - PullRequest
0 голосов
/ 03 ноября 2018

Я звоню BAPI BAPI_SALESORDER_CHANGE , чтобы обновить заказ на продажу и необходимо изменить edatu на уровне позиции, возврат BAPI заключается в том, что заказ на продажу изменен, но никаких изменений не сделано.

Я фиксирую после вызова BAPI BAPI BAPI_SALESORDER_CHANGE , но изменения не влияют на базу данных.

 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 Ответ

0 голосов
/ 03 ноября 2018

Вам необходимо заполнить поля элемента order_item_inx и schedule_linesx знаком 'X'. Другие значения игнорируются.

...