Übertragungsumfang einschränken
Nicht jeder Datensatz gehört in jeden Kanal: In den Shop sollen nur die aktiven Produkte, zum Marktplatz nur eine Marke, aus der Lieferantendatei nur die Zeilen eines Typs. Diese Anleitung zeigt die beiden Stellen, an denen Sie das festlegen, und was mit den Datensätzen geschieht, die nicht durchgelassen werden. Welche Stelle zuständig ist, entscheidet die Richtung: beim Schreiben in ein Zielsystem der Abschnitt Auswahl, beim Lesen einer Datei der Filter am Datensatz.
Voraussetzungen
- Eine Aufgabe mit Transferplan; die Handgriffe an Zuweisungen aus Transferplan anpassen.
- Für Bedingungen, die rechnen oder vergleichen: die Grundzüge aus Skripte im Transferplan.
Schritt für Schritt
Beim Schreiben in ein Zielsystem: die Bedingung setzen. Der Abschnitt Auswahl steht am Anfang des Plans und entscheidet je Datensatz, ob er übertragen wird. Kreuzen Sie die Zeile Bedingung an und wählen Sie, worauf sie hört: Die Quelle Zuordnung Vorhanden lässt nur Datensätze durch, die in diesem Kanal schon ein Gegenstück haben, und ein Skript entscheidet nach Ihren eigenen Regeln, etwa nach einer Eigenschaft oder dem Hersteller. Liefert die Bedingung Nein, wird der Datensatz übersprungen.
Die Nachbarzeilen mitdenken, denn sie gehören zum Umfang. Im selben Abschnitt stehen bis zu drei weitere Zeilen. Bestehender Eintrag sagt, woran das Gegenstück im Zielsystem erkannt wird. Neuer Eintrag sagt, ob ein Datensatz ohne Gegenstück angelegt wird. Steht die Zeile auf Einfügen, wächst der Kanal mit. Ist sie abgewählt, bleibt der Bestand im Zielsystem eingefroren und nur Vorhandenes wird aktualisiert. Entfernter Eintrag sagt, was mit dem Gegenstück geschieht, wenn der Datensatz aus dem Kanal fällt: Löschen oder, wo das System es anbietet, Deaktivieren.
Beim Lesen einer Datei: der Filter am Datensatz. Im Abschnitt Aufbau trägt jeder Datensatz die Zuweisung Filter, und sie nimmt ein Skript. Es wird je Zeile ausgewertet. Was es nicht durchlässt, wird gar nicht erst gelesen. So importiert ein Plan nur die Zeilen mit
IsVariant == 1, während der andere Plan derselben Aufgabe die übrigen nimmt, aus einer einzigen Datei.
Ergebnis prüfen
Der Unterschied zwischen den beiden Stellen zeigt sich in der Nachverfolgung, und genau daran prüfen Sie sie:
- Ein von der Bedingung ausgelassener Datensatz steht dort mit dem Zusatz Übersprungen. Sie sehen also, dass er bewusst nicht übertragen wurde.
- Eine vom Filter ausgelassene Zeile taucht gar nicht auf: Sie wurde nie gelesen, und ohne gelesenen Datensatz entsteht keine Übertragung.
Zählen Sie nach der ersten Ausführung gegen: Die Zahl der Übertragungen muss zur erwarteten Teilmenge passen, nicht zur ganzen Datei oder zum ganzen Bestand.
Häufige Stolpersteine
- Ein Filter räumt nicht auf. Wer den Umfang aus Schritt 1 nachträglich enger zieht, entfernt damit nichts aus dem Zielsystem: Was schon übertragen ist, bleibt dort stehen. Ob Ausgeschiedenes gelöscht oder deaktiviert wird, regelt allein die Zeile Entfernter Eintrag.
- Die Bedingung sitzt am Plan, nicht an der Aufgabe. Hat eine Aufgabe mehrere Pläne, prüft jeder seine eigene Auswahl aus Schritt 1. Ein Plan ohne Bedingung überträgt weiter alles, was ihn erreicht.
- Feldbedingungen und Zeilenbedingungen sind zwei Ebenen. Soll nicht der ganze Datensatz, sondern nur ein einzelnes Feld bedingt geschrieben werden, ist das kein Fall für diese Seite, sondern für den zweiten Datensatz mit eigener Auswahl, siehe Transferplan anpassen.
- Ein vermisstes Produkt kann schlicht ausgefiltert sein. Wer ein Produkt im Shop sucht und nicht findet, prüft neben Fehlern auch die Bedingung aus Schritt 1 und den Filter aus Schritt 3. Die Prüfliste dafür steht unter Produkt erscheint nicht im Shop.
Weiterführend
- Transferplan anpassen: die Handgriffe an Zuweisungen und der bedingte zweite Datensatz
- Skripte im Transferplan: Bedingungen, die rechnen und vergleichen
- Aufgaben planen und starten: wie die eingeschränkte Ausführung startet und was sie meldet
- Produkt erscheint nicht im Shop: wenn der Filter zu viel erwischt hat