pixiMobixGetBinItemInfo
Liefert die Artikel mit positivem Bestand auf einem Lagerplatz (oder allen Lagerplätzen) inkl. Tags, Lieferantennummern, offenen Picklisten und gepackten Mengen.
Listet alle Artikel, die aktuell Bestand auf einem Lagerplatz haben; gedacht für den mobilen Lagerclient Mobix.
Lagerplatzbestand
- Lagerplätze (
InvBin) werden mit dem Lagerplatz-Artikel-Log (InvBinItemLog, verknüpft über Lagerplatz und Lager) und dem Artikelstamm (items) verbunden. - Ist
BinNameangegeben, werden nur Lagerplätze mit genau diesem Namen berücksichtigt (in jedem Lager). Fehlt der Parameter oder ist erNULL, werden alle Lagerplätze ausgewertet. - Die Mengen werden je Lagerplatz und Artikel summiert; nur Kombinationen mit einer Summe größer 0 werden geliefert.
Zusätzliche Artikelinformationen
Tags: Namen der dem Artikel zugeordneten Artikel-Tags, alphabetisch sortiert, kommagetrennt.ItemNrSuppls: eindeutige Lieferanten-Artikelnummern ausadditems.SupplNrs: Lieferantennummern ausadditems.
Picklisten-Informationen
- Auftragspositionen des Artikels, die auf einer nicht abgelaufenen Picklistenposition stehen (
PLitem.Expired = 0) und deren Status nichtAUS,NLB,RET,STOoderEINist, werden je Pickliste gezählt. PicklistsUsedlistet die Picklisten-Kopfreferenzen,QtyOnPiclistsdie Anzahl der Picklistenpositionen.
Karton-Informationen
- Auftragspositionen mit Status
EIN, die in Kartons gepackt sind (boxitems,boxes), werden je Karton summiert. BoxesUsedlistet die Kartonnummern,QtyInBoxesdie gepackte Menge.
LocId schränkt nur die Picklisten- und Karton-Informationen auf Auftragspositionen dieses Lagers ein (Orderlines.LocationID). Ein leerer Wert oder NULL bedeutet alle Lager. Der Lagerplatzbestand selbst wird nicht nach LocId gefiltert.
Eine explizite Sortierung erfolgt nicht.
Hinweise
- Alle Tabellen werden mit
NOLOCKgelesen; das Ergebnis kann nicht festgeschriebene Daten enthalten. QtyOnPiclistsundQtyInBoxeswerden über skalare Unterabfragen ermittelt. Liegt ein Artikel auf mehr als einer Pickliste oder in mehr als einem Karton, löst SQL Server den Fehler 512 aus (Unterabfrage liefert mehr als einen Wert) und der Aufruf schlägt fehl.- Liegt derselbe Artikel im Ergebnis auf mehreren Lagerplätzen, wird die Picklisten-Anzahl durch den Join mit der Lagerplatzliste mit der Anzahl dieser Lagerplätze multipliziert.
- Die Listen in
Tags,ItemNrSuppls,SupplNrs,PicklistsUsedundBoxesUsedentstehen durch String-Verkettung und enden meist mit einem Komma; Trennzeichen können zusätzliche Leerzeichen enthalten. - Der Statusfilter für Picklisten verwendet eine nicht qualifizierte Spalte
Status; vermutlich handelt es sich um den Status der Auftragsposition. - Ohne
BinNamewerden alle Lagerplätze mit Bestand ausgewertet; das kann langsam sein und viele Zeilen liefern.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
BinName
|
varchar(50) string |
NULL |
Name des auszuwertenden Lagerplatzes. Beispiel: |
LocId
|
varchar(3) string |
NULL |
Lager-ID, mit der die Picklisten- und Karton-Informationen auf Auftragspositionen dieses Lagers eingeschränkt werden. Beispiel: |
Antwort
Result-Set 1 · Immer (kann leer sein, wenn kein Lagerplatzartikel positiven Bestand hat).
Eine Zeile je Lagerplatz und Artikel mit positivem Bestand.
| Spalte | Typ | Beschreibung |
|---|---|---|
BinKey
|
int |
Schlüssel des Lagerplatzes. |
BinName
|
varchar(50) string |
Name des Lagerplatzes. |
BinLocID
|
varchar(3) string |
Lager des Lagerplatzes. |
ItemName
Kann leer sein |
string |
Artikelbezeichnung. |
EANUPC
Kann leer sein |
string |
EAN/UPC des Artikels. |
WebPic
Kann leer sein |
string |
Bildreferenz des Artikels. |
BinQty
|
decimal |
Bestand des Artikels auf dem Lagerplatz (Summe der Mengen im Lagerplatz-Artikel-Log, immer > 0). |
Tags
|
nvarchar(max) string |
Kommagetrennte Namen der Artikel-Tags, alphabetisch sortiert; Leerstring, wenn keine vorhanden. |
ItemNrSuppls
|
nvarchar(max) string |
Kommagetrennte eindeutige Lieferanten-Artikelnummern; Leerstring, wenn keine vorhanden. |
SupplNrs
|
nvarchar(max) string |
Kommagetrennte Lieferantennummern des Artikels; Leerstring, wenn keine vorhanden. |
PicklistsUsed
|
nvarchar(max) string |
Kommagetrennte Picklisten-Kopfreferenzen mit offenen Picklistenpositionen für den Artikel; Leerstring, wenn keine vorhanden. |
QtyOnPiclists
|
int |
Anzahl offener Picklistenpositionen des Artikels; 0, wenn keine vorhanden. |
BoxesUsed
|
nvarchar(max) string |
Kommagetrennte Nummern der Kartons, die den Artikel aus Auftragspositionen mit Status |
QtyInBoxes
|
decimal |
In Kartons gepackte Menge des Artikels; 0, wenn keine vorhanden. |
Beispielantwort
<SqlRowSet1>
<row>
<BinKey>1523</BinKey>
<BinName>A-01-03</BinName>
<BinLocID>001</BinLocID>
<ItemName>T-Shirt Basic Black M</ItemName>
<EANUPC>4012345678901</EANUPC>
<WebPic>tshirt_black.jpg</WebPic>
<BinQty>12</BinQty>
<Tags>Cotton, Sale,</Tags>
<ItemNrSuppls>TS-BLK-M, </ItemNrSuppls>
<SupplNrs>70001, </SupplNrs>
<PicklistsUsed>4711, </PicklistsUsed>
<QtyOnPiclists>2</QtyOnPiclists>
<BoxesUsed/>
<QtyInBoxes>0</QtyInBoxes>
</row>
</SqlRowSet1>
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:pixiMobixGetBinItemInfo>
<!-- <BinName>A-01-03</BinName> -->
<!-- <LocId>001</LocId> -->
</ns1:pixiMobixGetBinItemInfo>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
curl -X POST 'https://apigateway.descartes.com/tms/pixi/' \
--user 'USERNAME:PASSWORD' \
--header 'Content-Type: text/xml; charset=utf-8' \
--data-binary @- <<'XML'
<?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:pixiMobixGetBinItemInfo>
<!-- <BinName>A-01-03</BinName> -->
<!-- <LocId>001</LocId> -->
</ns1:pixiMobixGetBinItemInfo>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML
<?php
$soapClient = new SoapClient(null, [
'login' => 'USERNAME',
'password' => 'PASSWORD',
'location' => 'https://apigateway.descartes.com/tms/pixi/',
'uri' => 'https://apigateway.descartes.com/tms/pixi/',
]);
$arguments = [
// 'BinName' => 'A-01-03',
// 'LocId' => '001',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiMobixGetBinItemInfo', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiMobixGetBinItemInfo