pixiGetStockBinsEmpty
Liefert leere Lagerplätze (ohne Lagerplatzbestand-Datensatz), optional nur die in der Sortierung nahe an einem Referenz-Lagerplatz liegenden.
Sucht leere Lagerplätze. Ein Lagerplatz gilt als leer, wenn keine Zeile in InvBinItem auf ihn verweist (BinRef = BinKey).
- Werden
BinNameundLocIDübergeben, wird der Schlüssel des Lagerplatzes mit diesem Namen in diesem Lager ermittelt und als Referenz-Lagerplatz (NearBinKey) verwendet. Existiert kein solcher Lagerplatz, bleibt ein übergebenerNearBinKeyunverändert. LocIDleer oderNULLbedeutet alle Lager; andernfalls werden nur Lagerplätze dieses Lagers (BinLocID) berücksichtigt.- Ohne Referenz-Lagerplatz (
NearBinKeyistNULLoder0): Liefert die erstenRowsleeren Lagerplätze, aufsteigend nachBinSortNumsortiert. - Mit Referenz-Lagerplatz: Ermittelt die
BinSortNumdes Referenz-Lagerplatzes und liefert bis zuRows / 2(Ganzzahldivision) leere Lagerplätze mitBinSortNumkleiner oder gleich der Referenz (die nächstgelegenen, also die höchsten Sortiernummern darunter) sowie bis zuRows / 2leere Lagerplätze mit höhererBinSortNum(die nächstgelegenen darüber). Die Gesamtliste wird aufsteigend nachBinSortNumsortiert.
Der Referenz-Lagerplatz selbst ist im Ergebnis enthalten, wenn er leer ist und zum Lagerfilter passt.
Hinweise
- Alle Lesezugriffe verwenden
NOLOCK; das Ergebnis kann nicht festgeschriebene Änderungen enthalten, ein als leer gemeldeter Lagerplatz kann bereits belegt sein. - Jede
InvBinItem-Zeile macht einen Lagerplatz nicht-leer, unabhängig von der Menge. - Mit Referenz-Lagerplatz und ungeradem
Rowswerden höchstensRows - 1Lagerplätze geliefert (z. B. liefertRows = 1nichts). - Verweist
NearBinKeyauf einen nicht existierenden Lagerplatz, ist die Referenz-SortiernummerNULLund das Ergebnis leer. - Das Lager des Referenz-Lagerplatzes wird nicht gegen
LocIDgeprüft; wird nurNearBinKeyübergeben, wird dessen Sortiernummer mit Lagerplätzen des gefilterten Lagers verglichen. BinNamewird nur zusammen mitLocIDausgewertet; allein wird es ignoriert.Rowsdarf nichtNULLoder negativ sein, sonst löst dieTOP-Klausel einen SQL-Fehler aus.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
LocID
|
varchar(3) string |
NULL |
Lager-ID, auf die die Suche beschränkt wird. Beispiel: |
Rows
|
int | 10 |
Maximale Anzahl zurückgegebener Lagerplätze. Mit Referenz-Lagerplatz wird jeweils die Hälfte (Ganzzahldivision) unterhalb und oberhalb der Referenz geliefert. Beispiel: |
NearBinKey
|
int | NULL |
Schlüssel ( Beispiel: |
BinName
|
varchar(50) string |
NULL |
Name des Referenz-Lagerplatzes; wird nur zusammen mit Beispiel: |
Antwort
Result-Set 1 · Wenn kein Referenz-Lagerplatz gesetzt ist (NearBinKey ist nach der optionalen Suche über BinName NULL oder 0)
Die ersten Rows leeren Lagerplätze, aufsteigend nach BinSortNum sortiert.
| Spalte | Typ | Beschreibung |
|---|---|---|
BinSortNum
|
int |
Sortiernummer des Lagerplatzes. |
BinLocID
|
varchar(3) string |
Lager-ID des Lagerplatzes. |
BinName
|
varchar(50) string |
Name des Lagerplatzes. |
BinKey
|
int |
Schlüssel des Lagerplatzes. |
BinGroup
|
varchar(20) string |
Lagerplatzgruppe. |
Result-Set 2 · Wenn ein Referenz-Lagerplatz gesetzt ist (NearBinKey nicht NULL/0)
Bis zu Rows / 2 leere Lagerplätze an oder unterhalb und bis zu Rows / 2 oberhalb der Referenz-Sortiernummer, aufsteigend nach BinSortNum sortiert.
| Spalte | Typ | Beschreibung |
|---|---|---|
BinSortNum
|
int |
Sortiernummer des Lagerplatzes. |
BinLocID
|
varchar(3) string |
Lager-ID des Lagerplatzes. |
BinName
|
varchar(50) string |
Name des Lagerplatzes. |
BinKey
|
int |
Schlüssel des Lagerplatzes. |
BinGroup
|
varchar(20) string |
Lagerplatzgruppe. |
Beispielantwort
<SqlRowSet1>
<row>
<BinSortNum>1020</BinSortNum>
<BinLocID>001</BinLocID>
<BinName>A-01-02</BinName>
<BinKey>4711</BinKey>
<BinGroup>REGAL</BinGroup>
</row>
<row>
<BinSortNum>1030</BinSortNum>
<BinLocID>001</BinLocID>
<BinName>A-01-03</BinName>
<BinKey>4712</BinKey>
<BinGroup>REGAL</BinGroup>
</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:pixiGetStockBinsEmpty>
<!-- <LocID>001</LocID> -->
<!-- <Rows>10</Rows> -->
<!-- <NearBinKey>4711</NearBinKey> -->
<!-- <BinName>A-01-02</BinName> -->
</ns1:pixiGetStockBinsEmpty>
</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:pixiGetStockBinsEmpty>
<!-- <LocID>001</LocID> -->
<!-- <Rows>10</Rows> -->
<!-- <NearBinKey>4711</NearBinKey> -->
<!-- <BinName>A-01-02</BinName> -->
</ns1:pixiGetStockBinsEmpty>
</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',
// 'Rows' => '10',
// 'NearBinKey' => '4711',
// 'BinName' => 'A-01-02',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetStockBinsEmpty', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetStockBinsEmpty