FuBa für Mailadresse im Debitor ändern

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

FuBa für Mailadresse im Debitor ändern

Beitrag von Sandra ( / / 0 / 3 ) »
Hallo zusammen,

ich suche (bisher leider erfolglos) einen FuBa mit dem ich die Mailadresse im Debitor ändern kann.

Der Baustein CUSTOMER_UPDATE bietet ganz viel zum Debitor an, aber leider keine Mailadresse. Diese steht in der Tabelle ADR6, somit keine spezielle Debitortabelle. Mit BUA_BUPA_ADR6_GET geht leider nur lesen und nicht ändern.

Bitte keine BAPIs, die erst es erst ab 4.7 gibt.

Vielen Dank für eure Hilfe!

Grüßle Sandra

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Vorschlag:

BAPI BAPI_ADDRESSORG_CHANGE

-> OBJ_TYPE: 'KNA1'
-> OBJ_ID: <Debitorennummer>
-> OBJ_ID_EXT: <Adressnummer>

Tabellen BAPIADSMTP und BAPIADSMT_X

Die Adressnummer findest Du in der KNA1 im Feld ADRNR.

Die aktuellen Adressdaten kannst Du Dir via BAPI BAPI_ADDRESSORG_GETDETAIL ziehen.

Gruss,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Beitrag von Sandra ( / / 0 / 3 ) »
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

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
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
möglicherweise mag er die Kombination Debitor und Addressnummer nicht...

Beitrag von Gast ( / / 0 / 3 ) »
Hallo,

habs mal ohne Adressnummer ausprobiert, aber da kommt der gleiche Fehler. Und ohne Debitorennummer kommt der Fehler, dass diese fehlt. Außerdem ist im Beispiel dazu auch beides angegeben. Das wars also leider nicht. Habt ihr noch weitere Ideen?

Grüßle Sandra

Beitrag von Sandra ( / / 0 / 3 ) »
Hallo zusammen,

inzwischen habe ich rausbekommen, dass vorm Debitor führende Nullen gefehlt haben. Jetzt bekomme ich keine Fehlermeldung mehr. Nur leider ist die E-Mail-Adresse trotzdem nicht upgedatet.

Was kann noch fehlen? Den Baustein BAPI_TRANSACTION_COMMIT danach hab ich schon ausprobiert, bringt auch nichts.

Bin für jede Hilfe dankbar!

Grüßle Sandra

Beitrag von Andibugger (ForumUser / 43 / 0 / 0 ) »
Hallo Sandra,

habe für Dich mal ein Beispielcoding, das jedenfalls bei mir funktioniert, zusammengebastelt...

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.
schau mal ob das so bei Dir funktioniert! :wink:

Wichtig sind die Flags

Code: Alles auswählen.

wa_bapiadsmtx-e_mail = 'X'.
wa_bapiadsmtx-UPDATEFLAG = 'U'. (U für Update)
Grüßle
Andi

Beitrag von Sandra ( / / 0 / 3 ) »
Hallo Andi,

vielen vielen Dank für das Beispielcoding!

Hat aber leider nichts gebracht, genau so habe ich meine Testdaten eigentlich gefüllt. Na ja, ich hab jetzt aus Zeitdruck und Verzweiflung aufgegeben und schreib jetzt einen traditionellen Batch-Input.

Grüßle Sandra

Re: FuBa für Mailadresse im Debitor ändern

Beitrag von S-Just (ForumUser / 1 / 0 / 0 ) »
Hallo,

auch wenn der Beitrag mitlerweile etwas älter ist. Ich hatte ein ähnliches Problem und hab auch ne Weile drangesessen.
Die Ursache ist ... nuja da hat jemand geschlafen. :x

Und zwar macht der BAPI_ADDRESSORG_CHANGE intern ein READ TABLE mit Adressversion und Gültig-von-Datum!
D.h. holt vorher mit dem BAPI 'BAPI_ADDRESSORG_GETDETAIL' die aktuellen Daten und schreibt sie in die Übergabestruktur. In der X-Struktur braucht Ihr die zwei Einträge ja nicht markieren.

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.
Das Ganze funktioniert zumindest bei Änderungen in der ADRC. Für andere Tabellen habe ich es nicht probiert.

Hoffe geholfen zu haben.
Stefan

Seite 1 von 1

Vergleichbare Themen

2
Antw.
4301
Views
Buchung Debitor an Debitor - Fehlermeldung
von Gast » 04.02.2005 12:05 • Verfasst in Financials
11
Antw.
3527
Views
Mailadresse von Geschäftspartner ändern
von Kenny » 25.10.2013 11:14 • Verfasst in ABAP® für Anfänger
0
Antw.
1035
Views
2
Antw.
2341
Views
Geschäftspartner und Debitor
von gazzle » 04.08.2010 15:40 • Verfasst in ABAP Objects®
1
Antw.
2869
Views
Debitor Adressaufbereitung
von littleJohn » 01.07.2019 16:26 • Verfasst in Tips + Tricks & FAQs

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 515
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2149
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8744