Lotus Notes / Domino Sonstiges > Companion Products
SAP Connector - Replication funktioniert nicht wie gewollt.
STB82:
Hallo,
folgende Situation: Es soll der Kundenstamm von SAP nach Notes übertragen werden. Hierzu sollen Daten aus den Tabellen MARC, MAKT und MARA benötigt. (MARC = WERKS; MAKT = Kurztexte; MARA = Mengeneinheit). Die Übertragung wird durch LEI gesteuert.
- Die Daten in Notes werden durch einen Direct_Transfer mit einer Einschränkung beim Feld "WERKS" erzeugt. Funktioniert auch korrekt.
- Die Daten in Notes werden Anschliessend werden die Daten in Notes durch BAPI_MATERIAL_GETLIST mit dem Kurztext versehen. Funktioniert ebenfalls korrekt.
- Nun sollen noch die Mengeneinheiten hinzugefügt werden. Hierzu wurde eine Replication erstellt welche nur Updates zulässt und in den Data Options folgendes stehen hat:
--- Code: ---FIELDS.1.FIELDNAME="MATNR", FIELDS.2.FIELDNAME="MEINS"
--- Ende Code ---
In der Tabelle MARA befinden sich knappe 12.700 Einträge in der Notes-Datenbank ca. 7.400. Dieser Datenaustausch funktioniert nicht wie gewollt. Es werden immer nur die selben 134 Dokumente richtig geupdatet und bei den übrigen bleibt das entsprechende Feld leer. Das Log gibt folgende Meldung aus:
--- Code: ---11.02.2014 09:43:17 Error: *Replication Conflict* Action: Skip Remove from Connector B;
Mismatch in field 'MARAMATNR';
Record key values: MatNr = "000000000000000012"
11.02.2014 09:43:17 Error: *Replication Conflict* Action: Skip Remove from Connector B;
Mismatch in field 'MARAMATNR';
Record key values: MatNr = "000000000000000017"
--- Ende Code ---
Ich habe mir die SAP-Tables genau angeschaut und in die Einträge zur MATNR sind überall identisch und Einträge zu Mengeneinheit (Feld MEINS in der MARA) ist überall korrekt gefüllt.
Ich hatte auch schon den Haken "Skip Insertions" rausgenommen und es wurden dann neue Dokumente in Notes mit dem exakt selben Eintrag im entsprechenden Feld erzeugt. Ich bin da ehrlich gesagt ein wenig ratlos.
STB82:
Niemand eine Idee?
Habe jetzt auch mal die Replication Avtivity ohne Skip Insertions laufen lassen. Beim ersten mal werden alle übernommen. Beim wiederholten Durchlauf sind alle bis auf die bisher aktualisierten Dokumente doppelt drin.
cg-home:
Hi STB82,
bin da jetzt auch kein Profi aber was ich als erstes bei so etwas kontrolliere ist:
- stimmt der Key
- passt die Sortierung
Gerade die vielen führenden Nullen können da schnell täuschen.
Unsere User geben bei der Kudnennummer manchmal nicht alle
führenden Nullen an.
Bei der Sortierung muss es auf der Notee Seite und SAP identisch
sein, da er soweit ich weiß Zeile für Zeile vergleicht und wenn da
eins nicht stimmt.....
Die Notes Ansichten sind meist sortiert aber in SAP bzw- im BAPI
fehlt es bei uns manchmal. Du kannst im LEI zwischen der
Connection und der Replication ein "Sort" document einbauen.
Vielleicht hilft Dir das ja weiter.
Mit denen von Dir angegebenen Tabellen kenne ich mich nicht aus
wir lassen meist einen RFC-Baustein von einem Dienstleister machen.
Gruß Christian
STB82:
--- Zitat von: cg-home am 12.02.14 - 18:41:24 ---Hi STB82,
bin da jetzt auch kein Profi aber was ich als erstes bei so etwas kontrolliere ist:
- stimmt der Key
- passt die Sortierung
Gerade die vielen führenden Nullen können da schnell täuschen.
Unsere User geben bei der Kudnennummer manchmal nicht alle
führenden Nullen an.
--- Ende Zitat ---
Diesen Fehler kann ich ausschliessen. Das war auch mein erster Gedanke. Wenn ich eine Replication Activity mit einer leeren Datenbank starte, so werden alle 12.700 Dokumente korrekt übertragen. Wenn ich direkt im Anschluss die selbe Activity nochmal starte, ohne etwas verändert zu haben, so werden die 134 Dokumente korrekt geupdatet, jedoch alle anderen ein zweites mal hinzugefügt. Beim Vergleich dieser Dokumente sieht man auch, dass diese komplett identisch sind.
--- Zitat von: cg-home am 12.02.14 - 18:41:24 ---
- passt die Sortierung
Bei der Sortierung muss es auf der Notee Seite und SAP identisch
sein, da er soweit ich weiß Zeile für Zeile vergleicht und wenn da
eins nicht stimmt.....
Die Notes Ansichten sind meist sortiert aber in SAP bzw- im BAPI
fehlt es bei uns manchmal. Du kannst im LEI zwischen der
Connection und der Replication ein "Sort" document einbauen.
Vielleicht hilft Dir das ja weiter.
Mit denen von Dir angegebenen Tabellen kenne ich mich nicht aus
wir lassen meist einen RFC-Baustein von einem Dienstleister machen.
Gruß Christian
--- Ende Zitat ---
Was meinst du mit Sortierung? Beim LEI wird ja beim Ziel auf Notes-Seite keine Ansicht mitgegeben, sondern nur eine Maske. Somit denke ich ist die Sortierung der Ansicht(en) eher nicht relevant.
Wo kann man dort ein "Sort"-Document einbauen? Im Replication unter welchem Register? Ich sehe weder unter "Replication Options" noch unter "Activity Execution Options" einen entsprechenden Punkt.
cg-home:
Hi,
mit dem "Sort" Dokument habe ich mich vertan, dass heißt nicht "Sort" sondern
"Order" und wird unter den Connections angelegt. Darin gibst Du die
SAP Connection und die Tabelle (Metadata Name) an.
Unten in diesem Dokument wählst Du dann das Sorting.
z.B.: "Sort Ascending" und "Sort Text as Binary"
Den Namen der Connection to Order gibst Du dann statt der SAP
Connection im Replications-Dokument an. Kopier Dir aber vorher die
Felder und Schlüssel des Mappings in den Kommentar, da sie ggf.
geleert werden, wenn eine neue Quelle/Ziel auswählt wird.
Bei mir ist in der Notes Connection im Tab "Selection Options" bei
"Selected View:" die Option "Allow View Creation/Overwrite (Replication Activity only)"
gewählt mit einer Angabe einer Ansicht die sich der LEI meist auch
selbst erstellt mit dem Key als Erste sortierte Spalte.
Wie der LEI ohne eine Ansicht die Sortierung macht weiß ich nicht,
so tief bin ich da leider auch nicht drin. Man findet leider äußerst selten
jemanden der sich wirklich gut damit auskennt.
Gruß Christian
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln