‎2007 Oct 23 6:20 AM
Hi
I wants to change sales order text(order_text) using BAPI_SALESORDER_CHANGE can any body have source code please provide me
or I have written a code but this is not workin can any body please correct it
REPORT ztest_bapi.
data: 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,
ITEM_IN like BAPISDITEM occurs 0 with header line,
ITEM_INX like BAPISDITEMX occurs 0 with header line,
UPDATEFLAG1 like BAPISDITMX-UPDATEFLAG value 'U',
RETURN 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_TEXT LIKE BAPISDTEXT OCCURS 0 WITH HEADER LINE.
data: begin of t_vbap,
VBELN like VBAP-VBELN,
MATNR like VBAP-MATNR,
POSNR like VBAP-POSNR,
end of t_vbap.
parameters: VBELN like VBAP-VBELN default '29',
MATNR like VBAP-MATNR default '24351',
POSNR like VBAP-POSNR default '2072'.
select single VBELN MATNR POSNR into t_vbap
from VBAP
where
VBELN = VBELN AND
MATNR = MATNR AND
POSNR = POSNR.
*Header
ORDER_HEADER_INX-UPDATEFLAG = UPDATEFLAG1.
ORDER_ITEM_IN-ITM_NUMBER = POSNR.
ORDER_ITEM_IN-MATERIAL = MATNR.
APPEND ORDER_ITEM_IN.
ORDER_ITEM_INX-ITM_NUMBER = POSNR.
ORDER_ITEM_INX-UPDATEFLAG = UPDATEFLAG1.
APPEND ORDER_ITEM_INX.
ORDER_TEXT-DOC_NUMBER = VBELN.
ORDER_TEXT-ITM_NUMBER = POSNR.
ORDER_TEXT-TEXT_ID = 'ZLB2'.
ORDER_TEXT-LANGU = 'EN'.
ORDER_TEXT-TEXT_LINE = '**'.
APPEND ORDER_TEXT.
INX - Schedule line item level
*SCHEDULE_LINESX-ITM_NUMBER = t_vbap-posnr.
*SCHEDULE_LINESX-SCHED_LINE = '0001'.
*SCHEDULE_LINESX-UPDATEFLAG = 'U'.
*SCHEDULE_LINESX-REQ_QTY = 'X'.
*append SCHEDULE_LINESX.
*clear SCHEDULE_LINESX.
*
**Item (Order QQuantity Field to be changed "KWMENG")
*SCHEDULE_LINES-ITM_NUMBER = t_vbap-posnr.
*SCHEDULE_LINES-SCHED_LINE = '0001'.
*SCHEDULE_LINES-REQ_QTY = '3'.
*append SCHEDULE_LINES.
*clear SCHEDULE_LINES.
*******************
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = T_vbap-vbeln
ORDER_HEADER_IN = ORDER_HEADER_IN
ORDER_HEADER_INX = ORDER_HEADER_INX
TABLES
RETURN = RETURN
SCHEDULE_LINES = SCHEDULE_LINES
SCHEDULE_LINESX = SCHEDULE_LINESX
ORDER_TEXT = ORDER_TEXT.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
IMPORTING
RETURN = RETURN .
‎2007 Oct 23 6:27 AM
Hi.
Check this Sample code... reward point if usefull.
DATA: ls_order_header_inx TYPE bapisdh1x,
l_vbeln TYPE vbeln VALUE '0006894649',
lt_return TYPE TABLE OF bapiret2,
lt_order_item_in TYPE TABLE OF bapisditm,
ls_order_item_in TYPE bapisditm,
lt_order_item_inx TYPE TABLE OF bapisditmx,
ls_order_item_inx TYPE bapisditmx.
ls_order_item_in-itm_number = '000010'.
ls_order_item_in-material = 'CHILL8'.
ls_order_item_in-sales_unit = 'EA'.
APPEND ls_order_item_in TO lt_order_item_in.
ls_order_item_inx-itm_number = '000010'.
ls_order_item_inx-sales_unit = 'U'.
APPEND ls_order_item_inx TO lt_order_item_inx.
ls_order_header_inx-updateflag = 'U'.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = l_vbeln
ORDER_HEADER_IN =
order_header_inx = ls_order_header_inx
SIMULATION =
BEHAVE_WHEN_ERROR = ' '
INT_NUMBER_ASSIGNMENT = ' '
LOGIC_SWITCH =
NO_STATUS_BUF_INIT = ' '
TABLES
return = lt_return
order_item_in = lt_order_item_in
order_item_inx = lt_order_item_inx
PARTNERS =
PARTNERCHANGES =
PARTNERADDRESSES =
ORDER_CFGS_REF =
ORDER_CFGS_INST =
ORDER_CFGS_PART_OF =
ORDER_CFGS_VALUE =
ORDER_CFGS_BLOB =
ORDER_CFGS_VK =
ORDER_CFGS_REFINST =
SCHEDULE_LINES =
SCHEDULE_LINESX =
ORDER_TEXT =
ORDER_KEYS =
CONDITIONS_IN =
CONDITIONS_INX =
EXTENSIONIN =
.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT =
IMPORTING
RETURN =
regards,
Niyaz