Details
Steps to replicate the behavior:
Über POST /Documents wird ein neuer Beleg (Auftrag) angelegt.
Dann werden X Positionen über /Documents/{documentKey}/ArticleItem hinzugefügt.
Werden diese Aufrufe schnell hintereinander abgesetzt, stimmt unter Umständen die Reihenfolge der Positionen nicht mehr. Mit einem Wartezeit zwischen den Aufrufen kann man das Problem umgehen, aber dadurch dauert die Anlage speziell von großen Belegen viel länger.
Außerdem kann es vorkommen, dass während der Beleganlage (bzw. eigentlich dem Hinzufügen von Positionen) ein User in der WAWI diesen Beleg öffnet und in den Bearbeitungsmodus wechselt - dann bekommt die API (die ein eigener Hintergrundprozess für die Verarbeitung von Webshop-Bestellungen ist) eine Fehlermeldung, dass der aktuelle Datensatz bereits in Verwendung ist.
Also 2 Fragen:
- Wieso kann man nicht mehrere Positionen gleichzeitig (als Array) übergeben bzw. wenn es nur einzeln geht, wie kann man garantieren (ohne manuelle Wartezeit), dass die Positionen exakt in der Reihenfolge eingefügt werden, wie die Aufrufe stattfinden?
- Ist es möglich, bei Anlage eines Belegs über die API diesen Beleg (bis zu einem definierten Zeitpunkt) für die normale WAWI zu sperren?
Vielen Dank für eine rasche Rückmeldung,
Manuel Jussel
Details
Steps to replicate the behavior:
Über POST /Documents wird ein neuer Beleg (Auftrag) angelegt.
Dann werden X Positionen über /Documents/{documentKey}/ArticleItem hinzugefügt.
Werden diese Aufrufe schnell hintereinander abgesetzt, stimmt unter Umständen die Reihenfolge der Positionen nicht mehr. Mit einem Wartezeit zwischen den Aufrufen kann man das Problem umgehen, aber dadurch dauert die Anlage speziell von großen Belegen viel länger.
Außerdem kann es vorkommen, dass während der Beleganlage (bzw. eigentlich dem Hinzufügen von Positionen) ein User in der WAWI diesen Beleg öffnet und in den Bearbeitungsmodus wechselt - dann bekommt die API (die ein eigener Hintergrundprozess für die Verarbeitung von Webshop-Bestellungen ist) eine Fehlermeldung, dass der aktuelle Datensatz bereits in Verwendung ist.
Also 2 Fragen:
Vielen Dank für eine rasche Rückmeldung,
Manuel Jussel