SAP中销售订单只修改订单数量的BAPI是BAPI_SALESORDER_CHANGE

REPORT  z0304.
DATA: salesdocument    LIKE  bapivbeln-vbeln,
      order_header_in  LIKE  bapisdh1,
      order_header_inx LIKE  bapisdh1x,
      order_item_in    LIKE  bapisditm  OCCURS 0 WITH HEADER LINE,
      order_item_inx   LIKE  bapisditmx OCCURS 0 WITH HEADER LINE,
      return1          LIKE  bapiret2  OCCURS 0 WITH HEADER LINE,
      schedule_lines   LIKE  bapischdl  OCCURS 0 WITH HEADER LINE,
      schedule_linesx  LIKE  bapischdlx OCCURS 0 WITH HEADER LINE.
order_header_inx-updateflag = 'U'.
order_item_in-itm_number     =  '000010'."行项目
APPEND order_item_in.
order_item_inx-itm_number     = '000010'."行项目
order_item_inx-updateflag     =  'U'.
APPEND order_item_inx.
schedule_lines-itm_number =  '000010'."行项目
schedule_lines-sched_line = '0001'."计划行,需要查询以前的计划行
schedule_lines-req_qty    = '10.22'."数量
APPEND schedule_lines.
schedule_linesx-itm_number =  '000010'."行项目
schedule_linesx-sched_line = '0001'."计划行,需要查询以前的计划行
schedule_linesx-updateflag = 'U'.
schedule_linesx-req_qty    = 'X'.
APPEND schedule_linesx.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
  EXPORTING
    salesdocument    = '0000775350'"销售订单号
    order_header_inx = order_header_inx
  TABLES
    return           = return1
    order_item_in    = order_item_in
    order_item_inx   = order_item_inx
    schedule_lines   = schedule_lines
    schedule_linesx  = schedule_linesx.
READ TABLE return1 WITH KEY type = 'E'.
IF sy-subrc <> '0'.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      wait = 'X'.
  WRITE '修改成功!'.
ELSE.

  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
  WRITE '修改失败!'.
ENDIF.

版权声明:本文为yujiaji原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。