Zum Hauptinhalt springen

Datensätze filtern

Nicht jeder Lauf soll alle Datensätze übertragen. Über die Filter im Reiter Quelldaten einer Route legen Sie fest, welche Datensätze eine Route einbezieht – und bei regelmäßigen Läufen, welche davon als seit dem letzten Lauf geändert gelten.

Der Reiter Quelldaten kennt dafür zwei Filter, die zusammenspielen:

  • Der Datenfilter schränkt ein, welche Datensätze die Route überhaupt einbezieht. Er wirkt auf jeden Lauf.
  • Der Änderungsfilter legt fest, was bei einem inkrementellen Lauf als „seit dem letzten Lauf geändert“ zählt.

Als durchgehendes Beispiel dient die Route Artikel-Export Webshop: Sie überträgt Artikel aus SAP Business One an den Webshop. Übertragen werden sollen nur Artikel einer bestimmten Warengruppe (Datenfilter) und bei den regelmäßigen Läufen nur die seither geänderten (Änderungsfilter). Die Feldauswahl bietet die Felder so an, wie sie in SAP Business One heißen: die Warengruppe als ItemsGroupCode, das Änderungsdatum als UpdateDate.

Quelldaten-Reiter mit Datenfilter (ItemsGroupCode ist gleich 100) und Änderungsfilter (UpdateDate seit dem letzten Lauf)

Was Sie brauchen

  • Eine Route mit der Datenherkunft Datenbestand – nur dann liest die Route selbst ab und nur dann erscheinen die Filter. Bei Warteschlange und Verteilungseingang gibt es nichts zu filtern. Öffnen Sie die Route und wechseln Sie im Editor auf den Reiter Quelldaten.
  • Einen konfigurierten Abrufendpunkt im Bereich Datenquelle desselben Reiters – die Feldauswahl der Filter bietet daraus die Felder zur Auswahl an.

Xchange sichert jede Eingabe automatisch. Ihre Änderungen landen im Entwurf und wirken erst mit dessen Aktivierung.

Datenfilter – welche Datensätze übertragen werden

Der Datenfilter steht auf dem Reiter Quelldaten unter der Datenquelle. Ohne Bedingung bezieht die Route alle Datensätze ein.

  1. Bedingung anlegen. Wählen Sie über die Feldauswahl das Feld der Datenquelle (im Beispiel die Warengruppe ItemsGroupCode), einen Operator (ist gleich) und den Wert – hier die Nummer der Warengruppe, im Beispiel 100 für die Werkzeuge. Bei den Operatoren ist leer / ist nicht leer entfällt das Wertfeld; bietet das Feld feste Werte an, erscheint statt der Eingabe eine Auswahlliste. Bei einem Datumsfeld wählen Sie entweder ein festes Datum im Kalender oder die Schaltfläche HeuteHeute wandert mit jedem Lauf mit und grenzt damit bei jedem Lauf anders ein, ein festes Datum bleibt stehen (Quelldaten).
  2. Bedingungen verknüpfen. Innerhalb einer Gruppe verknüpfen Sie mehrere Bedingungen über die Schaltfläche UND / ODER. Eine Gruppe fasst bis zu fünf Bedingungen.
  3. Weitere Gruppen. Über Gruppe hinzufügen legen Sie eine weitere Gruppe an (bis zu drei). Die Gruppen sind untereinander immer per ODER verknüpft – ein „– ODER –“-Trenner steht zwischen ihnen. So bilden Sie auch Bedingungen wie „(A und B) oder C“ ab.

Textwerte werden zeichengenau verglichen: Groß- und Kleinschreibung zählt. Eine Bedingung auf L1 trifft den Wert l1 nicht – auch nicht mit den Operatoren enthält oder beginnt mit. Datumsfelder vergleicht Xchange dagegen tagesgenau, die Uhrzeit bleibt außer Betracht. Beides gilt ebenso für den Änderungsfilter und für Ereignisse aus SAP Business One.

Änderungsfilter – nur Geändertes bei inkrementellen Läufen

Ein inkrementeller Lauf verarbeitet nur Datensätze, die sich seit dem letzten Lauf geändert haben. Woran Xchange das erkennt, legt der Änderungsfilter fest.

  • Der Änderungsfilter ist erforderlich, sobald die Route einen inkrementellen zeitgesteuerten Auslöser hat – es sei denn, die Anbindung führt den Stand selbst mit und schickt ihn beim Abruf als Delta-Token mit, wie eine REST-Anbindung. Ohne einen solchen Auslöser ist er optional – sobald Sie ihn setzen, schalten Sie damit den manuellen inkrementellen Lauf über die Ausführung frei.
  • Er kennt genau eine Gruppe mit bis zu fünf Bedingungen (per UND oder ODER verknüpft).

Wählen Sie im Beispiel das Datumsfeld UpdateDate und den Operator seit dem letzten Lauf. Dieser Operator steht an erster Stelle, benötigt keinen Wert und lässt sich auf Datums- und Zahlenfeldern wählen – Xchange vergleicht das Feld dann gegen den Stand des letzten Laufs (Quelldaten).

Führt die Anbindung den Stand selbst mit, finden Sie hier Bedingung hinzufügen nicht vor: Statt der Schaltfläche steht ein Hinweis, dass der Abrufendpunkt bereits nur die Änderungen seit dem letzten Lauf liefert. Für diese Route ist an dieser Stelle nichts einzustellen.

Gilt der Datenfilter auch für Ereignisse?

Ja – sofern die Route einen Auslöser vom Typ Ereignis (nur bei Exportrouten) im Modus Wie Abrufendpunkt hat. SAP Business One erzeugt dann von vornherein nur für Datensätze ein Ereignis, die den Bedingungen genügen; Sie stellen dafür nichts zusätzlich ein. Hört der Auslöser auf ein anderes Objekt, bringt er eigene Feldbedingungen mit, und eine Benutzerprozedur entscheidet vollständig selbst. Details unter Automatik (Referenz).

Wenn ein Datensatz den Filter verlässt

Ein Artikel, der in eine andere Warengruppe wechselt, erfüllt den Datenfilter nicht mehr. Er fällt aus den folgenden Läufen heraus – im Webshop steht er aber weiter so, wie er beim letzten Mal übertragen wurde. Damit der Webshop davon erfährt, richten Sie drei Dinge ein:

  1. Löschverhalten setzen. Unter den beiden Filtern steht das Feld Strategie. Stellen Sie es auf Im Zielsystem deaktivieren; voreingestellt ist Nichts tun.
  2. Zielfeld zuordnen. Die letzte Übertragung läuft über die normale Zuordnung der Route. Dort muss also das Zielfeld belegt sein, das einen Datensatz im Webshop als inaktiv oder gesperrt kennzeichnet – seinen Wert liefern die Stammdaten des Artikels, wie bei jeder anderen Übertragung.
  3. Bereinigung anfordern. Der Abgleich läuft nur, wenn ein Lauf ihn anfordert: dauerhaft am zeitgesteuerten Auslöser unter Bereinigung über „Datensätze außerhalb des Datenfilters melden“ (nur bei Lauftyp Vollständig), oder einmalig im Dialog Lauf starten der Ausführung.

Nach einem solchen Lauf vergleicht Xchange, welche Artikel die Route früher schon einmal übertragen hat und diesmal nicht mehr, und meldet jeden davon an den Webshop. Kehrt ein Artikel später in den Filter zurück, überträgt ihn die Route wieder wie gewohnt.

Der erste Abgleich holt die Vergangenheit nach

Bereinigt eine Route zum ersten Mal, gehören dazu alle Datensätze, die dem Datenfilter irgendwann früher nicht mehr entsprachen. Sind das ungewöhnlich viele, hält Xchange die Bereinigung an, überträgt nichts und zeigt in der Ausführung einen Hinweis mit beiden Zahlen. Prüfen Sie die Zahlen, und geben Sie die Bereinigung erst dann frei.

Prüfen, ob der Filter greift

Bevor Sie aktivieren, prüfen Sie den Datenfilter gegen die echten Daten: Treffer zählen ermittelt, wie viele Datensätze der Endpunkt mit dem aktuellen Filter gerade liefert, und zeigt das Ergebnis daneben an (z. B. „1.234 Datensätze“). Ist kein Abrufendpunkt konfiguriert, weist ein Hinweis darauf hin.

Aktivieren

Die Filter greifen erst, wenn Sie den Entwurf aktivieren. Prüfen Sie ihn zuvor über die Konfigurationsstände und aktivieren Sie ihn dann. Den vollständigen Ablauf beschreibt die Anleitung Konfigurationsänderungen aktivieren.

Siehe auch