Postman-Collection
Orderlines Schreiben

pixiCancelOrder

Storniert alle offenen Auftragspositionen eines Auftrags, indem ihr Status auf `STO` (storniert) oder `NLB` (nicht lieferbar) gesetzt wird.

Setzt den Status der Auftragspositionen des Auftrags OrderNr auf den Wert von Status.

  1. Ist Status leer oder NULL, wird STO verwendet.
  2. Nur STO und NLB sind zulässig. Bei jedem anderen Wert wird eine Zeile mit ErrorMessage geliefert und nichts geändert.
  3. Ausgewählt werden die Auftragspositionen des Auftrags, die alle folgenden Bedingungen erfüllen:
    • der aktuelle Status der Position ist kein Endstatus (OrderStates.FinalState = 'Y');
    • keine Auftragsposition des Auftrags ist in BoxItems referenziert;
    • keine Auftragsposition des Auftrags ist in InvLines referenziert.
  4. Die ausgewählten Positionen erhalten den neuen Status. UpdateDate wird auf die aktuelle Zeit und UpdateEmp auf API gesetzt.
  5. Wurde mindestens eine Position geändert, wird eine Zeile mit SuccessfulMessage geliefert. Wurde keine Position geändert, liefert der Aufruf keine Ergebnismenge; der Rückgabewert der Prozedur ist dann 1 (bei Erfolg 0).

Hinweise

  • Auftragsweite Prüfung: Die Kommentare im Code deuten eine Prüfung pro Position an. Die Unterabfragen auf BoxItems und InvLines sind jedoch nur über die Auftragsnummer korreliert. Ist irgendeine Position des Auftrags bereits in einer Kiste oder auf einer Rechnung, wird keine Position storniert, nicht nur diese eine Position.
  • Positionen in einem Endstatus werden übersprungen. Ein erneuter Aufruf für einen bereits stornierten Auftrag liefert daher in der Regel keine Zeilen.
  • Wurde nichts geändert, wird keine Meldung geliefert (z. B. unbekannter Auftrag, alle Positionen im Endstatus, Positionen bereits in Kisten oder auf Rechnungen). Eine fehlende Zeile SuccessfulMessage ist als „nicht storniert“ zu werten.
  • Die Auswahl liest mit NOLOCK; das Update verwendet ROWLOCK. Es gibt keine explizite Transaktion.
  • Geändert wird nur der Status der Auftragspositionen. Auftragskopf und Reservierungen werden von dieser Prozedur nicht direkt angepasst.

Parameter

Parameter Typ Standardwert Beschreibung
OrderNr
Pflicht
int –

Nummer des Auftrags, dessen Auftragspositionen storniert werden (Orderlines.OrderNr).

Beispiel: 123456

Status
varchar(3)
string
STO

Neuer Status für die Auftragspositionen. Leer oder NULL wird als STO behandelt.

Erlaubte Werte

  • STO – Storniert; Standardwert.
  • NLB – Nicht lieferbar.

Beispiel: STO

Antwort

Result-Set 1 · Wenn Status weder STO noch NLB ist

Fehlerzeile bei ungültigem Statuswert.

Spalte Typ Beschreibung
ErrorMessage varchar(30)
string

Fester Text Only status STO or NLB allowed.

Result-Set 2 · Wenn mindestens eine Auftragsposition geändert wurde

Erfolgszeile.

Spalte Typ Beschreibung
SuccessfulMessage varchar(31)
string

Fester Text Order was successfully canceled.

Fehlermeldungen

Status Meldung Ursache
ERROR Only status STO or NLB allowed `Status` enthält einen anderen Wert als `STO` oder `NLB`. `STO` oder `NLB` senden oder den Parameter weglassen.

Beispiele

POST https://apigateway.descartes.com/tms/pixi/
Content-Type: text/xml; charset=utf-8
Authorization: Basic BASE64(USERNAME:PASSWORD)

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
  <SOAP-ENV:Body>
    <ns1:pixiCancelOrder>
      <OrderNr>123456</OrderNr>
      <!-- <Status>STO</Status> -->
    </ns1:pixiCancelOrder>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Orderlines · Schreiben OrderStates · Lesen BoxItems · Lesen InvLines · Lesen
SQL-Objekt:
dbo.pipiCancelOrder
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben