pixiExportItemStock
Liefert alle Artikel mit positivem exportierbarem Bestand für einen Lagerort oder alle Lagerorte, mit Artikelnummern, EAN, Name, Hersteller, Preisen und Kategorie.
Exportiert eine Bestandsliste aller Artikel, deren berechneter Bestand größer als 0 ist.
Auswahl des Lagerorts
- Zuerst wird die Pixi-Einstellung
ExportStock_locationsgelesen. Ein leerer Wert bedeutetALL, der Wert0bedeutet001. - Ist
Locationnicht leer, überschreibt der Parameter die Einstellung. DaLocationden StandardwertALLhat, greift die Einstellung nur, wenn ein leerer Wert oderNULLübergeben wird. ALLumfasst alle Lagerorte. Jeder andere Wert wird als einzelne Lagerort-ID (LocID) behandelt.
Bestandsberechnung
Der Bestand wird je Artikel über die Funktion fPixi_GetStockForExport ermittelt:
- Normale Artikel: Summe von
BinItemQtyüber alle Lagerplätze (InvBin) in Lagerorten, die nicht als Sonderlager markiert sind (SpecialStock <> 1). Außer beiALLwird auf den gewählten Lagerort eingeschränkt. - Stücklistenartikel (in
BundleItemsreferenziert):Items.QuantitybeiALL, sonstLocationQuantityausItemLocationSpecificfür den gewählten Lagerort, sofern dieser kein Sonderlager ist.
Ausgabe
Gelesen werden alle Artikel aus Items, per Left Join ergänzt um den Kategorietext aus TontrArten. Zurückgegeben werden nur Zeilen mit Stock > 0. Es gibt keinen Filter auf den Artikelstatus und keine Sortierung.
Hinweise
- Die Bestandsfunktion wird für ihr Kennzeichen für physischen Bestand mit dem festen Wert
'N'aufgerufen. Offene Auftragsmengen (StatusANG, oderHALinnerhalb der letztenHalOrdersActiveDaysTage) bzw. Reservierungen zieht die Funktion nur ab, wenn dieses Kennzeichen'0'ist. Daher werden keine Auftrags- oder Reservierungsmengen abgezogen, und exportiert wird faktisch der physische Lagerplatzbestand. - Die Einstellungen
StockExportUsePhysicalStockundOldStockExportwerden gelesen, aber nicht verwendet.ReservePrepaymentOrders,ShowLocationStockInItemSearchundHalOrdersActiveDayswerden an die Bestandsfunktion übergeben, wirken sich aus dem oben genannten Grund aber nicht auf das Ergebnis aus.HalOrdersActiveDays = 0wird durch 7 ersetzt. - Alle Tabellen werden mit
NOLOCKgelesen, außerInvBinItemin der Bestandsfunktion, die ohne diesen Hinweis gelesen wird. - Der Bestand wird für jeden Artikel in
Itemsüber eine Skalarfunktion berechnet. Bei großen Artikelstämmen kann das langsam sein. - Bei Übergabe einer nicht existierenden Lagerort-ID ist das Ergebnis leer.
- Die Join-Bedingung
TontrArt = ConfigTypenennt keine Tabellen. Welche Spalte zuItemsund welche zuTontrArtengehört, lässt sich aus dem Code nicht bestimmen. - Der Kopfkommentar erwähnt XML-Eingaben, die Prozedur hat jedoch keinen XML-Parameter.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
Location
|
varchar(3) string |
ALL |
Lagerort-ID, deren Bestand exportiert wird, oder Erlaubte Werte
Beispiel: |
Antwort
Result-Set 1 · Immer; enthält nur Artikel mit Bestand größer 0 (kann leer sein).
Eine Zeile je Artikel mit positivem exportierbarem Bestand.
| Spalte | Typ | Beschreibung |
|---|---|---|
ItemNrSuppl
Kann leer sein |
string |
Lieferantenartikelnummer ( |
EANUPC
Kann leer sein |
string |
EAN/UPC-Barcode des Artikels. |
ItemName
Kann leer sein |
string |
Artikelname. |
ItemNrInt
Kann leer sein |
string |
Interne Pixi-Artikelnummer. |
Stock
|
int |
Über |
Manufacturer
Kann leer sein |
string |
Hersteller ( |
Price
Kann leer sein |
decimal |
Verkaufspreis ( |
SupplPrice
Kann leer sein |
decimal |
Einkaufspreis ( |
Category
Kann leer sein |
string |
Kategorietext aus |
Beispielantwort
<SqlRowSet1>
<row>
<ItemNrSuppl>SUP-4711</ItemNrSuppl>
<EANUPC>4006381333931</EANUPC>
<ItemName>Kugelschreiber blau</ItemName>
<ItemNrInt>100245</ItemNrInt>
<Stock>37</Stock>
<Manufacturer>Stabilo</Manufacturer>
<Price>2.9900</Price>
<SupplPrice>1.1000</SupplPrice>
<Category>Schreibwaren</Category>
</row>
<row>
<ItemNrSuppl>SUP-4712</ItemNrSuppl>
<EANUPC>4006381333948</EANUPC>
<ItemName>Kugelschreiber rot</ItemName>
<ItemNrInt>100246</ItemNrInt>
<Stock>12</Stock>
<Manufacturer>Stabilo</Manufacturer>
<Price>2.9900</Price>
<SupplPrice>1.1000</SupplPrice>
<Category>Schreibwaren</Category>
</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:pixiExportItemStock>
<!-- <Location>001</Location> -->
</ns1:pixiExportItemStock>
</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:pixiExportItemStock>
<!-- <Location>001</Location> -->
</ns1:pixiExportItemStock>
</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 = [
// 'Location' => '001',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiExportItemStock', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiExportItemStock