Datenbanktabelle Update

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

Datenbanktabelle Update

Beitrag von km216 (Specialist / 151 / 6 / 11 ) »
Hallo zusammen,

geht mal wieder um meine Schnittstelle zwischen SAP und dem externen CRM-Programm.
Dazu hab ich eine kleine Frage, wo mir bestimmt hier jemand weiterhelfen kann.

Folgender Ablauf:
Wenn die Kunden-Daten erfolgreich vom SAP ERP über SAP MII ins CRM-Programm importiert wurden, legt das CRM-Programm für Neukunden eine eigene Nummer an. Diese muss auch in SAP-System. Da denke ich, dass es möglich ist, über MII einen RFC-Fuba im ERP aufzurufen.
Darum geht es mir aber erstmal nicht, ich gehe jetzt einfach mal davon aus, dass ich im ERP die SAP-Kundennummer sowie die zugehörige Nummer aus CRM haben.
Doch wie bekomme ich diese jetzt in die KNA1?
Dort gibt es bereits ein eigenes z-Feld, wo diese abgespeichert wird.
Ich habe dann gedacht, ich versuch über BDC eine Kundenänderung. Problem dabei ist folgendes:
Wenn ich mit der VD02 in einen Kunden reingehe, habe ich bzw. finde es nicht, kein Feld wo ich diese Nummer eintragen könnte.
Bin dann mal über die SE11 in die KNA1 auf das Feld und hab mir über den Verwendungsnachweis angeschaut, ob es in irgendwelchen Dynpros verwendet wird -> nichts.
Daher denke ich, dass BDC wohl nicht funktionieren, richtig?
Welche anderen Möglichkeiten habe ich dann?

Die momentane Lösung funktioniert zwar, aber wenn ich hier sage, wie es momentan gelöst wird, bekommen wahrscheinlich einige Brechreiz...

viele grüße

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


Re: Datenbanktabelle Update

Beitrag von black_adept (Top Expert / 4080 / 125 / 934 ) »
Hallo km126,

mach doch mal einen Verwendungsnachweis auf das ZZ-Feld und schau mal nach, wo das denn bisher verwendet wird.
Wenn niemand das in die Standardpflegetransaktionen eingebaut hat, wird es sicherlich irgendwo durch ein eigenes Kundenprogramm oder einen Pflegeview auf die Datenbank geschrieben.
In ersterem Fall könntest du genauso vorgehen in letzterem Fall den Pflegeview bedienen.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Datenbanktabelle Update

Beitrag von km216 (Specialist / 151 / 6 / 11 ) »
Hallo black_adept,

habe ich natürlich gemacht, ich weiß ja auch, wie es momentan gefüllt wird.
Aber ich suche nach einer "schöneren Lösung".
Momentan erstellt das CRM-System nachts ein Flat-File mit den neuen Nummer, SAP holt dieses über nen FTP ab und wertet es aus.
Ist bei meiner Lösung ja dann egal ob ich zeitnah immer einen Datensatz bekomme oder auch eine Tabelle, aber momentan sieht es so:

1.) File wird abgeholt
2.) Daten in interne Tabelle gelesen und dann in etwa so:
3.)

Code: Alles auswählen.

LOOP AT ITAB.
  Refresh MYKNA1.
  Clear MYKNA1.

  Select * From  KNA1
           Into  Table MYKNA1
           Where KUNNR = ITAB1-MY_IN_NR1.

  If SY-SUBRC = 0.
    Loop At MYKNA1.
      MYKNA1-ZCRMNR = ITAB1-MY_IN_ZCRMNR.
      Update KNA1 From MYKNA1.
    Endloop.
  ENDIF.

ENDLOOP.
Das "direkte" Schreiben in die Datenbank würde ich gerne vermeiden, falls dies möglich ist und es da bessere Optionen gibt.

Gruß

Re: Datenbanktabelle Update

Beitrag von km216 (Specialist / 151 / 6 / 11 ) »
Gibt es da keine elegantere Möglichkeit? Hab halt Angst, dabei etwas an den Stammdaten zu zerhauen, auch wenn die Abfrage/das Update an sich simpel ist...

Re: Datenbanktabelle Update

Beitrag von black_adept (Top Expert / 4080 / 125 / 934 ) »
Hi km216,

im Großen und Ganzen würde ich das schon so machen wie von dir gerade beschrieben ( falls du nicht das Feld ganz offiziell in die Standardpflegetransaktion mit aufnehmen willst -aber das ist dann schon ein wenig aufwändiger ).

Folgendes solltest du aber noch ändern:

1.) Damit dir nicht aus Versehen ein Anwender die gerade eingespielten Daten wieder zerschießt, solltest du vor dem Update versuchen die KNA1 zu sperren. Sonst könnte ein Anwender der just in dem Moment in der XD02 steht beim Speichern wieder den alten Wert in den Zusatzfeld zurückschreiben

2.) Es ist auch nicht nötig die KNA1 vollständig zu lesen und upzudaten. Nimm doch die Form um nur genau das eine Feld zu belegen:

Code: Alles auswählen.

UPDATE kna1 SET zcrmnr = itab1-my_in_zcrmnr
    WHERE kunnr = itab1-my_in_nr1.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
km216

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Datenbanktabelle Update

Beitrag von km216 (Specialist / 151 / 6 / 11 ) »
Hey black_adept,

vielen Dank für die Hilfe.
Das mit dem Sperren hatte ich gar nicht bedacht, guter Hinweis.
Werd mir dann mal noch die Sperrverwaltung anschauen.

gruß

Seite 1 von 1

Vergleichbare Themen

30
Antw.
7360
Views
Update Datenbanktabelle
von L0w-RiDer » 03.12.2018 13:23 • Verfasst in ABAP® für Anfänger
11
Antw.
838
Views
UPDATE Datenbanktabelle
von ABAPlerv » 28.03.2022 16:34 • Verfasst in ABAP® für Anfänger
4
Antw.
3507
Views
update Datenbanktabelle
von LittleT » 10.09.2007 09:47 • Verfasst in ABAP® für Anfänger
9
Antw.
9473
Views
DBTab Update from Table oder in Loop mit "Update Set" Oder ?
von RIG » 09.03.2018 11:27 • Verfasst in ABAP® Core
6
Antw.
1410
Views
Datenbanktabelle
von HH_ABAP » 29.03.2019 15:10 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1508
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8127