Postman-Collection
Stock Lesen

pixiGetItemStockOnForOrder2Store

Liefert den physischen und verfügbaren Bestand von Artikeln je Lagerort sowie eine zusammengefasste Zeile 'All' je Artikel unter Berücksichtigung offener Aufträge bzw. Reservierungen.

Liefert je Artikel und Lagerort (ItemLocationSpecific verknüpft mit Location) eine Zeile und zusätzlich, per UNION kombiniert, je Artikel eine Zeile mit Location = All.

Zur Laufzeit gelesene Einstellungen

  • HalOrdersActiveDays: Anzahl Tage, die Auftragspositionen im Status HAL als offen gelten. Der Wert 0 wird durch 7 ersetzt.
  • ReservePrepaymentOrders: bei 1 wird die Verfügbarkeit aus Reservierungen berechnet, sonst aus offenen Auftragspositionen.

Zeilen je Lagerort

  • PhysicalQTY ist die LocationQuantity des Artikels auf diesem Lagerort.
  • OpenOrders ist die Summe von Qty der Auftragspositionen des Artikels auf diesem Lagerort mit Status ANG oder Status HAL und einem OrderDate innerhalb der letzten HalOrdersActiveDays Tage.
  • ReservedOrders ist die Anzahl der Reservierungsdatensätze des Artikels, deren Auftragsposition auf diesem Lagerort liegt und einen nicht finalen Auftragsstatus außer EIN, FUT, FUS hat.
  • AvailQTY = PhysicalQTY abzüglich ReservedOrders (Reservierung aktiv) bzw. abzüglich OpenOrders (Reservierung inaktiv).
  • SpecialStock ist das Sonderbestand-Kennzeichen des Lagerorts.
  • Gefiltert nach LocationId, falls angegeben.

Zeilen 'All'

  • PhysicalQTY ist der Gesamtbestand des Artikels (Items.Quantity).
  • OpenOrders und ReservedOrders werden wie oben, jedoch über alle Lagerorte berechnet.
  • AvailQTY = Gesamtbestand abzüglich des Bestands auf Sonderbestand-Lagerorten (Location.SpecialStock = 1) abzüglich ReservedOrders bzw. OpenOrders (je nach Einstellung).
  • SpecialStock ist immer 0.
  • LocationId wird auf diese Zeilen nicht angewendet; sie werden für die ausgewählten Artikel immer geliefert.

Artikelauswahl Die Artikelparameter ItemKey, EAN, ItemNrSuppl und ItemNrInt werden mit ODER verknüpft, und jede Bedingung ist erfüllt, wenn der jeweilige Parameter NULL ist. Folgen siehe Hinweise. Eine Sortierung ist nicht definiert.

Hinweise

  • Filterfalle: Da die vier Artikelbedingungen mit ODER verknüpft sind und jede bei NULL erfüllt ist, liefert das Weglassen eines beliebigen der Parameter ItemKey, EAN, ItemNrSuppl, ItemNrInt alle Artikel. Die Übergabe nur von ItemKey schränkt das Ergebnis daher nicht ein. Erst wenn alle vier Parameter gefüllt sind, werden die Artikel geliefert, die mindestens einem davon entsprechen.
  • Ohne Filter liefert der Aufruf Zeilen für jeden Artikel und Lagerort; das kann wegen der korrelierten Unterabfragen je Zeile sehr umfangreich und langsam sein.
  • Der Ausgabeparameter Quantity wird im Code nie gesetzt und unverändert zurückgegeben.
  • ReservedOrders zählt Reservierungsdatensätze, keine Mengen.
  • Existiert die Einstellung HalOrdersActiveDays nicht, ist das Stichtagsdatum NULL und Auftragspositionen im Status HAL werden nie als offen gezählt.
  • Ein Code-Kommentar nennt 14 Tage für HAL-Aufträge, der tatsächliche Zeitraum stammt jedoch aus HalOrdersActiveDays (7, falls auf 0 gesetzt).
  • Alle Tabellen werden mit NOLOCK gelesen; Werte können nicht festgeschriebene Daten enthalten.

Parameter

Parameter Typ Standardwert Beschreibung
ItemKey
int NULL

Interner Artikelschlüssel. Wirkt nur als Filter, wenn auch alle anderen Artikelparameter gesetzt sind (siehe Hinweise).

Beispiel: 12345

EAN
varchar(13)
string
NULL

EAN/UPC des Artikels (Items.EANUPC). Mit den anderen Artikelparametern ODER-verknüpft.

Beispiel: 4006381333931

ItemNrSuppl
varchar(50)
string
NULL

Lieferanten-Artikelnummer (Items.ItemNrSuppl). Mit den anderen Artikelparametern ODER-verknüpft.

Beispiel: SUP-4711

ItemNrInt
varchar(50)
string
NULL

Interne Artikelnummer (Items.ItemNrInt). Mit den anderen Artikelparametern ODER-verknüpft.

Beispiel: ART-10001

LocationId
varchar(50)
string
NULL

Beschränkt die Zeilen je Lagerort auf diese Lagerort-ID. NULL liefert alle Lagerorte. Wirkt nicht auf die Zeilen 'All'.

Beispiel: 001

Quantity
OUTPUT
int NULL

Ausgabeparameter, der im Code nie gesetzt wird; er wird unverändert zurückgegeben.

Antwort

Result-Set 1 · Immer

Bestandszeilen je Artikel und Lagerort sowie eine Zeile 'All' je Artikel; unsortiert.

Spalte Typ Beschreibung
Location string

Lagerort-ID (ItemLocationSpecific.LocID) oder das Literal All für die zusammengefasste Zeile.

ItemKey int

Interner Artikelschlüssel.

PhysicalQTY
Kann leer sein
int

Physischer Bestand: LocationQuantity auf dem Lagerort bzw. Items.Quantity für die Zeile 'All'.

OpenOrders int

Summe der Mengen offener Auftragspositionen (Status ANG oder HAL innerhalb der konfigurierten Tage) auf dem Lagerort bzw. über alle Lagerorte.

ReservedOrders int

Anzahl der Reservierungsdatensätze zu Auftragspositionen in nicht finalen Status außer EIN, FUT, FUS.

AvailQTY
Kann leer sein
int

Verfügbarer Bestand: physischer Bestand abzüglich Reservierungen bzw. offener Aufträge (je nach ReservePrepaymentOrders); bei 'All' zusätzlich abzüglich Bestand auf Sonderbestand-Lagerorten.

SpecialStock
Kann leer sein
int

Sonderbestand-Kennzeichen des Lagerorts (Location.SpecialStock); bei der Zeile 'All' immer 0.

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:pixiGetItemStockOnForOrder2Store>
      <!-- <ItemKey>12345</ItemKey> -->
      <!-- <EAN>4006381333931</EAN> -->
      <!-- <ItemNrSuppl>SUP-4711</ItemNrSuppl> -->
      <!-- <ItemNrInt>ART-10001</ItemNrInt> -->
      <!-- <LocationId>001</LocationId> -->
      <!-- <Quantity>?</Quantity> -->
    </ns1:pixiGetItemStockOnForOrder2Store>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

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