2012 Feb 06 9:16 AM
Hi all
i use the bapi BAPI_OUTB_DELIVERY_CHANGE for change the transportzone. I have written an example program for demonstration the bapi, but it doens't work. Can anybody help me please...
data ls_header_data type bapiobdlvhdrchg.
data ls_header_control type bapiobdlvhdrctrlchg.
data lf_delivery type vbeln_vl value '071000xxxx'.
data ls_header_partner type bapidlvpartnerchg.
data lt_header_partner type standard table of bapidlvpartnerchg.
data ls_header_partner_addr type bapidlvpartnaddrchg.
data lt_header_partner_addr type standard table of bapidlvpartnaddrchg.
data lt_return type standard table of bapiret2.
data ls_vbpa type vbpa.
data ls_adrc type adrc.
start-of-selection.
select single *
from vbpa
into corresponding fields of ls_vbpa
where vbeln = lf_delivery
and posnr = '000000'
and parvw = 'WE'.
if sy-subrc = 0.
ls_header_data-deliv_numb = lf_delivery.
ls_header_control-deliv_numb = lf_delivery.
ls_header_partner-upd_mode_partn = 'U'.
ls_header_partner-deliv_numb = ls_vbpa-vbeln.
ls_header_partner-itm_number = ls_vbpa-posnr.
ls_header_partner-partn_role = ls_vbpa-parvw.
ls_header_partner-address_no = ls_vbpa-adrnr.
ls_header_partner-partner_no = ls_vbpa-parnr.
* ls_header_partner-manual_addr = 'X'.
append ls_header_partner to lt_header_partner.
select single *
from adrc
into corresponding fields of ls_adrc
where addrnumber = ls_vbpa-adrnr.
if sy-subrc = 0.
ls_header_partner_addr-upd_mode_adr = 'U'.
move-corresponding ls_adrc to ls_header_partner_addr.
ls_header_partner_addr-name = ls_adrc-name1.
ls_header_partner_addr-name_2 = ls_adrc-name2.
ls_header_partner_addr-city = ls_adrc-city1.
ls_header_partner_addr-postl_cod1 = ls_adrc-post_code1.
ls_header_partner_addr-house_no = ls_adrc-house_num1.
ls_header_partner_addr-addr_no = ls_vbpa-adrnr.
ls_header_partner_addr-transpzone = 'GM0270'.
append ls_header_partner_addr to lt_header_partner_addr.
call function 'BAPI_OUTB_DELIVERY_CHANGE'
exporting
header_data = ls_header_data
header_control = ls_header_control
delivery = lf_delivery
tables
header_partner = lt_header_partner
header_partner_addr = lt_header_partner_addr
return = lt_return.
call function 'BAPI_TRANSACTION_COMMIT'.
endif.
endif.
Thx
Hi all
i use the bapi BAPI_OUTB_DELIVERY_CHANGE for change the transportzone. I have written an example program for demonstration the bapi, but it doens't work. Can anybody help me please...
data ls_header_data type bapiobdlvhdrchg.
data ls_header_control type bapiobdlvhdrctrlchg.
data lf_delivery type vbeln_vl value '071000xxxx'.
data ls_header_partner type bapidlvpartnerchg.
data lt_header_partner type standard table of bapidlvpartnerchg.
data ls_header_partner_addr type bapidlvpartnaddrchg.
data lt_header_partner_addr type standard table of bapidlvpartnaddrchg.
data lt_return type standard table of bapiret2.
data ls_vbpa type vbpa.
data ls_adrc type adrc.
start-of-selection.
select single *
from vbpa
into corresponding fields of ls_vbpa
where vbeln = lf_delivery
and posnr = '000000'
and parvw = 'WE'.
if sy-subrc = 0.
ls_header_data-deliv_numb = lf_delivery.
ls_header_control-deliv_numb = lf_delivery.
ls_header_partner-upd_mode_partn = 'U'.
ls_header_partner-deliv_numb = ls_vbpa-vbeln.
ls_header_partner-itm_number = ls_vbpa-posnr.
ls_header_partner-partn_role = ls_vbpa-parvw.
ls_header_partner-address_no = ls_vbpa-adrnr.
ls_header_partner-partner_no = ls_vbpa-parnr.
* ls_header_partner-manual_addr = 'X'.
append ls_header_partner to lt_header_partner.
select single *
from adrc
into corresponding fields of ls_adrc
where addrnumber = ls_vbpa-adrnr.
if sy-subrc = 0.
ls_header_partner_addr-upd_mode_adr = 'U'.
move-corresponding ls_adrc to ls_header_partner_addr.
ls_header_partner_addr-name = ls_adrc-name1.
ls_header_partner_addr-name_2 = ls_adrc-name2.
ls_header_partner_addr-city = ls_adrc-city1.
ls_header_partner_addr-postl_cod1 = ls_adrc-post_code1.
ls_header_partner_addr-house_no = ls_adrc-house_num1.
ls_header_partner_addr-addr_no = ls_vbpa-adrnr.
ls_header_partner_addr-transpzone = 'GM0270'.
append ls_header_partner_addr to lt_header_partner_addr.
call function 'BAPI_OUTB_DELIVERY_CHANGE'
exporting
header_data = ls_header_data
header_control = ls_header_control
delivery = lf_delivery
tables
header_partner = lt_header_partner
header_partner_addr = lt_header_partner_addr
return = lt_return.
call function 'BAPI_TRANSACTION_COMMIT'.
endif.
endif.
Thx
2012 Feb 06 10:01 AM
2012 Feb 06 10:45 AM
is not the same problem...
i fill all required fields....i don't know, what i do wrong....
i become the error id VL and MSG No. 402
Edited by: abap_begin on Feb 6, 2012 11:51 AM
2012 Feb 06 1:32 PM
Hi,
In sy-subrc if record is not successfull then try to pass the error message and check why your bapi is not working. And check weather you are passing all the required parameters.
Regards,
Goutam Kolluru.
2012 Feb 06 1:42 PM
sy-subrc is successfull and all required fields is filled...i don't what should i do...
2012 Jul 28 1:49 PM
Hi Anujit,
Were you able to get this BAPI working? I'm having a similar issue trying to change a partner address using this BAPI. There is no error thrown but the changes don't occur.
Cheers,
Amy
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |