Nachrichtenkopf
Der Kopf einer Nachricht setzt sich immer aus folgenden Feldern zusammen:
# | | | | | | |
---|
1 | Nachrichtentyp | Type | M | alph | 30 | Kennung/Bezeichnung des Typs der Nachricht. Die einzelnen Typen werden im Folgenden vorgestellt. |
2 | Version des Typs | Version | M | int |
| Kennung der Version des Nachrichtentyps bzw. des Formats |
3 | Datum & Uhrzeit | Date | M | dt |
| Datum und Uhrzeit der Erstellung der Nachricht |
4 | Sender | SenderId | M | alph | 50 | Kennung des Senders |
5 | Empfänger | ReceiverId | M | alph | 50 | Kennung des Empfängers |
6 | Kennung der Transaktion | TransactionId | K | alph | 32 | siehe folgender Abschnitt „Transaktionen". Leer bei nicht Verwendung des Transaktionsprotokolls. |
7 | Kennung der Nachricht | MessageId | M | alph | 32 | Fortlaufende Nummer um die Nachricht eindeutig zu identizieren. siehe folgender Abschnitt „Transaktionen" |
8 | Sequenznummer des Senders der Nachricht | SequenceNrSender | K | int |
| Fortlaufende Zahl, die sicherstellt, dass ankommende Nachrichten in der richtigen Reihenfolge abgearbeitet werden |
9 | Sequenznummer des Empfängers der Nachricht | SequenceNrReceiver | K | int |
| Fortlaufende Zahl, die sicherstellt, dass ankommende Nachrichten in der richtigen Reihenfolge abgearbeitet werden |
10 | Timeout | Timeout | K | int |
| Zeit in Minuten, in der der Sender eine Antwort erwartet. Kein Timeout (unendliches Warten) wird durch den Wert 0 (null) ausgedrückt. |
11 | Nachrichtenlänge | NumberOfLines | M | int | 10 | Anzahl der Zeilen der Nachricht , inkl. Der ersten Zeile. Dieser Wert dient zur Überprüfung, ob die Nachricht komplett übertragen wurde. |
Mit der Version 2.2 der Schnittstelle wird das Feld „Version" genutzt. Alle bisherigen Schnittstellenversionen hatten hier den Wert „1". Ab der aktuellen Version wird der Wert mit jeder Version hochgezählt. Alle Satzarten und Felder die aktuell keine Versionsangabe besitzen, müssen unterstützt werden. Alle Felder und Satzarten die eine Angabe besitzen, müssen erst ab der angegebenen Version unterstützt werden.
Die Werte für die Felder „Kennung des Senders" und „Kennung des Empfängers" müssen im Vorfeld festgelegt werden. Durch sie werden konkrete Instanzen eines ordermanager und einer Warenwirtschaft eindeutig identifizert.
Die „Kennung der Nachricht" sollte, wenn möglich, mit einer fortlaufenden Nummern gefüllt werden. Wird auf das Transaktionsprotokoll verzichtet, so müssen die Felder „Kennung der Transaktion" sowie beide Sequenznrn Felder leer bleiben. Ab der Version 2.4 wird der Einsatz des Transaktionsprotokolls nicht mehr empfohlen.