Postman-Collection
Orders Lesen

pixiReportGetShippableOrdersV2

Liefert offene Aufträge bzw. Auftragspositionen, die mit dem aktuellen Bestand versendet werden können, als Details oder Summen, optional je Lager.

Ermittelt, welche offenen Aufträge mit dem aktuellen Bestand versendet werden können, und liefert sie als Positionsdetails oder als Summen.

1. Kandidaten-Aufträge

  • Berücksichtigt werden nur Auftragspositionen im Status ANG oder EIN (soweit in OrderStates vorhanden) mit ItemRef und Qty > 0. Ersatzpositionen ohne Artikel entfallen.
  • ShopId: nur Aufträge, deren Kunde CustomerOf = @ShopId hat. Ein Leerstring (Standard) bedeutet alle Shops.
  • Aufträge mit gesperrter Liefer- oder Rechnungsadresse (ASlocked = 'Y') werden ausgeschlossen.
  • Aufträge mit gesperrtem Kopf (OhSLocked = 'Y') werden ausgeschlossen.
  • Versanddatum: standardmäßig nur Aufträge ohne Versanddatum oder mit Versanddatum vor morgen. Mit IncludeOrdersWithAnyShipDate = 1 wird das Versanddatum ignoriert.

2. Bestandsprüfung Für jede Kandidatenposition entscheidet die interne Prozedur pixi_CalculateStockForOrderLines, ob sie versandfähig ist. Verwendet wird der Bestand der Lager mit SpecialStock = 0. Frühere Reservierungen und ältere nicht reservierte Auftragspositionen (FIFO nach Reservierungsdatum bzw. Positionsschlüssel) werden vom Bestand abgezogen. Positionen im Status EIN gelten immer als versandfähig. UseFIFObyLocationV2 legt fest, ob je Lager der Position (1) oder über alle Lager summiert (0) geprüft wird. NULL bedeutet, dass der Wert der Einstellung UseFIFObyLocation gilt.

3. Filter Teillieferung

  • OnlyPartDelivery = 0, IncludePartDelivery = 0: alle Positionen von Aufträgen, bei denen jede Kandidatenposition versandfähig ist (nur vollständige Aufträge).
  • OnlyPartDelivery = 0, IncludePartDelivery = 1: alle versandfähigen Positionen, unabhängig davon, ob der Auftrag vollständig ist.
  • OnlyPartDelivery = 1: nur versandfähige Positionen von Aufträgen, die auch mindestens eine nicht versandfähige Position enthalten. IncludePartDelivery wird ignoriert.

4. Währung Ist die Einstellung MultiCurrencyEnabled gleich 1, werden Price und ShipCost durch den Kurs der Datenbankwährungs-Kursquelle für Währung und Kursdatum des Auftrags geteilt. Das Ergebnis liegt in Datenbankwährung vor, dbCurrency enthält deren Code. Wird kein passender Kurs gefunden, bleiben die Beträge unverändert. Ohne Mehrwährung werden die Beträge wie gespeichert geliefert und dbCurrency ist NULL.

5. Ausgabe (genau eine Ergebnismenge, abhängig von ViewDetails und PerLocation)

  • ViewDetails = 1, PerLocation = 0: eine Zeile je Position, sortiert nach OrderNr, OrderlineRef.
  • ViewDetails = 0, PerLocation = 0: eine Summenzeile mit Anzahl Aufträge, Auftragswert (Price * Qty), Versandkosten und Picks.
  • ViewDetails = 1, PerLocation = 1: wie die Details, zusätzlich mit Spalte LocationId.
  • ViewDetails = 0, PerLocation = 1: eine Summenzeile je Lager.

Hinweise

  • Alle Lesezugriffe erfolgen mit NOLOCK. Das Ergebnis kann nicht festgeschriebene Daten enthalten und ist nur eine Momentaufnahme; es wird nichts reserviert oder geändert.
  • NULL für ViewDetails, IncludePartDelivery, OnlyPartDelivery und PerLocation wird als 0 behandelt. Eine leere ShopId gilt als "alle Shops". NULL für IncludeOrdersWithAnyShipDate wirkt wie 0.
  • Einstellungen mit Einfluss auf das Verhalten:
    • MultiCurrencyEnabled: Währungsumrechnung und Spalte dbCurrency.
    • HomeCurrency und DatabaseCurrencyExchRateSourceId: verwendete Datenbankwährung und Kursquelle.
    • UseFIFObyLocation: gilt, wenn UseFIFObyLocationV2 NULL ist.
  • Ob ein Auftrag "vollständig" ist, wird nur anhand seiner ANG/EIN-Positionen mit Artikel und positiver Menge beurteilt. Positionen in anderen Status werden ignoriert.
  • ShipCost sind die Versandkosten aus dem Auftragskopf und stehen auf jeder Position. In den Summen werden sie einmal je Auftrag addiert. In den Summen je Lager werden sie einmal je Auftrag und Lager addiert; ein Auftrag über mehrere Lager zählt seine Versandkosten daher in jedem dieser Lager.
  • Bei der Gesamtsumme (ViewDetails = 0, PerLocation = 0) wird immer eine Zeile geliefert. Ist nichts versandfähig, gilt Orders = 0 und ShipCost = 0, OrderTotal/Picks sind NULL. Die Summen je Lager liefern in diesem Fall keine Zeilen.
  • Ein Kommentar im Code bezeichnet PerLocation als "alte Variante".
  • Die interne Bestandsprozedur ruft log.EventDurationInsert auf (Definition nicht beigefügt), das vermutlich einen Laufzeit-Logeintrag schreibt.
  • Der Aufruf durchsucht alle offenen ANG/EIN-Positionen samt Reservierungen und kann bei großen Datenbanken aufwendig sein.

Parameter

Parameter Typ Standardwert Beschreibung
ViewDetails
bit
boolean
NULL

1 liefert eine Zeile je Auftragsposition, 0 (oder NULL) liefert Summen.

Erlaubte Werte

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

Beispiel: 1

IncludePartDelivery
bit
boolean
NULL

Bei OnlyPartDelivery = 0: 1 liefert alle versandfähigen Positionen, auch von nur teilweise versendbaren Aufträgen. 0 liefert nur vollständige Aufträge. Wird bei OnlyPartDelivery = 1 ignoriert.

Erlaubte Werte

  • 0 – Nur vollständige Aufträge (Standard bei NULL)
  • 1 – Alle versandfähigen Positionen inkl. Teillieferungen

Beispiel: 0

OnlyPartDelivery
bit
boolean
NULL

1 liefert nur die versandfähigen Positionen von Aufträgen, die auch nicht versandfähige Positionen enthalten (Teillieferungen).

Erlaubte Werte

  • 0 – Filter gemäß IncludePartDelivery (Standard bei NULL)
  • 1 – Nur Teillieferungen

Beispiel: 0

ShopId
varchar(3)
string
–

Shop-Kürzel. Es werden nur Aufträge von Kunden mit CustomerOf gleich diesem Wert geliefert. Leer bedeutet alle Shops.

Beispiel: HOH

IncludeOrdersWithAnyShipDate
bit
boolean
0

0: nur Aufträge ohne Versanddatum oder mit Versanddatum bis heute. 1: das Versanddatum wird ignoriert.

Erlaubte Werte

  • 0 – Versanddatum bis heute oder leer
  • 1 – Beliebiges Versanddatum

Beispiel: 0

PerLocation
bit
boolean
0

1 ergänzt LocationId in den Details bzw. gruppiert die Summen je Lager. Im Code als "alte Variante" bezeichnet.

Erlaubte Werte

  • 0 – Ohne Aufteilung nach Lager
  • 1 – Aufteilung nach Lager

Beispiel: 0

UseFIFObyLocationV2
bit
boolean
NULL

Steuert die Bestandsprüfung: 1 prüft den Bestand des Lagers der Position, 0 den Gesamtbestand aller Lager ohne Sonderbestand. NULL verwendet die Einstellung UseFIFObyLocation.

Erlaubte Werte

  • 0 – Bestand über alle Lager summiert
  • 1 – Bestand je Lager der Position

Beispiel: 1

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
Kann leer sein
int

Bestellmenge der Position

ItemRef
Kann leer sein
int

Artikelreferenz

Status
Kann leer sein
varchar(3)
string

Positionsstatus (ANG oder EIN)

ShipCost
Kann leer sein
money
decimal

Versandkosten aus dem Auftragskopf, bei Mehrwährung in Datenbankwährung umgerechnet

Price
Kann leer sein
money
decimal

Einzelpreis der Position, bei Mehrwährung in Datenbankwährung umgerechnet

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 (Standard)

Eine einzelne Zeile mit Summen über alle ermittelten Positionen.

Spalte Typ Beschreibung
Orders int

Anzahl unterschiedlicher Aufträge

OrderTotal
Kann leer sein
money
decimal

Summe aus Price * Qty

ShipCost money
decimal

Summe der Versandkosten, einmal je Auftrag

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

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

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
Kann leer sein
int

Bestellmenge der Position

ItemRef
Kann leer sein
int

Artikelreferenz

Status
Kann leer sein
varchar(3)
string

Positionsstatus (ANG oder EIN)

ShipCost
Kann leer sein
money
decimal

Versandkosten aus dem Auftragskopf, bei Mehrwährung in Datenbankwährung umgerechnet

Price
Kann leer sein
money
decimal

Einzelpreis der Position, bei Mehrwährung in Datenbankwährung umgerechnet

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 mit Positionen in diesem Lager

LocationId
Kann leer sein
varchar(3)
string

Lager

OrderTotal
Kann leer sein
money
decimal

Summe aus Price * Qty in diesem Lager

ShipCost
Kann leer sein
money
decimal

Summe der Versandkosten, einmal je Auftrag in diesem Lager

Picks
Kann leer sein
int

Summe der Mengen in diesem 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:pixiReportGetShippableOrdersV2>
      <!-- <ViewDetails>1</ViewDetails> -->
      <!-- <IncludePartDelivery>0</IncludePartDelivery> -->
      <!-- <OnlyPartDelivery>0</OnlyPartDelivery> -->
      <!-- <ShopId>HOH</ShopId> -->
      <!-- <IncludeOrdersWithAnyShipDate>0</IncludeOrdersWithAnyShipDate> -->
      <!-- <PerLocation>0</PerLocation> -->
      <!-- <UseFIFObyLocationV2>1</UseFIFObyLocationV2> -->
    </ns1:pixiReportGetShippableOrdersV2>
  </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 ItemLocationSpecific · Lesen Reservation · Lesen
SQL-Objekt:
dbo.pipiReportGetShippableOrdersV2
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben