Postman-Collection
Reports Lesen

pixiReportGetShippableOrders

Liefert die aus dem aktuellen Bestand versandfähigen Auftragspositionen als Details oder als Summen (Aufträge, Wert, Versandkosten, Picks), optional je Lager.

Wertet offene Aufträge aus und prüft je Position, ob genügend Bestand für den Versand vorhanden ist. Anschließend werden entweder die versandfähigen Positionen oder Summenwerte geliefert.

Kandidaten für Aufträge und Positionen

  • Berücksichtigt werden nur Auftragspositionen mit Status ANG oder EIN, gesetztem ItemRef und Qty > 0.
  • Der Kunde des Auftrags muss zu ShopId gehören (Customers.CustomerOf). Ein leerer ShopId bedeutet alle Shops.
  • Ausgeschlossen werden Aufträge, deren Rechnungsadresse (AddrRef) oder Lieferadresse (ShipAdrRef) gesperrt ist (ASlocked = 'Y').
  • Ebenfalls ausgeschlossen werden Aufträge, die selbst gesperrt sind (OhSLocked = 'Y').
  • Ohne IncludeOrdersWithAnyShipDate = 1 werden nur Aufträge ohne Shipdate oder mit Shipdate vor morgen (heute oder früher) berücksichtigt.

Bestandsprüfung Die interne Prozedur pixi_CalculateStockForOrderLines setzt für jede Kandidatenposition ein Kennzeichen für die Versandfähigkeit. Sie läuft mit übersprungenen Nullbestands-Artikeln, d. h. Positionen von Artikeln ohne Bestand sind nicht versandfähig.

  • In die Berechnung fließen der Bestand in Lagern mit SpecialStock = 0, bestehende Reservierungen und frühere nicht reservierte Auftragspositionen ein.
  • Positionen mit Status EIN gelten immer als versandfähig.
  • Ein Auftrag gilt als teilweise oder nicht versandfähig, wenn mindestens eine seiner Kandidatenpositionen nicht versandfähig ist.

Filter nach Liefermodus

  • OnlyPartDelivery = 0, IncludePartDelivery = 0: nur Positionen von Aufträgen, deren Kandidatenpositionen alle versandfähig sind (vollständige Aufträge).
  • OnlyPartDelivery = 0, IncludePartDelivery = 1: alle versandfähigen Positionen aus vollständigen und teilweisen Aufträgen.
  • OnlyPartDelivery = 1: nur die versandfähigen Positionen von Teillieferungs-Aufträgen. IncludePartDelivery wird in diesem Fall ignoriert.

Währung Ist die Einstellung MultiCurrencyEnabled gleich 1, werden Price und ShipCost in die Datenbankwährung umgerechnet. Verwendet wird der Wechselkurs der Datenbank-Kursquelle mit gleicher Währung und gleichem Datum wie der Kurs des Auftrags. Gibt es keinen solchen Kurs, erfolgt keine Umrechnung. dbCurrency enthält dann den Code der Datenbankwährung, sonst NULL.

Ausgabe Es wird genau eine Ergebnismenge geliefert, abhängig von ViewDetails und PerLocation:

  • ViewDetails = 1: eine Zeile je versandfähiger Position, sortiert nach OrderNr und OrderlineRef. Bei PerLocation = 1 kommt die Spalte LocationId hinzu.
  • ViewDetails = 0, PerLocation = 0: eine Summenzeile.
  • ViewDetails = 0, PerLocation = 1: eine Summenzeile je Lager.

Hinweise

  • Alle Lesezugriffe verwenden NOLOCK; die Werte können daher nicht festgeschriebene Daten enthalten.
  • Die Einstellung UseFIFObyLocation steuert die Bestandsbasis in pixi_CalculateStockForOrderLines:
    • 0: Gesamtbestand aller Lager mit SpecialStock = 0.
    • 1: Bestand im Lager der jeweiligen Position.
  • Nur Positionen im Status ANG/EIN entscheiden, ob ein Auftrag vollständig ist. Positionen desselben Auftrags in anderen Status werden sowohl bei der Prüfung als auch in der Ausgabe ignoriert.
  • ShipCost sind die Versandkosten aus dem Auftragskopf. In den Detail-Ergebnismengen werden sie in jeder Position des Auftrags wiederholt. In den Summen zählen sie einmal je Auftrag, bei PerLocation = 1 einmal je Auftrag und Lager. Ein Auftrag mit Positionen in mehreren Lagern geht daher mit seinen Versandkosten in jedes dieser Lager ein.
  • OrderTotal wird als SUM(Price * Qty) berechnet.
  • NULL-Werte der Bit-Parameter werden als 0 behandelt. PerLocation ist im Code als "old way" gekennzeichnet.
  • Die Hilfsprozedur ruft log.EventDurationInsert auf (Definition nicht beigefügt), das vermutlich einen Laufzeit-Logeintrag schreibt.
  • Bei großen Datenbeständen kann der Aufruf aufwendig sein, da der Bestand für alle offenen Positionen berechnet wird.

Parameter

Parameter Typ Standardwert Beschreibung
ViewDetails
bit
boolean
NULL

1 liefert eine Zeile je versandfähiger Position; 0 (oder NULL) liefert Summen.

Erlaubte Werte

  • 0 – Summen (Standard bei NULL)
  • 1 – Positionsdetails

Beispiel: 1

IncludePartDelivery
bit
boolean
NULL

1 berücksichtigt zusätzlich zu vollständigen Aufträgen auch die versandfähigen Positionen von Teillieferungs-Aufträgen. Wird bei OnlyPartDelivery = 1 ignoriert.

Erlaubte Werte

  • 0 – Nur vollständige Aufträge (Standard bei NULL)
  • 1 – Alle versandfähigen Positionen, vollständige und teilweise Aufträge

Beispiel: 0

OnlyPartDelivery
bit
boolean
NULL

1 liefert nur die versandfähigen Positionen von Aufträgen, die nicht vollständig versandt werden können.

Erlaubte Werte

  • 0 – Verhalten abhängig von `IncludePartDelivery` (Standard bei NULL)
  • 1 – Nur versandfähige Positionen von Teillieferungs-Aufträgen

Beispiel: 0

ShopId
varchar(3)
string
–

Beschränkt das Ergebnis auf Aufträge von Kunden dieses Shops (Customers.CustomerOf). Leer bedeutet alle Shops.

Beispiel: HOH

IncludeOrdersWithAnyShipDate
bit
boolean
0

1 berücksichtigt auch Aufträge mit einem Versanddatum in der Zukunft.

Erlaubte Werte

  • 0 – Nur Aufträge ohne Versanddatum oder mit Versanddatum heute oder früher
  • 1 – Versanddatum wird nicht geprüft

Beispiel: 0

PerLocation
bit
boolean
0

1 ergänzt das Lager in den Details bzw. gruppiert die Summen nach Lager (im Code als "old way" markiert).

Erlaubte Werte

  • 0 – Ohne Aufteilung nach Lager
  • 1 – Mit Lager bzw. gruppiert nach Lager

Beispiel: 0

Antwort

Result-Set 1 · Wenn ViewDetails = 1 und PerLocation = 0

Eine Zeile je versandfähiger Auftragsposition, sortiert nach OrderNr, OrderlineRef.

Spalte Typ Beschreibung
OrderlineRef int

Schlüssel der Auftragsposition

OrderNr
Kann leer sein
int

Auftragsnummer

Qty int

Menge der Position

ItemRef int

Artikelschlüssel

Status
Kann leer sein
varchar(3)
string

Positionsstatus (ANG oder EIN)

ShipCost
Kann leer sein
money
decimal

Versandkosten des Auftrags, bei aktivierter Mehrwährung in Datenbankwährung

Price
Kann leer sein
money
decimal

Positionspreis, bei aktivierter Mehrwährung in Datenbankwährung

Shippable int

Immer 1

dbCurrency
Kann leer sein
varchar(3)
string

Code der Datenbankwährung bei aktivierter Mehrwährung, sonst NULL

Result-Set 2 · Wenn ViewDetails = 0 und PerLocation = 0

Eine Zeile mit Summen über alle versandfähigen Positionen.

Spalte Typ Beschreibung
Orders int

Anzahl unterschiedlicher Aufträge

OrderTotal
Kann leer sein
money
decimal

Summe von Price * Qty; NULL, wenn keine Positionen vorhanden sind

ShipCost money
decimal

Summe der Versandkosten, je Auftrag einmal gezählt

Picks
Kann leer sein
int

Summe der Mengen

dbCurrency
Kann leer sein
varchar(3)
string

Code der Datenbankwährung bei aktivierter Mehrwährung, sonst NULL

Result-Set 3 · Wenn ViewDetails = 1 und PerLocation = 1

Wie die obigen Detailzeilen, ergänzt um das Lager jeder Position.

Spalte Typ Beschreibung
OrderlineRef int

Schlüssel der Auftragsposition

OrderNr
Kann leer sein
int

Auftragsnummer

LocationId
Kann leer sein
varchar(3)
string

Lager der Auftragsposition

Qty int

Menge der Position

ItemRef int

Artikelschlüssel

Status
Kann leer sein
varchar(3)
string

Positionsstatus (ANG oder EIN)

ShipCost
Kann leer sein
money
decimal

Versandkosten des Auftrags

Price
Kann leer sein
money
decimal

Positionspreis

Shippable int

Immer 1

dbCurrency
Kann leer sein
varchar(3)
string

Code der Datenbankwährung bei aktivierter Mehrwährung, sonst NULL

Result-Set 4 · Wenn ViewDetails = 0 und PerLocation = 1

Eine Summenzeile je Lager; keine Zeilen, wenn nichts versandfähig ist.

Spalte Typ Beschreibung
Orders int

Anzahl unterschiedlicher Aufträge im Lager

LocationId
Kann leer sein
varchar(3)
string

Lager

OrderTotal
Kann leer sein
money
decimal

Summe von Price * Qty im Lager

ShipCost
Kann leer sein
money
decimal

Summe der Versandkosten, je Auftrag und Lager einmal gezählt

Picks
Kann leer sein
int

Summe der Mengen im Lager

dbCurrency
Kann leer sein
varchar(3)
string

Code der Datenbankwährung bei aktivierter Mehrwährung, sonst NULL

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:pixiReportGetShippableOrders>
      <!-- <ViewDetails>1</ViewDetails> -->
      <!-- <IncludePartDelivery>0</IncludePartDelivery> -->
      <!-- <OnlyPartDelivery>0</OnlyPartDelivery> -->
      <!-- <ShopId>HOH</ShopId> -->
      <!-- <IncludeOrdersWithAnyShipDate>0</IncludeOrdersWithAnyShipDate> -->
      <!-- <PerLocation>0</PerLocation> -->
    </ns1:pixiReportGetShippableOrders>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

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