Hello Experts,
I've a requirement where I need to update Email address and Fax on Bill-to partner at line item of a sales order (as shown in screen shot).
I've written the following code which updates bill-to but doesn't update Fax and Email and copies the master data.
For reference here is my code.
==================================================================================
"HEADER DETAILS.
lwa_order_header_inx-updateflag = c_update.
lwa_order_header_in-sales_org = 'PR01'.
lwa_order_header_inx-sales_org = c_x.
lwa_order_header_in-distr_chan = '90'.
lwa_order_header_inx-distr_chan = c_x.
lwa_order_header_in-division = '90'.
lwa_order_header_inx-division = c_x.
* Update PO number
lwa_order_header_in-purch_no_c = lw_zrerate_dtl-invoice. "lw_zrerate_dtl-zvbeln_pr.
lwa_order_header_inx-purch_no_c = c_x.
* Update billing block
lwa_order_header_in-bill_block = 'Y5'.
lwa_order_header_inx-bill_block = c_x.
* Update order reason
lwa_order_header_in-ord_reason = vbak-augru."'Y5'
lwa_order_header_inx-ord_reason = c_x.
"PARTNER DETAILS
clear: lv_re_adrnr.
select single adrnr
from vbpa
into lv_re_adrnr
where vbeln = lw_zrerate_dtl-zvbeln_pr
and parvw = 'RE'.
if lv_re_adrnr <> 0.
lwa_pchanges-document = lw_zrerate_dtl-zvbeln_pr.
lwa_pchanges-updateflag = 'U'."c_update.
lwa_pchanges-itm_number = '000000'.
lwa_pchanges-partn_role = 'RE'.
lwa_pchanges-P_NUMB_OLD = '0000000033'.
lwa_pchanges-P_NUMB_NEW = '0000000024'.
"lwa_pchanges-address = lv_re_adrnr.
lwa_pchanges-ADDR_LINK = lv_re_adrnr.
append lwa_pchanges to li_pchanges.
lwa_paddress-addr_no = lv_re_adrnr.
lwa_paddress-e_mail = lw_zrerate_hdr-email.
lwa_paddress-fax_number = lw_zrerate_hdr-fax.
append lwa_paddress to li_paddress.
clear: lwa_pchanges, lwa_paddress.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = lw_zrerate_dtl-zvbeln_pr
order_header_in = lwa_order_header_in
order_header_inx = lwa_order_header_inx
* SIMULATION =
* BEHAVE_WHEN_ERROR = ' '
* INT_NUMBER_ASSIGNMENT = ' '
LOGIC_SWITCH = l_logic_switch
* NO_STATUS_BUF_INIT = ' '
tables
return = li_return
* order_item_in = li_order_items
* order_item_inx = li_order_items_inx
partnerchanges = li_pchanges
partneraddresses = li_paddress.
loop at li_return into lwa_return where type eq c_success.
lv_updated = c_x.
* Update BAPI
call function 'BAPI_TRANSACTION_COMMIT'
importing
return = lwa_return.
* Move error message to error log table if bapi cannot be updated
if lwa_return is not initial.
" message i025 with lv_vbeln.
endif.
clear: lwa_return.
exit.
endloop.
==================================================================================
Can somebody please tell me how I can change Fax and Email address at line item of a sales order.
Many thanks in advance.