pixiGetStockForItems
Liefert den verfügbaren Bestand aller Artikel, berechnet nach den Einstellungen für den Bestandsexport.
Liefert je Artikel eine Zeile mit der internen Artikelnummer und einer verfügbaren Menge. Die Berechnung hängt von Pixi-Einstellungen ab, die zur Laufzeit gelesen werden.
Alter Bestandsexport (OldStockExport = 1)
- Alle Artikel aus
Itemswerden mitQuantityalsAvailableQtygeliefert.NULLwird zu0.
Standardmodus (jeder andere Wert von OldStockExport)
- Der Lagerort wird aus der Einstellung
ExportStock_locationsermittelt:- Einstellung fehlt oder ist
0: Lager001 - leerer String: alle Lager (
ALL) - jeder andere Wert: diese Lager-ID
- Einstellung fehlt oder ist
- Je Artikel wird der Lagerplatzbestand als Summe von
BinItemQtyüber alle Lagerplätze des gewählten Lagers bzw. aller Lager gebildet. Lager mitSpecialStock= 1 werden immer ausgeschlossen. - Vom Lagerplatzbestand wird offener Bedarf abgezogen:
- Einstellung
ReservePrepaymentOrders≠1: Abgezogen wird die Summe vonQtyder Auftragspositionen mit StatusANG. Positionen mit StatusHALzählen zusätzlich, wenn ihrOrderDateinnerhalb der letztenHalOrdersActiveDaysTage liegt. Der Wert0dieser Einstellung bedeutet 7 Tage. - Einstellung
ReservePrepaymentOrders=1: Abgezogen wird die Anzahl der Reservierungsdatensätze des Artikels. Gezählt werden nur Reservierungen, deren Positionsstatus kein Endstatus ist; die StatusEIN,FUTundFUSsind ebenfalls ausgeschlossen.
- Einstellung
- Negative Ergebnisse werden als
0geliefert. - Stücklistenartikel (Artikel mit Einträgen in
BundleItems) werden per UNION ergänzt. Ihre Menge stammt nicht aus den Lagerplätzen. Sie istItems.QuantitybeiALLbzw.LocationQuantityausItemLocationSpecificfür das gewählte Lager. Für offene Aufträge oder Reservierungen wird nichts abgezogen, negative Werte werden zu0.
Filterung
Bei ExcludeZeros = 1 werden vor der Ausgabe alle Zeilen mit AvailableQty = 0 entfernt.
Das Ergebnis hat keine definierte Sortierung.
Hinweise
- Alle Lesezugriffe erfolgen mit
NOLOCK, die Werte können daher nicht festgeschriebene Daten enthalten. - Stücklistenartikel können doppelt erscheinen. Im Standardmodus umfasst die erste Abfrage alle Artikel, auch Stücklisten. Eine Stückliste erhält daher eine Zeile aus der lagerplatzbasierten Berechnung und eine aus der Stücklistenberechnung.
UNIONentfernt nur vollständig identische Zeilen. - Fehlendes
HalOrdersActiveDays. Fehlt die Einstellung, ist der WertNULLund nicht0. Dann greift der Ersatzwert von 7 Tagen nicht, und Positionen mit StatusHALwerden nie abgezogen. - Reservierungen werden gezählt, nicht summiert. Bei aktivierten Reservierungen wird die Anzahl der Reservierungsdatensätze abgezogen, keine Menge.
- Die Einstellung
ShowLocationStockInItemSearchwird gelesen, wirkt sich aber nicht auf das Ergebnis aus. ExportStock_locationswird in einervarchar(3)-Variablen gespeichert, längere Werte werden auf 3 Zeichen gekürzt.- Der Aufruf berechnet korrelierte Unterabfragen je Artikel über alle Artikel und kann bei großen Datenbeständen langsam sein.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
ExcludeZeros
|
bit boolean |
NULL |
Bei Erlaubte Werte
Beispiel: |
Antwort
Result-Set 1 · Immer
Eine Zeile je Artikel mit verfügbarer Menge. Im Standardmodus können Stücklistenartikel doppelt erscheinen.
| Spalte | Typ | Beschreibung |
|---|---|---|
ItemNrInt
Kann leer sein |
string |
Interne Artikelnummer aus |
AvailableQty
Kann leer sein |
int |
Verfügbare Menge, nie negativ. Im alten Exportmodus ist es |
Beispielantwort
<SqlRowSet1>
<row>
<ItemNrInt>100234</ItemNrInt>
<AvailableQty>17</AvailableQty>
</row>
<row>
<ItemNrInt>100235</ItemNrInt>
<AvailableQty>0</AvailableQty>
</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:pixiGetStockForItems>
<!-- <ExcludeZeros>1</ExcludeZeros> -->
</ns1:pixiGetStockForItems>
</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:pixiGetStockForItems>
<!-- <ExcludeZeros>1</ExcludeZeros> -->
</ns1:pixiGetStockForItems>
</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 = [
// 'ExcludeZeros' => '1',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetStockForItems', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetStockForItems