Postman-Collection
Stock Lesen

pixiGetItemStockHistory

Liefert die Lagerplatz-Bestandshistorie eines Artikels, ermittelt über Artikelschlüssel, EAN, Lieferanten- oder interne Artikelnummer, mit Paging.

Liefert das Bestandsbewegungsprotokoll eines Artikels je Lagerplatz, ähnlich der Lagerplatzhistorie im Pixi-Client.

  1. Artikelsuche: Der Artikel wird in items über die gefüllten Kennungen gesucht, die per ODER verknüpft sind: ItemKey (wenn nicht 0/NULL), EANUPC = EAN, ItemNrSuppl oder ItemNrInt (jeweils nur wenn nicht leer). Verwendet wird der erste Treffer (TOP 1, ohne Sortierung).
  2. Wird kein Artikel gefunden, kommt eine einzelne Statuszeile mit Status = Error zurück und der Aufruf endet.
  3. Andernfalls werden die Protokolleinträge des Artikels aus InvBinItemLog geladen, absteigend nach Protokollschlüssel (neueste zuerst) nummeriert, und die über PageNumber und PageSize bestimmte Seite wird ausgewählt.
  4. Der Lagerplatzname stammt aus dem aktuellen Lagerplatz (InvBin). Existiert der Lagerplatz nicht mehr, wird der Name aus der Lagerplatzhistorie (InvBinHist) samt Historienbemerkung genommen.
  5. Namen von Bestandsbewegungsvorgang und -typ werden in die über LanguageID angegebene Sprache übersetzt. SMTName besteht aus der Typnummer, einem Leerzeichen und dem übersetzten Typnamen.
  6. Einträge mit UpdateEmp = AutoExport werden nach dem Paging aus dem Ergebnis entfernt.

Hinweise

  • Alle Lesezugriffe verwenden NOLOCK; das Ergebnis kann nicht festgeschriebene Daten enthalten.
  • Werden mehrere Kennungen übergeben, sind sie per ODER verknüpft; es kann ein beliebiger passender Artikel gewählt werden. Für ein eindeutiges Ergebnis nur eine Kennung übergeben.
  • Der Filter auf AutoExport greift nach dem Paging, daher kann eine Seite weniger Zeilen als PageSize enthalten. TotalPages wird aus allen Protokolleinträgen berechnet, einschließlich der gefilterten.
  • TotalPages ergibt sich aus der ganzzahligen Division der Gesamtzeilen durch PageSize plus 1. Ist die Gesamtzahl ein exaktes Vielfaches von PageSize, wird eine zusätzliche (leere) Seite gemeldet.
  • Die abschließende Abfrage hat kein explizites ORDER BY. Die Zeilen kommen in der Regel, aber ohne Garantie, mit den neuesten zuerst.
  • SMOName/SMTName sind NULL, wenn für die angegebene LanguageID keine Übersetzung existiert.
  • Die Prozedur gibt den Rückgabewert 1 zurück, wenn kein Artikel gefunden wird.

Parameter

Parameter Typ Standardwert Beschreibung
ItemKey
int NULL

Interner Schlüssel des Artikels. Wird bei NULL oder 0 ignoriert.

Beispiel: 12345

EAN
varchar(13)
string
NULL

EAN/UPC des Artikels (Vergleich mit EANUPC). Wird ignoriert, wenn leer.

Beispiel: 4006381333931

ItemNrSuppl
varchar(50)
string
NULL

Lieferanten-Artikelnummer. Wird ignoriert, wenn leer.

Beispiel: SUP-778899

ItemNrInt
varchar(50)
string
NULL

Interne Artikelnummer. Wird ignoriert, wenn leer.

Beispiel: ART-100200

LanguageID
int 2

Sprache für die Übersetzung der Namen von Bestandsbewegungsvorgängen und -typen.

Beispiel: 2

PageSize
int 10000

Anzahl der Protokolleinträge pro Seite (vor dem Filter auf AutoExport).

Beispiel: 100

PageNumber
int 1

Zurückzugebende Seite, beginnend bei 1.

Beispiel: 1

Antwort

Result-Set 1 · Wenn kein Artikel zu den angegebenen Kennungen passt

Statuszeile, dass kein Artikel gefunden wurde.

Spalte Typ Beschreibung
Status varchar(5)
string

Immer Error.

Message varchar(44)
string

Fehlertext.

Result-Set 2 · Wenn ein Artikel gefunden wurde

Eine Zeile je Lagerplatz-Protokolleintrag des Artikels auf der angeforderten Seite, ohne Einträge von AutoExport.

Spalte Typ Beschreibung
Qty int

Menge des Protokolleintrags.

UpdateEmp varchar(100)
string

Mitarbeiter oder Prozess, der die Änderung vorgenommen hat.

UpdateDate
Kann leer sein
datetime
dateTime

Datum und Uhrzeit der Änderung.

BinName
Kann leer sein
varchar(151)
string

Name des Lagerplatzes; bei gelöschten Lagerplätzen der historische Name plus Historienbemerkung.

LocID varchar(3)
string

Lager-ID (Standort) des Protokolleintrags.

ForOrderline
Kann leer sein
int

Auftragsposition, auf die sich die Bewegung bezieht, falls vorhanden.

Reason
Kann leer sein
varchar(50)
string

Begründungstext der Bewegung.

SMOName
Kann leer sein
varchar(512)
string

Übersetzter Name des Bestandsbewegungsvorgangs.

SMTName
Kann leer sein
varchar(517)
string

Nummer des Bestandsbewegungstyps gefolgt vom übersetzten Namen.

TotalPages
Kann leer sein
int

Gesamtzahl der Seiten auf Basis aller Protokolleinträge des Artikels.

Fehlermeldungen

Status Meldung Ursache
Error No item was found for the given parameters! Keine der übergebenen Kennungen (`ItemKey`, `EAN`, `ItemNrSuppl`, `ItemNrInt`) passt zu einem Artikel, oder es wurde keine übergeben. Mindestens eine gültige Kennung übergeben.

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:pixiGetItemStockHistory>
      <!-- <ItemKey>12345</ItemKey> -->
      <!-- <EAN>4006381333931</EAN> -->
      <!-- <ItemNrSuppl>SUP-778899</ItemNrSuppl> -->
      <!-- <ItemNrInt>ART-100200</ItemNrInt> -->
      <!-- <LanguageID>2</LanguageID> -->
      <!-- <PageSize>100</PageSize> -->
      <!-- <PageNumber>1</PageNumber> -->
    </ns1:pixiGetItemStockHistory>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

items · Lesen InvBinItemLog · Lesen InvBin · Lesen InvBinHist · Lesen StockMovementOperations · Lesen StockMovementTypes · Lesen Translation · Lesen
SQL-Objekt:
dbo.pipiGetItemStockHistory
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben