REPORT ZSALESORDER_CHANGE MESSAGE-ID 38.
*----------------------------------------------------------------------
* Selection Screen Definitions *
*----------------------------------------------------------------------
PARAMETERS: p_vbeln TYPE vbap-vbeln OBLIGATORY, "Order Number
p_posnr TYPE vbap-posnr OBLIGATORY, "Order Item
p_etenr TYPE vbep-etenr OBLIGATORY, "Schedule Line
p_reqqty TYPE bapischdl-req_qty OBLIGATORY. " Order Qty
*----------------------------------------------------------------------
* Internal Tables/Structures/Variables for calling BAPI. *
*----------------------------------------------------------------------
DATA: i_hdr TYPE bapisdh1,
i_hdrx TYPE bapisdh1x,
i_ret TYPE bapiret2 OCCURS 0 WITH HEADER LINE,
wa_ret TYPE bapiret2.
DATA: BEGIN OF i_sched OCCURS 10.
INCLUDE STRUCTURE bapischdl.
DATA: END OF i_sched.
DATA: BEGIN OF i_schedx OCCURS 10.
INCLUDE STRUCTURE bapischdlx.
DATA: END OF i_schedx.
*----------------------------------------------------------------------
* START-OF-SELECTION Event *
*----------------------------------------------------------------------
START-OF-SELECTION.
*"----------------------------------------------
*" Initialize internal tables.
*"----------------------------------------------
REFRESH: i_sched, i_schedx, i_ret.
CLEAR: i_sched, i_schedx, i_ret.
*"----------------------------------------------
*" Fill required ORDER_HEADER_IN data.
*"----------------------------------------------
i_hdrx-updateflag = 'U'.
*"----------------------------------------------
*" Fill required SCHEDULE_LINES data.
*"----------------------------------------------
i_sched-itm_number = p_posnr.
i_sched-sched_line = p_etenr.
i_sched-req_qty = p_reqqty.
i_schedx-updateflag = 'U'.
i_schedx-itm_number = p_posnr.
i_schedx-sched_line = p_etenr.
i_schedx-req_qty = 'X'.
APPEND i_sched.
APPEND i_schedx.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = p_vbeln
order_header_in = i_hdr
order_header_inx = i_hdrx
TABLES
return = i_ret
schedule_lines = i_sched
schedule_linesx = i_schedx.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
LOOP AT i_ret.
WRITE / i_ret-message.
ENDLOOP.
Subscribe to:
Post Comments (Atom)
2 comments:
Very very thanks for this code.
It helped me to create a code which replaced my earlier created BDC which was not working properly for some particular scenarios.
:)
Very good explanation of BAPI
Post a Comment