pixiGetStockBins
Liefert die Lagerplätze, optional gefiltert nach Lager und Lagerplatzgruppe, mit der Gesamtmenge je Lagerplatz und optionalem Paging.
Liest die Lagerplätze aus InvBin und berechnet je Lagerplatz die Summe von BinItemQTY aller Einträge in InvBinItem auf diesem Lagerplatz (NrOfItemOnBin, 0 bei leerem Lagerplatz).
Filter:
LocID: nur Lagerplätze dieses Lagers (BinLocID). Leerer String oder NULL bedeutet alle Lager.BinGroup: nur Lagerplätze dieser Lagerplatzgruppe. Leerer String oder NULL bedeutet alle Gruppen.
Paging:
- Ist
RowCount0 oder NULL, werden alle passenden Lagerplätze ohne SpalteRowNrgeliefert. - Ist
RowCountgrößer als 0, werden die Zeilen nachBinSortNumnummeriert (RowNr), und es werden höchstensRowCountZeilen mitRowNrgrößer alsStartgeliefert.Startist also die Anzahl der zu überspringenden Zeilen.
Das Ergebnis ist immer nach BinSortNum und danach BinKey sortiert.
Hinweise
- Alle Lesezugriffe verwenden
NOLOCK, das Ergebnis kann also nicht festgeschriebene Daten enthalten. - Die Nummerierung für das Paging sortiert nur nach
BinSortNum, die Ausgabe dagegen nachBinSortNum, BinKey. Haben mehrere Lagerplätze dieselbeBinSortNum, ist die Vergabe vonRowNrunter ihnen nicht deterministisch; Seiten können sich überschneiden oder Lagerplätze auslassen. In diesem Fall eindeutige Sortiernummern verwenden oder ohne Paging abfragen. - Die Spalten unterscheiden sich je nach Modus:
RowNrist nur beiRowCount> 0 enthalten. - Ein negativer
RowCountwird nicht abgefangen und führt beiTOPzu einem SQL-Fehler. NrOfItemOnBinist die Gesamtmenge auf dem Lagerplatz, nicht die Anzahl unterschiedlicher Artikel.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
LocID
|
varchar(3) string |
NULL |
Lager-ID als Filter. NULL oder leerer String liefert Lagerplätze aller Lager. Beispiel: |
RowCount
|
int | 0 |
Maximale Anzahl Zeilen pro Seite. 0 oder NULL deaktiviert das Paging und liefert alle Zeilen. Erlaubte Werte
Beispiel: |
Start
|
int | 0 |
Anzahl zu überspringender Zeilen bei aktivem Paging; geliefert werden Zeilen mit Beispiel: |
BinGroup
|
varchar(20) string |
NULL |
Lagerplatzgruppe als Filter. NULL oder leerer String liefert Lagerplätze aller Gruppen. Beispiel: |
Antwort
Result-Set 1 · Wenn RowCount 0 oder NULL ist (kein Paging)
Alle passenden Lagerplätze, sortiert nach BinSortNum, BinKey.
| Spalte | Typ | Beschreibung |
|---|---|---|
BinKey
|
int |
Interner Schlüssel des Lagerplatzes. |
BinName
Kann leer sein |
string |
Name des Lagerplatzes. |
BinLocID
Kann leer sein |
string |
Lager-ID, zu der der Lagerplatz gehört. |
BinSortNum
Kann leer sein |
int |
Sortiernummer des Lagerplatzes. |
BinGroup
Kann leer sein |
string |
Lagerplatzgruppe. |
NrOfItemOnBin
|
int |
Summe von |
Result-Set 2 · Wenn RowCount > 0 ist (Paging)
Eine Seite passender Lagerplätze: höchstens RowCount Zeilen mit RowNr > Start, sortiert nach BinSortNum, BinKey.
| Spalte | Typ | Beschreibung |
|---|---|---|
RowNr
|
bigint long |
Zeilennummer innerhalb des gefilterten Ergebnisses, sortiert nach |
BinKey
|
int |
Interner Schlüssel des Lagerplatzes. |
BinName
Kann leer sein |
string |
Name des Lagerplatzes. |
BinLocID
Kann leer sein |
string |
Lager-ID, zu der der Lagerplatz gehört. |
BinSortNum
Kann leer sein |
int |
Sortiernummer des Lagerplatzes. |
BinGroup
Kann leer sein |
string |
Lagerplatzgruppe. |
NrOfItemOnBin
|
int |
Summe von |
Beispielantwort
<SqlRowSet1>
<row>
<BinKey>1201</BinKey>
<BinName>A-01-01</BinName>
<BinLocID>001</BinLocID>
<BinSortNum>10</BinSortNum>
<BinGroup>HAUPTLAGER</BinGroup>
<NrOfItemOnBin>42</NrOfItemOnBin>
</row>
<row>
<BinKey>1202</BinKey>
<BinName>A-01-02</BinName>
<BinLocID>001</BinLocID>
<BinSortNum>20</BinSortNum>
<BinGroup>HAUPTLAGER</BinGroup>
<NrOfItemOnBin>0</NrOfItemOnBin>
</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:pixiGetStockBins>
<!-- <LocID>001</LocID> -->
<!-- <RowCount>100</RowCount> -->
<!-- <Start>0</Start> -->
<!-- <BinGroup>HAUPTLAGER</BinGroup> -->
</ns1:pixiGetStockBins>
</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:pixiGetStockBins>
<!-- <LocID>001</LocID> -->
<!-- <RowCount>100</RowCount> -->
<!-- <Start>0</Start> -->
<!-- <BinGroup>HAUPTLAGER</BinGroup> -->
</ns1:pixiGetStockBins>
</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 = [
// 'LocID' => '001',
// 'RowCount' => '100',
// 'Start' => '0',
// 'BinGroup' => 'HAUPTLAGER',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetStockBins', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetStockBins