möglicherweise mag er die Kombination Debitor und Addressnummer nicht...Sandra hat geschrieben:Hallo Haubi,
vielen Dank für den BAPI, der sieht gut aus!
Nur krieg ich ihn irgendwie noch nicht zum laufen. Habe folgende Werte gefüllt:
OBJ_TYPE: 'KNA1'
OBJ_ID: <Debitorennummer>
OBJ_ID_EXT: <Adressnummer>
BAPIADSMTP-E_MAIL: <Mailadresse>
BAPIADSMT_X-E_MAIL: 'X'
BAPIADSMT_X-UPDATEFLAG: 'U'
Als Returncode bekomme ich die Fehlernummer AM 295 "Adreßnummer kann nicht ermittelt werden - Fehler im Funktionsbaustein CUSTOMER_GET_ADDR1_KEY". Aber die Adreßnummer gebe ich doch mit?!
Grüßle von der verwirrten Sandra
Code: Alles auswählen.
DATA: it_bapiadsmtp TYPE TABLE OF bapiadsmtp.
DATA: it_bapiadsmtx TYPE TABLE OF bapiadsmtx.
DATA: it_return LIKE bapiret2 OCCURS 0.
DATA: wa_bapiadsmtp LIKE bapiadsmtp.
DATA: wa_bapiadsmtx LIKE bapiadsmtx.
DATA: wa_bapi_return LIKE bapiret2.
DATA: vbapi4001_1-addr_no LIKE bapi4001_1-addr_no.
wa_bapiadsmtp-e_mail = 'aaa@web.de'.
*wa_bapiadsmtp-consnumber = '001'.
APPEND wa_bapiadsmtp TO it_bapiadsmtp.
wa_bapiadsmtx-e_mail = 'X'.
wa_bapiadsmtx-UPDATEFLAG = 'U'.
*wa_bapiadsmtx
append wa_bapiadsmtx to it_bapiadsmtx.
CALL FUNCTION 'BAPI_ADDRESSORG_CHANGE'
EXPORTING
obj_type = 'KNA1'
obj_id = '0000099999'
* OBJ_ID_EXT = ' '
* CONTEXT = 1
* ACCEPT_ERROR = ' '
* SAVE_ADDRESS = 'X'
IMPORTING
address_number = vbapi4001_1-addr_no
TABLES
* BAPIAD1VL =
* BAPIADTEL =
* BAPIADFAX =
* BAPIADTTX =
* BAPIADTLX =
bapiadsmtp = it_bapiadsmtp
* BAPIADRML =
* BAPIADX400 =
* BAPIADRFC =
* BAPIADPRT =
* BAPIADSSF =
* BAPIADURI =
* BAPIADPAG =
* BAPIAD_REM =
* BAPICOMREM =
* BAPIAD1VL_X =
* BAPIADTEL_X =
* BAPIADFAX_X =
* BAPIADTTX_X =
* BAPIADTLX_X =
bapiadsmt_x = it_bapiadsmtx
* BAPIADRML_X =
* BAPIADX40_X =
* BAPIADRFC_X =
* BAPIADPRT_X =
* BAPIADSSF_X =
* BAPIADURI_X =
* BAPIADPAG_X =
* BAPIAD_RE_X =
* BAPICOMRE_X =
return = it_return
.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
* WAIT =
IMPORTING
return = wa_bapi_return.
WRITE: / wa_bapi_return-type,
/ wa_bapi_return-id,
/ wa_bapi_return-number,
/ wa_bapi_return-message.
Code: Alles auswählen.
wa_bapiadsmtx-e_mail = 'X'.
wa_bapiadsmtx-UPDATEFLAG = 'U'. (U für Update)
Code: Alles auswählen.
CALL FUNCTION 'BAPI_ADDRESSORG_GETDETAIL'
EXPORTING
obj_type = 'KNA1'
obj_id = lv_obj_id
TABLES
BAPIAD1VL = lt_bapiad1vl_orig
RETURN = lt_return.
[...]
READ TABLE lt_bapiad1vl_orig INTO ls_bapiad1vl_orig INDEX 1.
[...]
ls_bapiad1vl_neu-addr_vers = ls_bapiad1vl_orig-addr_vers.
ls_bapiad1vl_neu-from_date = ls_bapiad1vl_orig-from_date.