pixiGetItemStockOnLocations
Liefert den physischen Bestand eines Artikels je Lagerplatz sowie eine Summenzeile 'All' mit physischem, verfügbarem und real verfügbarem Bestand.
Liefert Bestandszahlen für einen Artikel, entweder auf allen Lagerplätzen oder auf einem einzelnen Lagerplatz.
- Artikelsuche: Ist
ItemKeyangegeben, wird dieser direkt verwendet. Andernfalls wird der Artikel inpixi.ItemCodeüberEAN,ItemNrSupploderItemNrIntgesucht. Ein Code passt, wenn er einem der drei Werte entspricht und den Codetyp 1, 2 oder 4 hat. Der erste Treffer wird verwendet (TOP 1). - Summenzeile: Aus
itemswird eine Zeile mitLocation=Allgebildet:PhysicalQTY= ArtikelbestandAvailQTY= Bestand minus Sonderbestand (ItemQtyIBISpecialStock_1) minus offene ReservierungenRealQtyAvail= Bestand minus Sonderbestand minus offene AuftragspositionenSpecialStock= 0
- Lagerplatzzeilen: Für jeden Eintrag in
ItemLocationSpecificdes Artikels wird eine Zeile mit der Lagerplatz-ID, dem Lagerplatzbestand alsPhysicalQTYund demSpecialStock-Kennzeichen des Lagerplatzes geliefert. IstLocationIdgesetzt (nicht leer), wird nur der Lagerplatz mit dieserLocIDgeliefert. - Lagerplatzzeilen und Summenzeile werden per
UNIONzusammengeführt; identische Zeilen werden dabei entfernt.
Die Zeile All ist immer Teil des Ergebnisses, sofern der Artikel existiert, auch wenn LocationId gesetzt ist. Wird kein Artikel gefunden, ist die Ergebnismenge leer.
Hinweise
AvailQTYundRealQtyAvailsind Werte auf Artikelebene; sie werden unverändert in jeder Lagerplatzzeile wiederholt und nicht je Lagerplatz berechnet.- Der Ausgabeparameter
Quantitywird von der Prozedur nie gesetzt; er liefert nur den übergebenen Wert zurück (StandardNULL). - Die Artikelsuche über Codes verwendet
TOP 1ohneORDER BY. Teilen sich mehrere Artikel einen Code, ist nicht festgelegt, welcher Artikel verwendet wird. Die Bedeutung der Codetypen 1, 2 und 4 ist im Code nicht definiert. - Kein
ORDER BYim Ergebnis: Die Reihenfolge der Zeilen (auch die Position der ZeileAll) ist nicht garantiert. - Alle Tabellen werden mit
NOLOCKgelesen; nicht festgeschriebene Daten können geliefert werden.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
ItemKey
|
int | NULL |
Interner Schlüssel des Artikels. Ist er gesetzt, werden die Code-Parameter ignoriert. Beispiel: |
EAN
|
varchar(13) string |
NULL |
EAN zur Artikelsuche, wenn Beispiel: |
ItemNrSuppl
|
varchar(50) string |
NULL |
Lieferanten-Artikelnummer zur Artikelsuche, wenn Beispiel: |
ItemNrInt
|
varchar(50) string |
NULL |
Interne Artikelnummer zur Artikelsuche, wenn Beispiel: |
LocationId
|
varchar(50) string |
NULL |
Lagerplatz-ID ( Beispiel: |
Quantity
OUTPUT
|
int | NULL |
Ausgabeparameter, der von der Prozedur nie gesetzt wird; er liefert den übergebenen Wert zurück. |
Antwort
Result-Set 1 · Immer; leer, wenn kein Artikel gefunden wird.
Eine Zeile je Lagerplatz des Artikels (optional gefiltert) plus eine Summenzeile mit Location = All.
| Spalte | Typ | Beschreibung |
|---|---|---|
Location
Kann leer sein |
varchar(50) string |
Lagerplatz-ID oder |
ItemRef
|
int |
Artikelschlüssel. |
PhysicalQTY
Kann leer sein |
int |
Physischer Bestand auf dem Lagerplatz; in der Zeile |
AvailQTY
Kann leer sein |
int |
Gesamtbestand minus Sonderbestand minus offene Reservierungen (gleicher Wert in allen Zeilen). |
RealQtyAvail
Kann leer sein |
int |
Gesamtbestand minus Sonderbestand minus offene Auftragspositionen (gleicher Wert in allen Zeilen). |
SpecialStock
Kann leer sein |
bit boolean |
Sonderbestand-Kennzeichen des Lagerplatzes; in der Zeile |
Beispielantwort
<SqlRowSet1>
<row>
<Location>A-01-02</Location>
<ItemRef>4711</ItemRef>
<PhysicalQTY>12</PhysicalQTY>
<AvailQTY>15</AvailQTY>
<RealQtyAvail>13</RealQtyAvail>
<SpecialStock>false</SpecialStock>
</row>
<row>
<Location>All</Location>
<ItemRef>4711</ItemRef>
<PhysicalQTY>20</PhysicalQTY>
<AvailQTY>15</AvailQTY>
<RealQtyAvail>13</RealQtyAvail>
<SpecialStock>false</SpecialStock>
</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:pixiGetItemStockOnLocations>
<!-- <ItemKey>4711</ItemKey> -->
<!-- <EAN>4006381333931</EAN> -->
<!-- <ItemNrSuppl>SUP-100245</ItemNrSuppl> -->
<!-- <ItemNrInt>ART-10023</ItemNrInt> -->
<!-- <LocationId>A-01-02</LocationId> -->
<!-- <Quantity>?</Quantity> -->
</ns1:pixiGetItemStockOnLocations>
</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:pixiGetItemStockOnLocations>
<!-- <ItemKey>4711</ItemKey> -->
<!-- <EAN>4006381333931</EAN> -->
<!-- <ItemNrSuppl>SUP-100245</ItemNrSuppl> -->
<!-- <ItemNrInt>ART-10023</ItemNrInt> -->
<!-- <LocationId>A-01-02</LocationId> -->
<!-- <Quantity>?</Quantity> -->
</ns1:pixiGetItemStockOnLocations>
</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 = [
// 'ItemKey' => '4711',
// 'EAN' => '4006381333931',
// 'ItemNrSuppl' => 'SUP-100245',
// 'ItemNrInt' => 'ART-10023',
// 'LocationId' => 'A-01-02',
// 'Quantity' => '?',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetItemStockOnLocations', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetItemStockOnLocations