pixiGetBoxItems
Liefert die in eine Box gepackten Artikel, ermittelt über Boxnummer und Lager, mit Auftrags-, Auftragspositions-, Artikel- und Scandaten.
Listet den Inhalt einer Packbox auf.
BoxNrundLocIdmüssen beide angegeben werden. Ist einer der WerteNULL, wird eine Statuszeile mitStatus=Errorzurückgegeben.- Die Box wird in
boxesüberBoxNrundLocationIDgesucht. Existiert keine Box, wird eine Statuszeile mitStatus=Errorzurückgegeben. - Alle
boxitems-Zeilen der Boxen mit dieser Nummer und diesem Lager werden gesammelt (Menge, Scanzeitpunkt, scannender Benutzer). - Jede Boxposition wird mit ihrer Auftragsposition (
Orderlines) verknüpft, um Pixi-Auftragsnummer, externe Auftragsnummer, Artikel und verwendete Picklistennummer zu ermitteln. - Die Artikelstammdaten (
items) liefern Barcode (EANUPC), Artikelname und Gewicht.MeasuredWeightist das Artikelgewicht multipliziert mit der gepackten Menge.
Pro Boxposition wird eine Zeile geliefert. Eine Sortierung ist nicht festgelegt.
Hinweise
- Alle Tabellen werden mit
NOLOCKgelesen; nicht festgeschriebene Daten können erscheinen. - Boxpositionen, deren Auftragsposition oder Artikel nicht mehr existiert, entfallen wegen Inner Joins ohne Hinweis.
- Existiert die Box, enthält aber keine Artikel, wird eine leere Ergebnismenge geliefert (keine Statuszeile).
- Die Existenzprüfung nutzt
TOP(1), die Positionsabfrage filtert jedoch nur nach Boxnummer und Lager. Teilen sich mehrere Boxen Nummer und Lager, werden die Positionen aller dieser Boxen geliefert. MeasuredWeightist kein gemessener Wert, sondern wird aus dem Artikelgewicht berechnet.- Die Spalte
oPicklistNumberbehält ihren internen Namen (kein Alias). - Bei Fehlern liefert die Prozedur den Rückgabewert 1.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
BoxNr
Pflicht
|
int | – |
Nummer der Box ( Beispiel: |
LocId
Pflicht
|
varchar(3) string |
– |
Lager-ID der Box ( Beispiel: |
Antwort
Result-Set 1 · Wenn ein Parameter NULL ist oder die Box nicht gefunden wird
Statuszeile mit der Fehlerbeschreibung.
| Spalte | Typ | Beschreibung |
|---|---|---|
Status
|
varchar(5) string |
Immer |
Message
|
varchar(34) string |
Fehlertext. |
Result-Set 2 · Bei Erfolg (Box gefunden)
Eine Zeile pro in die Box gepackter Position.
| Spalte | Typ | Beschreibung |
|---|---|---|
BoxNumber
|
int |
Boxnummer. |
PixiOrderNumber
Kann leer sein |
int |
Pixi-Auftragsnummer der Auftragsposition. |
ExternalOrderNumber
Kann leer sein |
varchar(50) string |
Externe Auftragsnummer (z. B. Shop-Bestellnummer). |
OrderlineId
|
int |
Schlüssel der Auftragsposition ( |
Barcode
Kann leer sein |
string |
EAN/UPC des Artikels. |
ItemName
Kann leer sein |
string |
Artikelname. |
Quantity
|
int |
In die Box gepackte Menge. |
MeasuredWeight
Kann leer sein |
decimal |
Artikelgewicht aus dem Artikelstamm multipliziert mit der Menge. |
ScannedOn
Kann leer sein |
datetime dateTime |
Anlagedatum der Boxposition (Scanzeitpunkt). |
User
Kann leer sein |
varchar(50) string |
Mitarbeiter, der die Boxposition angelegt hat. |
oPicklistNumber
Kann leer sein |
int |
Für die Auftragsposition verwendete Picklistennummer ( |
Beispielantwort
<SqlRowSet1>
<row>
<BoxNumber>100245</BoxNumber>
<PixiOrderNumber>584213</PixiOrderNumber>
<ExternalOrderNumber>SHOP-2024-10077</ExternalOrderNumber>
<OrderlineId>1923345</OrderlineId>
<Barcode>4006381333931</Barcode>
<ItemName>Kugelschreiber blau</ItemName>
<Quantity>2</Quantity>
<MeasuredWeight>0.0400</MeasuredWeight>
<ScannedOn>2024-05-14T10:32:11</ScannedOn>
<User>mmueller</User>
<oPicklistNumber>77812</oPicklistNumber>
</row>
</SqlRowSet1>
Fehlermeldungen
| Status | Meldung | Ursache |
|---|---|---|
| Error | Both parameters must be specified. | `BoxNr` oder `LocId` ist NULL. Beide Werte übergeben. |
| Error | Box could not be found. | Im angegebenen Lager existiert keine Box mit dieser Nummer. Boxnummer und Lager-ID prüfen. |
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:pixiGetBoxItems>
<BoxNr>100245</BoxNr>
<LocId>001</LocId>
</ns1:pixiGetBoxItems>
</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:pixiGetBoxItems>
<BoxNr>100245</BoxNr>
<LocId>001</LocId>
</ns1:pixiGetBoxItems>
</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 = [
'BoxNr' => '100245',
'LocId' => '001',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetBoxItems', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetBoxItems