pixiGetItemLogisticsStock
Liefert den gesamten Lagerplatzbestand eines Artikels an einem Standort und die nach Abzug offener FUT-Auftragspositionen noch verfügbare Menge.
Berechnet den Bestand eines einzelnen Artikels für Direct-Fulfillment-Zwecke (DF), laut Code-Kommentar Bestand auf Basis offener DF-Aufträge.
Ablauf:
- Summiert
BinItemQtyaller Lagerplatzeinträge inInvBinItemfür den Artikel@ItemKey, deren Lagerplatz (InvBin) zum Standort@Location(BinLocId) gehört. Diese Summe wird alsTotalQtyzurückgegeben (0, wenn keine passenden Lagerplätze existieren). - Summiert
Qtyaller Auftragspositionen inOrderlinesfür den Artikel, die- den Status
FUThaben, Qty > 0haben und- keinen Eintrag in
OrderHistorymit StatusFUTundClientNotified = 'N'besitzen.
- den Status
- Liefert
TotalQtyabzüglich dieser Positionssumme alsFulfillmentAvailableQtysowie den übergebenen@Location.
Der Aufruf liefert immer genau eine Zeile, da ohne Gruppierung aggregiert wird.
Hinweise
- Wird
@Locationweggelassen (NULL), trifft der VergleichBinLocId = NULLnie zu;TotalQtyist dann immer 0 undFulfillmentAvailableQty0 oder negativ. Es sollte daher immer ein Standort übergeben werden. - Die Menge offener Auftragspositionen wird nicht nach Standort gefiltert: FUT-Positionen aller Standorte werden vom Bestand des angegebenen Standorts abgezogen.
FulfillmentAvailableQtykann negativ werden, wenn die offenen FUT-Mengen den Lagerplatzbestand übersteigen.- Ein unbekannter
@ItemKeyerzeugt keinen Fehler; es wird eine Zeile mit Werten 0 geliefert. - Alle Tabellen werden mit
NOLOCKgelesen, das Ergebnis kann daher nicht festgeschriebene Daten enthalten.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
ItemKey
Pflicht
|
int | – |
Interner Schlüssel des Artikels, dessen Bestand berechnet wird (Abgleich mit Beispiel: |
Location
|
char(3) string |
NULL |
Standortkürzel ( Beispiel: |
Antwort
Result-Set 1 · Immer (genau eine Zeile)
Bestandswerte des Artikels am angefragten Standort.
| Spalte | Typ | Beschreibung |
|---|---|---|
FulfillmentAvailableQty
|
int |
Lagerplatzbestand am Standort abzüglich der Menge offener FUT-Auftragspositionen des Artikels (alle Standorte). Kann negativ sein. |
TotalQty
|
int |
Summe von |
Location
Kann leer sein |
char(3) string |
Der in |
Beispielantwort
<SqlRowSet1>
<row>
<FulfillmentAvailableQty>37</FulfillmentAvailableQty>
<TotalQty>45</TotalQty>
<Location>001</Location>
</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:pixiGetItemLogisticsStock>
<ItemKey>10452</ItemKey>
<!-- <Location>001</Location> -->
</ns1:pixiGetItemLogisticsStock>
</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:pixiGetItemLogisticsStock>
<ItemKey>10452</ItemKey>
<!-- <Location>001</Location> -->
</ns1:pixiGetItemLogisticsStock>
</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' => '10452',
// 'Location' => '001',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetItemLogisticsStock', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetItemLogisticsStock