Skip to main content
Skip table of contents

Ablauf und Protokoll

Dieser Abschnitt beschreibt sowohl die Strukturen als auch den Ablauf der Nachrichten im Rahmen eines Bestellvorgangs. Alle Nachrichten, die zu einer Bestellung und ihrer Ausführung gehören, können in einer Transaktion zusammengefasst werden, d.h. im Kopf der Nachricht sind die Felder „Kennung der Transaktion", „Sequenznummer des Senders" und „Sequenznummer des Emfpängers" aufszufüllen. Wird das Transaktionsprotokoll nicht verwendet (empfohlen), so können diese Felder leer bleiben.

  1. Wenn der Kunde die Bestellung abgeschlossen hat, und diese ggf. den internen Freigabeprozess des Kunden durchlaufen hat, wird sie an die Warenwirtschaft in einer „PurchaseOrderSubmit"-Nachricht übermittelt. Die Warenwirtschaft muss den Erhalt der Bestellung mit einer „PurchaseOrderAck"-Nachricht bestätigen. Diese Nachricht stellt nur eine technische Empfangsbestätigung dar und sagt nichts über die Annahme oder Ablehnung des Auftrags durch den Händler aus. Erhält die Warenwirtschaft mehr als eine Nachricht vom Typ „PurchaseOrderSubmit" mit der selben ordermanager -internen Kennung (Feld „Id" in der Satzart „Bestellung - Identifikation"), dann ist nur die erste Nachricht maßgebend, alle folgenden müssen ignoriert werden, und es dürfen keine weiteren Aufträge erstellt werden.
  2. Wenn eine Bestellung von einem Sachbearbeiter des Händlers über die Warenwirtschaft als Auftrag erfasst wird und nicht durch den Kunden im orderManager, dann schickt die Warenwirtschaft eine Nachricht vom Typ „PurchaseOrderCreate" an den ordermanager. Der Auftrag sollte in der Warenwirtschaft erst wieder weiterbearbeitet werden, wenn die „PurchaseOrderReSubmit" in der Warenwirtschaft empfangen wurde. Das „PurchaseOrderReSubmit" enthält den Stand des Auftrages im ordermanager . Das heisst die Nachricht kann einen anderen Inhalt als die ursprüngliche „PurchaseOrderCreate" haben, da der Benutzer in bestimmten Fällen im ordermanager  die Möglichkeit hat, den Auftrag zu verändern (z.B. um eine Budgetüberschreitung zu verhindern). Alternativ sendet der ordermanager  die Nachricht „PurchaseOrderCancel", wenn der Auftrag vom Benutzer im ordermanager gelöscht wurde (siehe Abschnitt 4.). Der Auftrag darf dann nicht weiter bearbeitet werden. Das „PurchaseOrderReSubmit" nach „PurchaseOrderCreate" kann auf Optional auch deaktiviert werden. Diese Entscheidung ist in Absprache mit dem Auftraggeber zu treffen.
  3. Wenn sich von Seiten des Händlers Änderungen an einem Auftrag ergeben, dann wird die gesamte geänderte Bestellung von der Warenwirtschaft in einer „PurchaseOrderModification"Nachricht an ordermanager übermittelt. Innerhalb von ordermanager  durchläuft die geänderte Bestellung nochmals den gesamt Prüf und Freigabeprozess (wegen der möglichen Budgetwirksamkeit von Änderungen am Auftrag) und wird nach ihrer Freigabe wieder vollständig in einer „PurchaseOrderReSubmit"-Nachricht an die Warenwirtschaft mitgeteilt. Diese Folge der beiden letzten Nachrichten kann mehrmals wiederholt werden. Nachdem die „PurchaseOrderModification"-Nachricht an den ordermanager  gesendet wurde, darf der Auftrag in der Warenwirtschaft nicht weiter bearbeitet werden. Erst nach dem eintreffen der „PurchaseOrderReSubmit"-Nachricht sollte der Auftrag weiter bearbeitet werden.
     Will der Kunde die Änderungen des Händlers an der Bestellung nicht akzeptieren, so kann er die Bestellung stornieren. ordermanager schickt dann eine Nachricht vom Typ „PurchaseOrderCancel" an die Warenwirtschaft. ordermanager  geht danach nicht mehr davon aus, dass in der Warenwirtschaft ein zur Bestellung gehöriger Auftrag existiert.
    Die endgültige Annahme einer Bestellung durch den Händler teilt die Warenwirtschaft durch das Abschicken einer Nachricht vom Typ „PurchaseOrderAccept" mit, eine endgültige Ablehnung durch „PurchaseOrderDecline". Nach einer Ablehnung geht ordermanager    nicht mehr davon aus, dass in der Warenwirtschaft ein zur Bestellung gehöriger Auftrag existiert. Die Nachricht „PurchaseOrderAccept" darf erst dann verschickt werden, wenn feststeht, dass die Bestellung ohne weitere Veränderungen zur Ausführung kommt. Insbesondere der Bestellbetrag darf nicht mehr geändert werden. Die Nachricht „PurchaseOrderAccept" muss den letzten Stand des Auftrages in der Warenwirtschaft enthalten.
  4. Die Auslieferung von Positionen einer Bestellung kann die Warenwirtschaft etwa beim Drucken eines Lieferscheins in einer „DeliveryNotice"-Nachricht an ordermanager  melden. Pro Bestellung können mehrere DeliveryNotice-Nachrichten auftreten, in einer DeliveryNotice kann jedoch immer nur einen Bestellung behandelt werden. Wenn Nachlieferungen notwendig sind, dann muß auch in den „DeliveryNotice"-Nachrichten zu diesen Nachlieferungen der Bezug zur ursprünglichen Bestellung hergestellt werden, indem im Datensatz „Bestellung – Identifikation" die ordermanager -interne Kennung der Bestellung aus der „PurchaseOrderSubmit"-Nachricht übermittelt wird. Ist dies aus Wawi-internen Gründen nicht möglich, weil etwa für die Nachlieferungen der eigentliche Auftrag in einen oder mehrere Folgeaufträge aufgeteilt wird, die keinen Verweis auf den ursprünglichen mehr enthalten, so muss jede „DeliveryNotice" neben der Nummer des Auftrags, der gerade ausgeliefert wird, auch die Nummer des Folgeauftrags, der die noch nicht erledigten Positionen aufnimmt, übermitteln. So entsteht eine Kette von Auftragsnummern, durch die orderManager die zugrunde liegende Bestellung ermitteln kann. Werden mehrere Bestellungen aus dem ordermanager  durch die Warenwirtschaft mit in einem Lieferschein ausgeliefert, so muss trotzdem für jede Bestellung eine eigene Nachricht vom Typ „DeliveryNotice" verschickt werden, die nur Positionen aus der betreffenden Bestellungen enthält.
  5. Die Berechnung einer Bestellung oder von Teilen einer Bestellung wird in Nachrichten des Typs „Invoice" an ordermanager  gemeldet. Ähnlich wie bei Lieferungen darf es mehrere Invoice-Nachrichten pro Bestellung geben, jede Nachricht kann aber nur eine Bestellung abdecken. Bei Sammelrechnungen, die mehrere Bestellungen aus dem ordermanager , und damit mehrere Aufträge abdecken, müssen für jede Bestellung einzelne Nachrichten vom Typ „Invoice" verschickt werden, die nur Positionen aus der betreffenden Bestellung enthält.
  6. Der Nachrichtentyp „PurchaseOrderClose" ist ein optionaler Nachrichtentyp, der von der Warenwirtschaft verwendet werden kann, um dem ordermanager  mitzuteilen, dass die Bestellung aus Sicht des Händlers abgeschlossen ist. Dieser Nachrichtentyp ist dann wichtig, wenn es in der Warenwirtschaft nicht möglich sein sollte, das Flag „letzte Rechnung" korrekt zu setzen. Diese Funktion könnte man dem Benutzer der Warenwirtschaft auch als solche bereitstellen, damit dieser eine Bestellung explizit abschliessen kann.
  7. Um im Falle einer Gutschrift für einen Kunden ein eventuell betroffenes Budgets im ordermanager  entsprechend anpassen zu können, schickt die Warenwirtschaft eine Nachricht vom Typ „CreditNotice" an ordermanager . Die Struktur der Nachricht entspricht im Wesentlichen der des „Invoice"-Nachrichtentyps. Eine Nachricht vom Typ „CreditNotice" kann sowohl im Rahmen einer Transaktion, oder wenn der eigentliche Bestellvorgang schon vollständig abgeschlossen ist, ohne Transaktion (also ohne einen Wert im Kopf-Feld „Kennung der Transaktion") ausgeführt werden.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.