Postman-Collection
Items Lesen

pixiGetItemInfoPickList

Liefert Artikelstammdaten für einen oder mehrere Artikel an einem Lager sowie offene Picklistenpositionen, gepackte Kartonmengen und einen kombinierten Statuscode.

Sucht einen oder mehrere Artikel und liefert deren Stammdaten zusammen mit Informationen zu Picklisten und Kartons, in denen sie aktuell vorkommen.

Prüfung

  • Sind ItemKey, EANUPC, ItemNrSuppl, ItemNrInt und ItemXML alle leer, liefert der Aufruf eine Zeile mit Status = 0 und einer Meldung, gefolgt von der abschließenden Statuszeile 0000. LocID allein genügt nicht. ItemKey = 0 gilt ebenfalls als leer.

Artikelsuche

  • Ein einzelner Artikel wird über COALESCE(EANUPC, ItemNrInt, ItemNrSuppl) in den scanbaren Artikelcodes ermittelt (pixi.ItemCode mit einem Codetyp, bei dem Scannable = 1 ist). Verwendet wird der erste Treffer. Ist ItemKey übergeben, hat er Vorrang vor der Code-Suche.
  • Zusätzlich kann ItemXML mehrere Artikel enthalten (/ITEMS/ITEM mit den Kindelementen ITEMNRINT, ITEMNRSUPPL, ITEMKEY, EAN). Jeder Eintrag findet Artikel, deren interne Nummer, EAN, Artikelschlüssel oder Lieferantenartikelnummer einem der Werte entspricht. Diese Artikel werden zum Einzelartikel aus den Parametern hinzugefügt.

Ergebnismengen bei Erfolg (in dieser Reihenfolge)

  1. Artikeldaten aus items, verknüpft mit den lagerspezifischen Werten aus ItemLocationSpecific für LocID (Bestand, Mindestbestand, Mindestbestellmenge), Kategoriename, MwSt-Stufe, Tags, ABC-Klasse, voraussichtliche Lieferzeit und Bildlinks.
  2. Picklistenpositionen: je Artikel und Pickliste die Anzahl nicht abgelaufener Picklistenpositionen, deren Auftragsposition nicht im Status AUS, NLB, RET, STO oder EIN ist. Bei gesetztem LocID nach dem Lager der Auftragsposition gefiltert.
  3. Kartonpositionen: je Artikel, Karton und verwendeter Picklistennummer die summierte Menge in Kartons für Auftragspositionen im Status EIN. Bei gesetztem LocID nach dem Lager der Auftragsposition gefiltert.
  4. Eine Statuszeile mit vierstelligem Code: Zugriff / Artikel gefunden / auf Pickliste / im Karton. Mögliche Werte sind 0000 (kein Parameter), 1000 (keine Artikeldaten gefunden), 1100, 1101, 1110 und 1111.

Hinweise

  • Die Ergebnismenge mit Artikeldaten verwendet einen INNER JOIN auf ItemLocationSpecific mit LocID = @LocID. Wird LocID nicht übergeben (NULL), werden keine Artikelzeilen geliefert und der Status lautet 1000, obwohl die Picklisten- und Kartonergebnisse weiterhin für alle Lager gefüllt werden.
  • Die Suche verwendet COALESCE; ein Leerstring in EANUPC (statt den Parameter wegzulassen) verhindert daher die Suche über ItemNrInt oder ItemNrSuppl.
  • Der XML-Abgleich verwendet ODER-Bedingungen; ein ITEM-Eintrag kann mehrere verschiedene Artikel treffen.
  • Wird derselbe Artikel mehrfach angegeben (z. B. über Parameter und XML), können die Picklisten- und Kartonergebnisse doppelte Zeilen enthalten; die Artikeldaten nicht.
  • Sum_PickListItem, Sum_BoxItem, PickListNr und BoxNr sind in ISNULL(..., '') gekapselt; bei numerischen Spalten wird ein leerer Wert zu 0.
  • Alle Lesezugriffe verwenden NOLOCK, daher können nicht festgeschriebene Daten geliefert werden. Die Picklisten- und Kartonaggregate werden vor der Filterung für alle Artikel berechnet, was bei großen Datenbanken langsam sein kann.
  • Ungültiges XML in ItemXML führt zu einem SQL-Fehler aus sp_xml_preparedocument.

Parameter

Parameter Typ Standardwert Beschreibung
ItemKey
int NULL

Interner Artikelschlüssel. Hat Vorrang vor der Code-Suche. 0 wird als leer behandelt.

Beispiel: 1234

ItemNrInt
varchar(50)
string
NULL

Interne Artikelnummer; wird für die Suche über scanbare Codes verwendet, wenn EANUPC NULL ist.

Beispiel: 4711

EANUPC
varchar(13)
string
NULL

EAN-/UPC-Code; wird als erster Wert für die Suche über scanbare Codes verwendet.

Beispiel: 4006381333931

ItemNrSuppl
varchar(50)
string
NULL

Lieferantenartikelnummer; wird für die Code-Suche verwendet, wenn EANUPC und ItemNrInt NULL sind.

Beispiel: SUP-4711

LocID
varchar(3)
string
NULL

Lager-ID. Erforderlich für die Ergebnismenge mit Artikeldaten (lagerspezifische Werte); filtert bei Angabe Picklisten- und Kartondaten nach dem Lager der Auftragsposition.

Beispiel: 001

ItemXML
varchar(max)
xml
NULL

Optionale Liste weiterer Artikel als XML (/ITEMS/ITEM, elementbasiert). Jeder Eintrag kann ITEMNRINT, ITEMNRSUPPL, ITEMKEY und EAN enthalten; jeder passende Wert wählt den Artikel aus.

Beispiel:

<ITEMS>
  <ITEM>
    <ITEMNRINT>4711</ITEMNRINT>
    <ITEMNRSUPPL>SUP-4711</ITEMNRSUPPL>
    <ITEMKEY>1234</ITEMKEY>
    <EAN>4006381333931</EAN>
  </ITEM>
  <ITEM>
    <ITEMNRINT>4712</ITEMNRINT>
    <ITEMNRSUPPL>SUP-4712</ITEMNRSUPPL>
    <ITEMKEY>1235</ITEMKEY>
    <EAN>4006381333948</EAN>
  </ITEM>
</ITEMS>

Antwort

Result-Set 1 · Nur wenn kein Artikelparameter (ItemKey, EANUPC, ItemNrSuppl, ItemNrInt, ItemXML) angegeben ist

Fehlerzeile der Prüfung.

Spalte Typ Beschreibung
Status varchar(1)
string

Immer 0.

StatusMsg varchar(37)
string

Fehlermeldung.

Result-Set 2 · Wenn mindestens ein Artikelparameter angegeben ist

Artikelstammdaten mit lagerspezifischen Werten für LocID; eine Zeile je gefundenem Artikel. Leer, wenn LocID NULL ist oder kein lagerspezifischer Datensatz existiert.

Spalte Typ Beschreibung
ItemKey int

Interner Artikelschlüssel.

SupplPrice
Kann leer sein
decimal

Lieferanten-Einkaufspreis.

ItemName
Kann leer sein
string

Artikelbezeichnung.

VPE decimal

Verpackungseinheit; 0, wenn nicht gesetzt.

MinStockQty
Kann leer sein
int

Mindestbestand am Lager, sonst aus dem Artikelstamm.

MinOrderQty
Kann leer sein
int

Mindestbestellmenge am Lager, sonst aus dem Artikelstamm.

SupplNR
Kann leer sein
string

Lieferantennummer.

Category
Kann leer sein
string

Kategoriename aus TontrArten (über ConfigType).

ItemNrInt
Kann leer sein
string

Interne Artikelnummer.

ItemNrSuppl1 string

Lieferantenartikelnummer, Leerstring bei NULL.

Quantity
Kann leer sein
int

Bestand am Lager, sonst aus dem Artikelstamm.

PriceVK
Kann leer sein
decimal

Verkaufspreis (items.Price).

VATLevel varchar(9)
string

MwSt_Low (MwStSatz 2), MwSt_Null (MwStSatz 3), sonst MwSt_High.

Enabled
Kann leer sein
boolean

Kennzeichen, ob der Artikel aktiv ist.

ItemTAGs
Kann leer sein
varchar(8000)
string

Tag-Namen des Artikels, sortiert und durch | getrennt.

EANUPC
Kann leer sein
string

EAN-/UPC-Code.

ItemNrSuppl
Kann leer sein
string

Lieferantenartikelnummer (Rohwert).

ABC
Kann leer sein
char(1)
string

ABC-Klasse aus den Tags A, B oder C; leer, wenn keiner vorhanden.

ExportEstimatedDelivery
Kann leer sein
string

Voraussichtliche Lieferzeit aus Item_EstimatedDelivery.

PicLinkLarge
Kann leer sein
string

Link zum großen Artikelbild.

PicLinkSmall
Kann leer sein
string

Link zum kleinen Artikelbild.

Result-Set 3 · Wenn mindestens ein Artikelparameter angegeben ist

Picklistenpositionen der gefundenen Artikel, eine Zeile je Artikel, Artikelnummer und Pickliste.

Spalte Typ Beschreibung
ItemRef
Kann leer sein
int

Artikelschlüssel der Auftragsposition.

ArtNr
Kann leer sein
string

Artikelnummer auf der Auftragsposition.

PickListNr int

Referenz auf den Picklistenkopf (PLIheaderRef).

Sum_PickListItem int

Anzahl nicht abgelaufener Picklistenpositionen.

Result-Set 4 · Wenn mindestens ein Artikelparameter angegeben ist

Kartonmengen der gefundenen Artikel für Auftragspositionen im Status EIN, eine Zeile je Artikel, Karton und verwendeter Pickliste.

Spalte Typ Beschreibung
ItemRef
Kann leer sein
int

Artikelschlüssel der Auftragsposition.

ArtNr
Kann leer sein
string

Artikelnummer (Maximum über die gruppierten Auftragspositionen).

BoxNr string

Kartonnummer.

Sum_BoxItem int

Summierte Menge des Artikels im Karton.

pickListNrUsed
Kann leer sein
string

Für die Auftragsposition verwendete Picklistennummer.

Result-Set 5 · Immer (letzte Ergebnismenge)

Kombinierter Statuscode: Stelle 1 = Parameter angegeben, 2 = Artikeldaten gefunden, 3 = auf Pickliste, 4 = im Karton.

Spalte Typ Beschreibung
Status
Kann leer sein
varchar(4)
string

0000, 1000, 1100, 1101, 1110 oder 1111.

Fehlermeldungen

Status Meldung Ursache
0 Please specify at least one parameter Keiner der Parameter `ItemKey`, `EANUPC`, `ItemNrSuppl`, `ItemNrInt` oder `ItemXML` wurde übergeben (oder `ItemKey` war 0). Mindestens eine Artikelkennung ü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:pixiGetItemInfoPickList>
      <!-- <ItemKey>1234</ItemKey> -->
      <!-- <ItemNrInt>4711</ItemNrInt> -->
      <!-- <EANUPC>4006381333931</EANUPC> -->
      <!-- <ItemNrSuppl>SUP-4711</ItemNrSuppl> -->
      <!-- <LocID>001</LocID> -->
      <!-- <ItemXML><![CDATA[<ITEMS><ITEM><ITEMNRINT>4711</ITEMNRINT><ITEMNRSUPPL>SUP-4711</ITEMNRSUPPL><ITEMKEY>1234</ITEMKEY><EAN>4006381333931</EAN></ITEM><ITEM><ITEMNRINT>4712</ITEMNRINT><ITEMNRSUPPL>SUP-4712</ITEMNRSUPPL><ITEMKEY>1235</ITEMKEY><EAN>4006381333948</EAN></ITEM></ITEMS>]]></ItemXML> -->
    </ns1:pixiGetItemInfoPickList>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

items · Lesen Item_EstimatedDelivery · Lesen TontrArten · Lesen ItemLocationSpecific · Lesen Orderlines · Lesen PLitem · Lesen boxitems · Lesen boxes · Lesen ItemCode · Lesen ItemCodeType · Lesen Tag · Lesen TagMatch · Lesen
SQL-Objekt:
dbo.pipiGetItemInfoPickList
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben