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.