Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Updating a Salesorder at Item level

former_member55105
Participant
0 Kudos

Hi All

I am trying to update a saleorder at item level(order quantity field) thru the function module BAPI_SALEORDER_CHANGE. I have 3 items in my saleorder. I am able to update the first item but I am unable to update the schedule_lines-req_qty(order quantity field) of the second and third item.

Can anyone plz suggest me how 2 overcome this prob.??

Thanks in Advance

Vijay.

3 REPLIES 3

Former Member
0 Kudos

Hi Vijay,

Perhaps you should loop into the schedule_lines internal table.

Better yet, kindly post your code, the part where you're updating the table.

Best regards

0 Kudos

Hi Kevin

Here is the code you were asking for. I will repeat my problem. The prob is: I am able to update the first item level but I am unable to update the req_qty field of the subsequent item levels.

Expecting an early reply.....

CODE:

*****************

data: salesdocument like bapivbeln occurs 0 with header line,

order_header_in like bapisdh1 occurs 0 with header line,

order_header_inx like bapisdh1x occurs 0 with header line,

order_item_in like bapisditm occurs 0 with header line,

order_item_inx like bapisditmx occurs 0 with header line,

partners like bapiparnr occurs 0 with header line,

schedule_lines like bapischdl occurs 0 with header line,

schedule_linesx like bapischdlx occurs 0 with header line,

partnerchanges like BAPIPARNRC occurs 0 with header line,

return like bapiret2 occurs 0 with header line.

data : pur_ord_no like vbkd-vbeln.

parameters : puro_num like vbkd-bstkd.

start-of-selection.

*Retrieving salesorder number by passing the purchase order number.

select single vbeln from vbkd into pur_ord_no where bstkd = puro_num.

salesdocument-vbeln = pur_ord_no.

append salesdocument.

order_header_inx-updateflag = 'U'.

order_header_inx-sales_org = 'X'.

order_header_inx-distr_chan = 'X'.

order_header_inx-division = 'X'.

order_header_inx-sales_off = 'X'.

order_header_inx-purch_no_c = 'X'.

order_header_inx-req_date_h = 'X'.

order_header_inx-purch_date = 'X'.

append order_header_inx.

order_header_in-sales_org = 'JNJ1'.

order_header_in-distr_chan = '02'.

order_header_in-division = 'J1'.

order_header_in-sales_off = 'JNJ1'.

order_header_in-purch_no_c = 'XMLFileUpload6'.

order_header_in-purch_date = '20060101'.

order_header_in-req_date_h = '20060202'.

append order_header_in.

*partnerchanges-itm_number = '000030'.

*partnerchanges-updateflag = 'X'.

*partnerchanges-partn_role = 'AG'.

*partnerchanges-p_numb_old = '0000000011'.

*partnerchanges-p_numb_new = '0000000011'.

*append partnerchanges.

order_item_inx-updateflag = 'U'.

order_item_inx-material = 'X'.

order_item_inx-plant = 'X'.

order_item_inx-itm_number = '000020'.

append order_item_inx.

schedule_linesx-updateflag = 'U'.

schedule_linesx-req_qty = 'X'.

schedule_linesx-itm_number = '000020'.

SCHEDULE_LINESx-SCHED_LINE = '0001'.

append schedule_linesx.

order_item_in-itm_number = '000020'.

order_item_in-material = '000000000000000877'.

order_item_in-plant = 'JNJ1'.

append order_item_in.

schedule_lines-sched_line = '0001'.

schedule_lines-itm_number = '20'.

schedule_lines-req_qty = 64.

append schedule_lines.

  • Calling the function module updating the salesorder.

call function 'BAPI_SALESORDER_CHANGE'

exporting

salesdocument = salesdocument

order_header_in = order_header_in

order_header_inx = order_header_inx

  • SIMULATION =

  • BEHAVE_WHEN_ERROR = ' '

  • INT_NUMBER_ASSIGNMENT = ' '

  • LOGIC_SWITCH =

tables

return = return

order_item_in = order_item_in

order_item_inx = order_item_inx

  • PARTNERS =

  • PARTNERCHANGES = 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_lines

SCHEDULE_LINESX = schedule_linesx

  • ORDER_TEXT =

  • ORDER_KEYS =

  • CONDITIONS_IN = conditions_in

  • CONDITIONS_INX = conditions_inx

  • EXTENSIONIN =

.

if sy-subrc ne 0.

write: return-message,return-number,return-type.

else.

write: return-message,return-number,return-type.

call function 'BAPI_TRANSACTION_COMMIT'

  • EXPORTING

  • WAIT =

  • IMPORTING

  • RETURN =

.

endif.

Thanks,

Vijay.

Former Member
0 Kudos

Vjiay,

I believe the qty should be fill in target_qty of item table as well as teh req_qty of schedule line table.

Thanks,

Thomas.