pixiShopLinkGetItemsStockRange
Liefert den exportierbaren verfügbaren Bestand und Mindestbestand der Artikel, seitenweise nach Artikelschlüssel, zum Abgleich der Shop-Bestände.
Liefert je Artikel eine Zeile mit dem verfügbaren Bestand für den Bestandsexport an einen Shop. Das Verhalten hängt von den Einstellungen OldStockExport, StockExportUsePhysicalStock, ReservePrepaymentOrders und ExportAvailableStock_WhenReservationsAreEnabled ab. Eine fehlende Einstellung gilt als 0.
Standardwerte der Parameter: FromItemKey NULL wird zu 0, RowCount NULL wird zu 1000, ExcludeZeros NULL wird zu 0.
Standardmodus (OldStockExport ist nicht 1):
- Es werden nur Artikel mit
ItemKey >= FromItemKeygelesen. HöchstensRowCountZeilen werden geliefert, aufsteigend sortiert nachItemKey. AvailableQtyist der vorberechnete Exportbestand des Artikels (ItemQtyIBIExportStock_locations) abzüglich eines Abzugs:- Die Menge offener Auftragspositionen (
ItemQtyOpenOrderLines), wenn Reservierungen deaktiviert sind oder wenn sie aktiv sind undExportAvailableStock_WhenReservationsAreEnabled=1ist. Dies gilt nur, wennStockExportUsePhysicalStock=0ist und der Artikel kein Bundle ist. - Die offenen Reservierungen (
ItemQtyOpenReservations), wenn Reservierungen aktiv sind und die andere Einstellung nicht1ist. Auch dies gilt nur, wennStockExportUsePhysicalStock=0ist und der Artikel kein Bundle ist. - Kein Abzug in allen anderen Fällen: physischer Bestand wird verwendet oder der Artikel ist ein Bundle.
- Die Menge offener Auftragspositionen (
- Mit
ExcludeZeros=1werden nur Artikel mitAvailableQty > 0geliefert. - Mit
ExcludeZeros=0werden alle Artikel im Bereich geliefert und negative Mengen auf0gesetzt.
Alter Modus (OldStockExport = 1):
- Liefert
ItemNrInt,QuantityalsAvailableQty(NULL wird zu 0) undMinStockQtyfür alle Artikel. - Es gibt keine Spalte
ItemKey, kein Paging und keine Sortierung. - Mit
ExcludeZeros=1werden Artikel mit Menge0ausgelassen.
Paging: Im Standardmodus erneut aufrufen mit FromItemKey = zuletzt geliefertes ItemKey + 1, bis weniger als RowCount Zeilen zurückkommen.
Hinweise
- Alle Lesezugriffe verwenden
NOLOCK, daher können nicht festgeschriebene Daten enthalten sein. - Die Mengen stammen aus vorberechneten Spalten der Tabelle
Items(ItemQtyIBIExportStock_locations,ItemQtyOpenOrderLines,ItemQtyOpenReservations). Welche Lager oder Lagerplätze darin enthalten sind, wird an anderer Stelle festgelegt und ist in dieser Prozedur nicht sichtbar. - Unterschiede im alten Modus:
FromItemKeyundRowCountwerden ignoriert und alle Artikel in einem Aufruf geliefert.ItemKeyfehlt im Ergebnis.- Bei
ExcludeZeros=1werden negative Mengen weiterhin geliefert. - Bei
ExcludeZeros=0werden negative Mengen nicht auf 0 gesetzt.
- Im Standardmodus mit
ExcludeZeros=1entfallen auch Artikel, deren berechnete Menge NULL ist. RowCount=0liefert keine Zeilen. Ein negativer Wert führt zu einem SQL-Fehler beiTOP.- Der Wert von
OldStockExportwird inintumgewandelt. Ein nicht numerischer Einstellungswert würde zu einem Konvertierungsfehler führen. - Der große auskommentierte Altcode im Quelltext hat keine Wirkung.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
FromItemKey
|
int | NULL |
Kleinster zu liefernder Beispiel: |
RowCount
|
int | NULL |
Maximale Anzahl gelieferter Zeilen. NULL bedeutet Beispiel: |
ExcludeZeros
|
bit boolean |
NULL |
Steuert, ob Artikel ohne Bestand ausgelassen werden. NULL bedeutet Erlaubte Werte
Beispiel: |
Antwort
Result-Set 1 · Standardmodus (OldStockExport nicht 1) und ExcludeZeros = 0 oder NULL
Bis zu RowCount Artikel ab FromItemKey, sortiert nach ItemKey. Negative Mengen werden auf 0 gesetzt.
| Spalte | Typ | Beschreibung |
|---|---|---|
ItemKey
|
int |
Interner Artikelschlüssel. |
ItemNrInt
Kann leer sein |
varchar(50) string |
Interne Artikelnummer. |
AvailableQty
Kann leer sein |
int |
Exportierbarer verfügbarer Bestand, nie negativ. |
MinStockQty
Kann leer sein |
int |
Mindestbestand des Artikels. |
Result-Set 2 · Standardmodus (OldStockExport nicht 1) und ExcludeZeros = 1
Bis zu RowCount Artikel ab FromItemKey mit positivem verfügbarem Bestand, sortiert nach ItemKey.
| Spalte | Typ | Beschreibung |
|---|---|---|
ItemKey
|
int |
Interner Artikelschlüssel. |
ItemNrInt
Kann leer sein |
string |
Interne Artikelnummer. |
AvailableQty
|
int |
Exportierbarer verfügbarer Bestand, immer größer als 0. |
MinStockQty
Kann leer sein |
int |
Mindestbestand des Artikels. |
Result-Set 3 · Alter Modus (OldStockExport = 1)
Alle Artikel, bei ExcludeZeros = 1 nur solche mit Menge ungleich 0. Kein Paging und keine Sortierung.
| Spalte | Typ | Beschreibung |
|---|---|---|
ItemNrInt
Kann leer sein |
string |
Interne Artikelnummer. |
AvailableQty
|
int |
Artikelmenge ( |
MinStockQty
Kann leer sein |
int |
Mindestbestand des Artikels. |
Beispielantwort
<SqlRowSet1>
<row>
<ItemKey>1001</ItemKey>
<ItemNrInt>ART-10001</ItemNrInt>
<AvailableQty>25</AvailableQty>
<MinStockQty>5</MinStockQty>
</row>
<row>
<ItemKey>1002</ItemKey>
<ItemNrInt>ART-10002</ItemNrInt>
<AvailableQty>0</AvailableQty>
<MinStockQty>0</MinStockQty>
</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:pixiShopLinkGetItemsStockRange>
<!-- <FromItemKey>0</FromItemKey> -->
<!-- <RowCount>500</RowCount> -->
<!-- <ExcludeZeros>1</ExcludeZeros> -->
</ns1:pixiShopLinkGetItemsStockRange>
</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:pixiShopLinkGetItemsStockRange>
<!-- <FromItemKey>0</FromItemKey> -->
<!-- <RowCount>500</RowCount> -->
<!-- <ExcludeZeros>1</ExcludeZeros> -->
</ns1:pixiShopLinkGetItemsStockRange>
</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 = [
// 'FromItemKey' => '0',
// 'RowCount' => '500',
// 'ExcludeZeros' => '1',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiShopLinkGetItemsStockRange', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiShopLinkGetItemsStockRange