11-09-2013 4:34 AM
Hiiii Experts,
I want to change the quantity in sales order i.e. I want to replace the Order quantity to schedule quantity but using BAPI_SALESORDER_CHANGE
it add the quantity . It can not update sales order quantity as per our requirement. The code is as bellow, please correct me ..........
DATA: s_order_header_in LIKE bapisdh1.
DATA: s_order_header_inx LIKE bapisdh1x.
DATA: BEGIN OF i_order_item_in OCCURS 0.
INCLUDE STRUCTURE bapisditm.
DATA: END OF i_order_item_in.
DATA: BEGIN OF i_order_item_inx OCCURS 0.
INCLUDE STRUCTURE bapisditmx.
DATA: END OF i_order_item_inx.
DATA: BEGIN OF SCHEDULE_LINES OCCURS 0.
INCLUDE STRUCTURE BAPISCHDL.
DATA: END OF SCHEDULE_LINES.
DATA: BEGIN OF SCHEDULE_LINESX OCCURS 0.
INCLUDE STRUCTURE BAPISCHDLX.
DATA: END OF SCHEDULE_LINESX.
DATA: BEGIN OF it_return OCCURS 0.
INCLUDE STRUCTURE bapiret2.
DATA: END OF it_return.
s_order_header_inx-UPDATEFLAG = 'U'.
schedule_linesx-itm_number = '000010'.
SCHEDULE_LINES-REQ_QTY = '1'.
schedule_linesx-sched_line = '0001'.
schedule_linesx-updateflag = 'U'.
schedule_linesx-req_qty = 'X'.
append SCHEDULE_LINES.
p_vbeln = '0000001808'.
i_order_item_in-itm_number = '000010'.
i_order_item_inx-updateflag = 'U'.
i_order_item_inx-itm_number = '000010'.
APPEND: i_order_item_in, i_order_item_inx.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = p_vbeln
order_header_inx = s_order_header_inx
behave_when_error = 'P'
TABLES
return = it_return
order_item_in = i_order_item_in
order_item_inx = i_order_item_inx
SCHEDULE_LINES = SCHEDULE_LINES
SCHEDULE_LINESX = SCHEDULE_LINESX.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
Please Help me.......
Thanks........
11-09-2013 5:01 AM
Hiii Experts,
Problem is solved by myself,
I just add the following line,
DATA: s_order_header_in LIKE bapisdh1.
DATA: s_order_header_inx LIKE bapisdh1x.
DATA: BEGIN OF i_order_item_in OCCURS 0.
INCLUDE STRUCTURE bapisditm.
DATA: END OF i_order_item_in.
DATA: BEGIN OF i_order_item_inx OCCURS 0.
INCLUDE STRUCTURE bapisditmx.
DATA: END OF i_order_item_inx.
DATA: BEGIN OF SCHEDULE_LINES OCCURS 0.
INCLUDE STRUCTURE BAPISCHDL.
DATA: END OF SCHEDULE_LINES.
DATA: BEGIN OF SCHEDULE_LINESX OCCURS 0.
INCLUDE STRUCTURE BAPISCHDLX.
DATA: END OF SCHEDULE_LINESX.
DATA: BEGIN OF it_return OCCURS 0.
INCLUDE STRUCTURE bapiret2.
DATA: END OF it_return.
* Header update indicator
s_order_header_inx-updateflag = 'U'.
SCHEDULE_LINES-ITM_NUMBER = it_final-posnr.
SCHEDULE_LINES-REQ_QTY = it_final-dqty.
SCHEDULE_LINES-sched_line = '0001'.
append SCHEDULE_LINES.
SCHEDULE_LINESX-ITM_NUMBER = it_final-posnr.
SCHEDULE_LINESX-REQ_QTY = 'X'.
SCHEDULE_LINESX-UPDATEFLAG = 'U'.
SCHEDULE_LINESX-sched_line = '0001'.
append SCHEDULE_LINESX.
** Line items
p_vbeln = it_final-vbeln.
i_order_item_in-itm_number = it_final-posnr.
*
i_order_item_inx-updateflag = 'U'.
i_order_item_inx-itm_number = it_final-posnr.
APPEND: i_order_item_in, i_order_item_inx.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = p_vbeln
order_header_inx = s_order_header_inx
behave_when_error = 'P'
TABLES
return = it_return
order_item_in = i_order_item_in
order_item_inx = i_order_item_inx
SCHEDULE_LINES = SCHEDULE_LINES
SCHEDULE_LINESX = SCHEDULE_LINESX.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
Thanks a lot now thread is closed...
Thanks....
11-09-2013 5:01 AM
Hiii Experts,
Problem is solved by myself,
I just add the following line,
DATA: s_order_header_in LIKE bapisdh1.
DATA: s_order_header_inx LIKE bapisdh1x.
DATA: BEGIN OF i_order_item_in OCCURS 0.
INCLUDE STRUCTURE bapisditm.
DATA: END OF i_order_item_in.
DATA: BEGIN OF i_order_item_inx OCCURS 0.
INCLUDE STRUCTURE bapisditmx.
DATA: END OF i_order_item_inx.
DATA: BEGIN OF SCHEDULE_LINES OCCURS 0.
INCLUDE STRUCTURE BAPISCHDL.
DATA: END OF SCHEDULE_LINES.
DATA: BEGIN OF SCHEDULE_LINESX OCCURS 0.
INCLUDE STRUCTURE BAPISCHDLX.
DATA: END OF SCHEDULE_LINESX.
DATA: BEGIN OF it_return OCCURS 0.
INCLUDE STRUCTURE bapiret2.
DATA: END OF it_return.
* Header update indicator
s_order_header_inx-updateflag = 'U'.
SCHEDULE_LINES-ITM_NUMBER = it_final-posnr.
SCHEDULE_LINES-REQ_QTY = it_final-dqty.
SCHEDULE_LINES-sched_line = '0001'.
append SCHEDULE_LINES.
SCHEDULE_LINESX-ITM_NUMBER = it_final-posnr.
SCHEDULE_LINESX-REQ_QTY = 'X'.
SCHEDULE_LINESX-UPDATEFLAG = 'U'.
SCHEDULE_LINESX-sched_line = '0001'.
append SCHEDULE_LINESX.
** Line items
p_vbeln = it_final-vbeln.
i_order_item_in-itm_number = it_final-posnr.
*
i_order_item_inx-updateflag = 'U'.
i_order_item_inx-itm_number = it_final-posnr.
APPEND: i_order_item_in, i_order_item_inx.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = p_vbeln
order_header_inx = s_order_header_inx
behave_when_error = 'P'
TABLES
return = it_return
order_item_in = i_order_item_in
order_item_inx = i_order_item_inx
SCHEDULE_LINES = SCHEDULE_LINES
SCHEDULE_LINESX = SCHEDULE_LINESX.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
Thanks a lot now thread is closed...
Thanks....