Nachverfolgung
Zu jeder Übertragung hält TRADElube fest, welcher Datensatz über welchen Kanal mit welcher Aufgabe angefasst wurde, wann das geschah, was dabei herauskam und welcher Inhalt dabei über die Leitung ging. Diese Einträge sind die Nachverfolgung. Sie entstehen bei jeder Ausführung von selbst, ohne dass Sie etwas einschalten oder mitschreiben müssten.
An einer Schnittstelle hängen mindestens drei Systeme, und wenn ein Wert nicht so aussieht wie erwartet, ist die eigentliche Arbeit nicht die Korrektur, sondern die Eingrenzung: Wurde der Wert so geliefert, so verarbeitet oder so übergeben? Genau diese Frage beantwortet die Nachverfolgung, je Datensatz und je Feld.
Diese Seite erklärt das Modell dahinter. Den Weg durch die Oberfläche mit Praxisfällen zeigt Nachverfolgung der Datenübertragungen, die Spalten, Filter und Schaltflächen listet Nachverfolgung (Referenz).
Die Übertragung als Einheit
Eine Übertragung im Sinne der Nachverfolgung ist ein Datensatz, ein Kanal und eine Aufgabe, nicht eine ganze Ausführung. Drei Angaben spannen sie auf:
- Die Kanalzuordnung sagt, um welchen Datensatz in welchem Kanal es geht, also etwa um dieses eine Produkt in diesem einen Shop.
- Die Aufgabe sagt, welcher Vorgang ihn angefasst hat. Produkte und Lagerbestände laufen über zwei verschiedene Aufgaben, dasselbe Produkt im selben Shop hat deshalb zwei Übertragungen nebeneinander, und beide haben ihren eigenen Verlauf.
- Der Zeitpunkt sagt, wann das zuletzt geschah.

Zu jedem solchen Paar aus Kanalzuordnung und Aufgabe gibt es genau einen Eintrag, und der wird fortgeschrieben statt vervielfacht. Ein Produkt, das seit zwei Jahren stündlich in den Shop läuft, hinterlässt deshalb eine Zeile mit ihrem aktuellen Stand und ihrer Vorgeschichte, nicht siebzehntausend Protokollzeilen.
Das ist der Grund, warum die Nachverfolgung auch nach Jahren Betrieb noch benutzbar ist: Sie wächst mit der Zahl der Datensätze, nicht mit der Zahl der Ausführungen. Ein Protokoll, das nach jeder Ausführung länger wird, ist nach einem halben Jahr nur noch mit einer Suchfunktion zu ertragen und beantwortet die Frage „was ist mit diesem Produkt zuletzt passiert" gar nicht mehr.
Der Status hängt am Datensatz und nicht an der Ausführung
Jede Übertragung trägt einen Status, und er gilt für diesen einen Datensatz in dieser einen Aufgabe:
| Status | Was er sagt |
|---|---|
| Neutral | Es gab nichts zu tun. Der Datensatz wurde geprüft und war auf beiden Seiten gleich. |
| Erstellt | Das Gegenstück wurde neu angelegt. |
| Geändert | Das Gegenstück wurde aktualisiert. |
| Entfernt | Der Datensatz wurde aus dem Kanal genommen. |
| Fehlerhaft | Die Übertragung kam für genau diesen Datensatz nicht durch. |
Bei einem Fehler zeigt die Liste an der Stelle des Status die Fehlermeldung selbst, damit Sie den Eintrag nicht erst öffnen müssen, um zu sehen, woran es lag.
Dahinter kann ein Zusatz stehen, und der beantwortet die Frage, warum nichts passiert ist. Übersprungen heißt, dass TRADElube den Datensatz bewusst ausgelassen hat, etwa weil eine Bedingung im Abschnitt Auswahl der Aufgabe nicht zutraf oder das Gegenstück im Zielsystem nicht gefunden wurde. Deaktiviert heißt, dass ein Eintrag im Zielsystem nicht gelöscht, sondern abgeschaltet wurde.
Ein Status erklärt die Bauart des Ganzen, und es ist Fehlerhaft. Er nennt einen einzelnen Datensatz, während die Aufgabe als Ganzes erfolgreich gewesen sein kann, und er bleibt stehen, bis dieser Datensatz durch ist. Eine Ausführung ist in TRADElube kein Alles-oder-nichts, sondern schreibt den Zustand je Datensatz fort. Die nächste Ausführung nimmt einen offenen Datensatz wieder auf, eine manuell gestartete in jedem Fall.
Dabei wartet TRADElube gestaffelt: Ein frischer Fehler wird bei jeder Ausführung erneut versucht, und liegt er länger als einen Tag zurück, noch etwa alle zwei Stunden. Der Grund ist der Fall, den es sonst gäbe: Ein Datensatz, der aus einem dauerhaften Grund scheitert, etwa weil im Zielsystem ein Pflichtfeld fehlt, würde bei jeder Ausführung denselben Fehler erzeugen und die Zeit fressen, die den übrigen Datensätzen zusteht.
Was daraus folgt, ist der eigentliche Wert dieser Aufteilung: Eine Störung erzeugt keine stille Abweichung. Was nicht durchging, steht als benannter Fehler an einem benannten Datensatz und bleibt fällig, statt beim nächsten Mal vergessen zu werden. Auffallen würde es sonst erst, wenn ein Kunde im Shop etwas nicht findet.
Vier Orte, derselbe Bestand
Dieselben Übertragungen sind an vier Stellen zu sehen, jeweils anders zugeschnitten:
- Der Navigationspunkt Nachverfolgung zeigt alles, chronologisch, die neuesten oben. Das ist der Einstieg, wenn Sie noch nicht wissen, wo das Problem sitzt.
- Am Kanal stehen die Übertragungen dieses Kanals. Sinnvoll, wenn ein angebundenes System auffällig ist.
- An der Aufgabe stehen die Übertragungen dieser Aufgabe. Sinnvoll, wenn ein bestimmter Vorgang auffällig ist, etwa der Bestandsabgleich.
- Am Datensatz, im Bereich Kanäle, stehen die Übertragungen dieses einen Datensatzes, je Aufgabe ein Register. Sinnvoll, wenn die Frage an einem Produkt hängt.
Das sind vier Ausschnitte desselben Bestands, keine vier Protokolle. Deshalb ist es gleichgültig, von welcher Seite Sie kommen: Was Sie am Produkt sehen, steht in der Gesamtübersicht genauso, und die Schaltfläche Gehe Zu führt von dort umgekehrt in den betroffenen Datensatz.
Ausgeführt Am gegen Änderungen Am
Zu jeder Übertragung stehen zwei Zeitpunkte nebeneinander, und sie beantworten verschiedene Fragen. Ausgeführt Am ist der Zeitpunkt, an dem eine Ausführung diesen Datensatz zuletzt angefasst hat. Änderungen Am ist der Zeitpunkt, an dem sich dabei zuletzt tatsächlich etwas geändert hat.
Meistens liegen die beiden auseinander, und das ist der Normalfall, nicht der Verdachtsfall: TRADElube überträgt nur, was sich geändert hat, und die überwiegende Zahl der Ausführungen stellt genau das fest und ist fertig. Ein Änderungszeitpunkt, der Wochen zurückliegt, ist deshalb kein Stillstand, sondern die Aussage, dass sich seither nichts geändert hat. Warum das so gebaut ist, steht unter Grundlagen der Synchronisation.
Für die Fehlersuche ist das die zuverlässigste Auskunft der ganzen Ansicht. Sie trennt zwei Fälle, die von außen gleich aussehen: „der Datensatz wird gar nicht mehr angefasst" und „der Datensatz wird geprüft, aber es gibt nichts zu tun". Beim ersten stimmt etwas mit der Aufgabe oder der Auswahl nicht, beim zweiten liegt die Ursache in den Quelldaten.
Was aufgehoben wird
Zu jeder Übertragung liegt der Inhalt bei, so wie ihn das andere System geliefert oder entgegengenommen hat, meist als XML oder JSON. Bei einer fehlerhaften Übertragung kommt die Fehlermeldung dazu. Das Format ist technisch, XML oder JSON, und trotzdem lesbar genug für die Frage, um die es geht.

Aufgehoben wird nicht nur der letzte Stand, sondern bis zu fünf. Ältere fallen weg. Zwei Stände lassen sich als Vergleich anzeigen, Gelöschtes rot und Hinzugekommenes grün, sodass die Änderung selbst ins Auge fällt und nicht erst gesucht werden muss.
Die Fünf ist knapper, als sie klingt. Ein neuer Stand entsteht nur, wenn sich der Inhalt geändert hat, nicht bei jeder Ausführung. Fünf Stände sind also fünf Änderungen: Bei einem Produkt, das sich zweimal im Jahr ändert, reicht die Vorgeschichte damit Jahre zurück, bei einem Datensatz, an dem täglich etwas passiert, knapp eine Woche. Die Grenze existiert, weil jeder aufgehobene Stand Platz kostet und die Nachverfolgung über den gesamten Datenbestand mitläuft.
Ab Version 1.3.0 gibt es diese Vorgeschichte. Davor stand nur der jeweils letzte Stand einer Übertragung zur Verfügung, eine Ursache, die weiter zurücklag, war damit nicht mehr belegbar. Siehe Release Notes 1.3.0.1.
Ein Preis, der nicht stimmt
Wozu das alles gut ist, zeigt der Fall, um dessentwillen die Ansicht gebaut wurde. Ein Kunde ruft an: Im Shop steht 19,99, in Ihrer Preisliste stehen 24,99. Beteiligt sind drei Systeme, die Lieferantendatei, TRADElube und der Shop, und die Frage ist nicht, wie man den Preis korrigiert, sondern wo er entstanden ist. Der Weg dorthin führt über das Produkt, Bereich Kanäle:
- Zeile des Shop-Kanals markieren, Nachverfolgung Anzeigen, Register der Aufgabe Produkte Hochladen. Dort steht der Inhalt, der zuletzt hinausging. Steht darin 19,99, hat der Shop genau das bekommen, was TRADElube geschickt hat. Damit ist der Shop aus der Sache heraus.
- Zurück in den Bereich Kanäle, diesmal die Zeile des Lieferantenkanals, Register der Aufgabe Produkte Importieren. Das ist der Inhalt, den die Datei geliefert hat. Stehen dort ebenfalls 19,99, dann liefert Ihr Lieferant diesen Preis, und die Klärung gehört zu ihm.
- Stehen dort 24,99, liegt es dazwischen: Der Transferplan des Uploads greift auf eine andere Preisgruppe zu, als Sie erwarten, oder ein Skript rechnet um.
- Änderungen Am sagt, seit wann es so ist, und der Vergleich zweier Stände zeigt die Übertragung, in der der Preis gewechselt hat.
Vier Blicke, und keiner davon setzt voraus, dass Sie XML lesen können. Es genügt, die Zahl zu finden. Was daran zählt, ist nicht die Bequemlichkeit, sondern womit das nächste Gespräch anfängt: Sie rufen Ihren Lieferanten nicht mit einer Vermutung an, sondern mit dem Inhalt, den seine Datei an diesem Tag geliefert hat. Und wenn der Befund gegen TRADElube ausgeht, ist er genauso eindeutig.
Im laufenden Betrieb müssen Sie diese Ansicht dagegen nie öffnen. Sie schreibt von selbst mit und wartet, bis eine Frage kommt.
Zusammenspiel
Die Nachverfolgung ist das Ergebnis der anderen Begriffe, nicht ein eigener Bereich neben ihnen:
- Die Kanalzuordnung trägt sie. Ohne die Verknüpfung eines Datensatzes mit seinem Gegenstück gäbe es nichts, woran ein Eintrag hängen könnte, und mit dem Kanal verschwinden beide.
- Die Aufgabe erzeugt sie. Jede Ausführung schreibt die Einträge ihrer Datensätze fort, und welche Datensätze überhaupt fällig sind, entscheidet sie ebenfalls.
- Der Transferplan erklärt den Inhalt. Die Nachverfolgung zeigt, welcher Wert übertragen wurde, der Transferplan sagt, warum es dieser war. Erst beides zusammen ergibt ein schlüssiges Bild.
Weiterführend
- Nachverfolgung (Anleitungen): der Weg durch die Oberfläche, mit Praxisfällen aus Shop und Warenwirtschaft
- Nachverfolgung (Referenz): Spalten, Filter und Schaltflächen der Ansicht
- Kanalzuordnungen: woran ein Eintrag hängt und wie man von dort in die Nachverfolgung kommt
- Aufgaben (Konzepte): was eine Ausführung auslöst und welche Datensätze sie sich vornimmt
- Kanäle: wozu Kanalzuordnung und Aufgabe gehören
- Grundlagen der Synchronisation: warum die meisten Ausführungen nichts zu tun haben