Skip to Content
0
Former Member
Apr 24, 2014 at 12:22 PM

BAPI_SALESORDER_CREATEFROMDAT2 not changing customer ship-to-party city and address

2004 Views

Hi all,

When we are creating sales order from VA01 we can change ship-to-party CITY1 and REGION from partners in the header information. I show it in the picture below;

I create orders with BAPI_SALESORDER_CREATEFROMDAT2 but i cant change the CITY and REGION. PLEASE give me some information about how can i do that. My code is at the end. THANKS VERY MUCH TO ALL.

data: v_vbeln like vbak-vbeln,
header_in like BAPISDHD1,
header_inx like BAPISDHD1X,
items_in like BAPISDITM occurs 0 with header line,
items_inx like BAPISDITMX occurs 0 with header line,
partners like BAPIPARNR occurs 0 with header line,
schedules_in like BAPISCHDL occurs 0 with header line,
schedules_inx like BAPISCHDLX occurs 0 with header line,
return like BAPIRET2 occurs 0 with header line,
partner_address like BAPIADDR1 occurs 0 with header line.

data: lv_adrnr type kna1-adrnr.

header_in-doc_type = ls_data-auart.
header_in-sales_org = ls_data-vkorg.
header_in-distr_chan = ls_data-vtweg.
header_in-division = ls_data-spart.
header_in-PMNTTRMS = ls_data-zterm.
header_in-PURCH_DATE = ls_data-girdat.

header_inx-doc_type = 'X'.
header_inx-sales_org = 'X'.
header_inx-distr_chan = 'X'.
header_inx-division = 'X'.
header_inx-updateflag = 'I'.
header_inx-PMNTTRMS = 'X'.


items_in-itm_number = ls_data-posnr.
items_in-material = ls_data-matnr.
items_in-plant = '2110'.
items_in-target_qty = ls_data-kwmeng.
items_in-target_qu = ls_data-vrkme.
* items_in-ITEM_CATEG = PSTYV.
append items_in.

items_inx-itm_number = 'X'.
items_inx-material = 'X'.
items_inx-plant = 'X'.
items_inx-target_qty = 'X'.
items_inx-target_qu = 'X'.
* items_in-ITEM_CATEG = 'X'.
append items_inx.

partners-partn_role = 'AG'.
partners-partn_numb = ls_data-kunnr.
append partners.
partners-partn_role = 'SH'.
partners-partn_numb = ls_data-kunnr_t.
if ls_data-region is not initial or ls_data-city1 is not initial.
select single adrnr from kna1 into (lv_adrnr)
where kunnr = ls_data-kunnr_t.
if sy-subrc eq 0.
partners-ADDR_LINK = lv_adrnr.
partners-ADDR_ORIG = 'B'.
endif.
endif.
append partners.

schedules_in-itm_number = ls_data-posnr.
schedules_in-sched_line = '0001'.
schedules_in-req_qty = ls_data-kwmeng.
append schedules_in.

schedules_inx-itm_number = 'X'.
schedules_inx-sched_line = 'X'.
schedules_inx-req_qty = 'X'.
schedules_inx-updateflag = 'X'.
APPEND schedules_inx.

if ls_data-region is not initial or ls_data-city1 is not initial.
partner_address-ADDR_NO = lv_adrnr.
partner_address-region = ls_data-region.
partner_address-city = ls_data-city1 .
append partner_address.
endif.

CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
order_header_in = header_in
ORDER_HEADER_INX = header_inx
IMPORTING
SALESDOCUMENT = v_vbeln
tables
RETURN = return
ORDER_ITEMS_IN = items_in
ORDER_ITEMS_INX = items_inx
order_partners = partners
ORDER_SCHEDULES_IN = schedules_in
ORDER_SCHEDULES_INX = schedules_inx
PARTNERADDRESSES = partner_address.
loop at return where type ca 'AXEW'.
concatenate lv_hata ' ' return-type ':' return-message into lv_hata.
endloop.

Note: İ found the link http://scn.sap.com/thread/348707 but it didnt work.

Attachments

va01.jpg (112.4 kB)