Postman-Collection
Orders Lesen

pixiGetExpiredReservations

Liefert Aufträge eines POS-Standorts, deren Auftragspositionen älter als die Reservierungsfrist sind und keine Reservierung haben.

Liefert die eindeutigen Auftragsnummern und Kundenreferenzen der Aufträge an einem POS-Standort, deren Reservierungsfrist abgelaufen ist.

Eine Auftragsposition wird berücksichtigt, wenn alle folgenden Bedingungen erfüllt sind:

  • LocationID der Auftragsposition entspricht @LocationId (dem POS-Standort).
  • Dem POS-Standort ist ein Reservierungsstandort zugeordnet (Location.ResLocID), und dieser Standort existiert in Location.
  • Der über CustRef referenzierte Kunde existiert in Customers.
  • Zur Auftragsposition existiert kein Eintrag in Reservation (ResOrderlineRef).
  • Der Status der Auftragsposition ist ANG oder HAL.
  • Seit OrderDate sind mehr ganze Tage vergangen als die Reservierungsfrist. Die Frist ist ResExpDays des Reservierungsstandorts. Ist dieser Wert NULL, gilt die globale Einstellung ReservationExpiry.
  • Jede Auftragsposition desselben Auftrags hat einen ItemLocationSpecific-Datensatz für den Reservierungsstandort. Fehlt dieser Datensatz auch nur bei einer Position, wird der gesamte Auftrag ausgeschlossen.

Jeder Auftrag erscheint nur einmal. Die Ausgabe ist aufsteigend nach ordernr sortiert.

Hinweise

  • Wird LocationId weggelassen (NULL), ist der Vergleich LocationID = NULL nie wahr und das Ergebnis immer leer. Es sollte daher immer ein Standort übergeben werden.
  • So wird die Reservierungsfrist aus der Einstellung ReservationExpiry ermittelt:
    • Die Einstellung wird über fpixi_GetSetting gelesen. Diese Funktion liefert '0', wenn die Einstellung nicht existiert.
    • Eine fehlende Einstellung ergibt damit eine Frist von 0 Tagen, nicht 14. Dann qualifiziert sich jede Auftragsposition, die älter als einen Tag ist.
    • Der Ersatzwert von 14 Tagen greift nur, wenn die Einstellung mit leerem Wert existiert.
    • Ein nicht numerischer Wert der Einstellung führt zu einem Konvertierungsfehler.
  • Alle Tabellen werden mit NOLOCK gelesen, daher können nicht festgeschriebene Daten geliefert werden.
  • Der Kopfkommentar der Prozedur ("orders ready to pick up") passt nicht zu Name und Logik. Die hier beschriebene Funktionsweise folgt dem Code.
  • Die Prozedur liest nur Daten. Sie storniert keine Aufträge und ändert keine Daten.

Parameter

Parameter Typ Standardwert Beschreibung
LocationId
varchar(50)
string
NULL

ID des POS-Standorts (Location.LocID), dessen Auftragspositionen geprüft werden. Ohne Wert werden keine Zeilen geliefert.

Beispiel: P01

Antwort

Result-Set 1 · Immer; leer, wenn kein Auftrag passt oder LocationId NULL ist.

Eine Zeile je Auftrag mit abgelaufener Reservierungsfrist, sortiert nach Auftragsnummer.

Spalte Typ Beschreibung
ordernr int

Auftragsnummer (Orderlines.OrderNr).

CustRef int

Kundenschlüssel des Auftrags (Orderlines.CustRef, entspricht Customers.CustKey).

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:pixiGetExpiredReservations>
      <!-- <LocationId>P01</LocationId> -->
    </ns1:pixiGetExpiredReservations>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Orderlines · Lesen Location · Lesen Customers · Lesen Reservation · Lesen ItemLocationSpecific · Lesen Settings · Lesen
SQL-Objekt:
dbo.pipiGetExpiredReservations
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben