Amazon hat ein Feld leer gelassen, in dem eine Zahl erwartet wird. JTL-Wawi versucht daraus einen Dezimalwert zu machen und bricht ab. Ihre Daten sind in Ordnung, und einstellen lässt sich dagegen nichts: Es fehlt eine Absicherung im Code gegen einen Fall, den Amazon zulässt. Typische Auslöser sind Bestellungen ohne Gebührenbetrag, ohne Versandkosten oder ohne Steuerbetrag, etwa bei Stornierungen, Nullbeträgen oder unvollständig übermittelten Vorgängen. Praktisch bleibt Ihnen, die auslösende Bestellung zu finden und den Abgleich um sie herum zu führen.
Die Meldung stammt weder von Amazon noch von JTL im engeren Sinn, sondern aus der Laufzeitumgebung, in der JTL-Wawi läuft. Es ist eine durchgereichte .NET-Ausnahme, und wörtlich heißt sie: Es wurde versucht, den Wert null in einen Dezimalwert umzuwandeln, und das geht nicht.
Übersetzt: Amazon hat ein Zahlenfeld leer gelassen, in dem der Code eine Zahl erwartet.
Der Unterschied zwischen null und 0 ist dabei entscheidend. Null ist ein Betrag. null ist die Aussage, dass es keinen Betrag gibt. Für die Buchhaltung läuft das oft aufs Gleiche hinaus, für den Programmcode nicht.
Der Schaden entsteht nicht durch das leere Feld, sondern durch die Bauweise ringsherum. Der Abgleich verarbeitet die Bestellungen als einen zusammenhängenden Vorgang, und wirft eine davon eine Ausnahme, endet der gesamte Lauf.
Daraus wird das Bild, das Sie sehen: Es kommen keine Bestellungen mehr an, obwohl neunundneunzig von hundert völlig in Ordnung sind. Eine einzige unvollständige Bestellung hält den kompletten Auftragseingang auf, so lange, bis jemand sie findet.
Aus Betriebssicht ist das der eigentliche Befund. Der fehlende Wert ist ein Ärgernis. Dass er den Rest blockiert, ist das Problem.
| Situation | Feld, das leer bleiben kann |
|---|---|
| Stornierte Bestellung | Gebühren, Steuerbetrag |
| Erstattung ohne Betrag | Erstattungsbetrag |
| Bestellung mit Wert null (Ersatzlieferung, Werbeaktion) | Verschiedene Betragsfelder |
| Vorgang noch nicht vollständig verarbeitet | Gebühren werden nachgereicht |
| Bestimmte Versand- und Erfüllungsarten | Versandkosten |
| Änderung in der Selling Partner API | Ein Feld wird optional, das vorher immer kam |
Der letzte Fall ist der unangenehmste. Er trifft alle Anwender gleichzeitig und sieht aus wie ein plötzlicher Defekt.
Stellen Sie den Zeitpunkt des Abbruchs fest und sehen Sie sich im Seller Central die unmittelbar davor liegenden Vorgänge an. Suchen Sie dort nach dem Sonderfall: Stornierung, Erstattung, Betrag null, ungewöhnlicher Marktplatz oder Versandweg.
Grenzen Sie dann den Abgleichzeitraum ein, um die auslösende Bestellung zu isolieren, statt immer wieder denselben großen Lauf zu starten. Prüfen Sie dabei, ob der Vorgang bei Amazon inzwischen vollständig ist, denn manche Beträge werden nachgereicht und derselbe Abgleich läuft am Folgetag ohne jede Änderung durch.
Arbeiten Sie auf aktueller Version, weil solche Fälle typischerweise per Update abgesichert werden. Bleibt der Fehler reproduzierbar, geben Sie ihn mit Zeitstempel und Bestellnummer an den JTL-Support.
Konfigurieren können Sie ihn nicht. Diese Einstellung existiert nicht.
Fehlende Zahlenwerte behandeln wir beim Einlesen definiert. Ein nicht geliefertes Gebührenfeld ist ein bekannter, entschiedener Fall, keine Ausnahme, die nach oben durchschlägt.
Ein unverdaulicher Datensatz blockiert bei uns nie den Rest. Er geht in eine Fehlerwarteschlange, wird benannt gemeldet, und die anderen Bestellungen laufen. Das entscheidet darüber, ob Sie morgens eine betroffene Bestellung vorfinden oder einen stehenden Auftragseingang.
Die Selling Partner API beobachten wir täglich auf Änderungen. Wird ein Feld optional, sehen wir das an der Spezifikation und nicht an einem abgebrochenen Lauf. Und ein Rückstand wird kontrolliert aufgeholt, gedrosselt und ohne Dubletten, statt in die nächste Sperre zu laufen.
Sie sehen das im Livebetrieb und möchten, dass es nicht mehr Ihr Problem ist? Wir konzipieren, bauen und betreiben die Schnittstelle dauerhaft, inklusive der Validierung und Wiederholungslogik, die diese Art von Fehler gar nicht erst bei Ihnen ankommen lässt. Festpreis-Angebot zur Aufwandsabschätzung innerhalb von 48 Stunden.