Hi Im unable to update field city2.
I have tried two ways:
IF lv_bp_guid IS NOT INITIAL.
READ TABLE ce_bupa_header INTO ls_bupa_header WITH KEY partner = ct_header-partner
field_name = 'STR_SUPPL1'
data_type = '1500'.
IF sy-subrc EQ 0.
ls_addresdata-str_suppl1 = ls_bupa_header-field_value.
ls_addresdata_x-str_suppl1 = 'X'.
ENDIF.
READ TABLE ce_bupa_header INTO ls_bupa_header WITH KEY partner = ct_header-partner
field_name = 'STR_SUPPL2'
data_type = '1500'.
IF sy-subrc EQ 0.
ls_addresdata-str_suppl2 = ls_bupa_header-field_value.
ls_addresdata_x-str_suppl2 = 'X'.
ENDIF.
READ TABLE ce_bupa_header INTO ls_bupa_header WITH KEY partner = ct_header-partner
field_name = 'CITY2'
data_type = '1500'.
IF sy-subrc EQ 0.
ls_addresdata-district = ls_bupa_header-field_value.
ls_addresdata_x-district = 'X'.
ENDIF.
CALL FUNCTION 'BAPI_BUPA_ADDRESS_CHANGE'
EXPORTING
businesspartner = ct_header-partner
addressdata = ls_addresdata
addressdata_x = ls_addresdata_x.
*******************************************
Brute force Mode:
***********************************************
SELECT * FROM adrc INTO TABLE lt_adrc WHERE addrnumber = lv_addrnumber AND date_from LE sy-datum AND date_to GE sy-datum.
CLEAR ls_adrc.
LOOP AT lt_adrc INTO ls_adrc.
ls_adrc-city2 = ls_addresdata-district.
ls_adrc-str_suppl1 = ls_addresdata-str_suppl1.
ls_adrc-str_suppl2 = ls_addresdata-str_suppl2.
if ls_adrc-LANGU is initial.
ls_adrc-langu = sy-langu.
endif.
TRY.
UPDATE adrc FROM ls_adrc.
CATCH cx_sy_dynamic_osql_error.
MESSAGE `Error in update!` TYPE 'I'.
ENDTRY.
ENDLOOP.
********************
Both ways i got updated Str_suppl1 and Str_suppl2
But neither way City2 i checked i always have a proper value,
No dumps generated
Please any advise will be welcomed.