pixiGetPickListDetailForPico
Liefert die Positionen einer fertig erzeugten Pickliste inklusive ihrer Split-Picklisten mit Lagerplatz-, Artikel-, Charge- und Auftragsdaten für die Pico-App.
Liefert eine Zeile je Pickposition der Pickliste PLHkey. Der Aufruf übergibt den Schlüssel an eine interne Prozedur, Pixi_GetPickListDetailForPico, und ändert deren Standardfilter nicht.
Welche Picklisten enthalten sind
- Der Picklistenkopf mit
PLHkey=@PLHkey. - Alle Split-Picklisten mit
PLHOriginalKey=@PLHkey. - Nur Köpfe mit
ExecutionFinished = 1. - Köpfe mit beliebigem Pickstatus.
Wie die Zeilen gebildet werden
- Die Picklistenpositionen (
PLitem) werden zu einer Zeile je Kombination zusammengefasst aus:- Picklistenkopf, Auftragsposition und Lagerplatz (
InvBinItem.BinRef); - Charge und Mindesthaltbarkeitsdatum;
- Artikel (
BinItemRef) undpliBinRef.
- Picklistenkopf, Auftragsposition und Lagerplatz (
Qtyist die Anzahl der Picklistenpositionen in der Gruppe; jeder Datensatz steht für ein Stück.MinPlItemKeyist der kleinstePLIkeyder Gruppe.- Jede Zeile wird ergänzt um Daten aus:
- dem Lagerplatz: Name, Sortiernummer, Lagerplatzgruppe;
- dem Picklistenkopf: Ablaufdatum, Erstellungsdatum und -mitarbeiter, Kommentar, Kistenbereich, Pickstatus-Code, Originalschlüssel;
- der Auftragsposition: Auftragsnummer und externe Auftragsnummer;
- dem Artikel: Namen, Nummern, Bildlinks, Hersteller (
items.Artist), Tags und Verpackungseinheit.
Berechnete Spalten
ItemNameist der Artikelname mit einer vorangestellten Artikelnummer in Großbuchstaben und einem Leerzeichen. Die EinstellungPickListNumberColumnbestimmt die Nummer:EANUPC,ItemNrIntoderItemNrSuppl. Bei einem anderen Wert oder ohne Einstellung entfällt das Präfix.OtherItemsCountzählt dieInvBinItem-Datensätze desselben Lagerplatzes, die zu einem anderen Artikel gehören.DistinctBinsist die Anzahl unterschiedlicher Lagerplätze über alle Zeilen des Ergebnisses. Der Wert ist in jeder Zeile gleich.ItemTagslistet die Tag-Namen des Artikels. Jeder Name endet mit einem Komma, die Namen sind durch Leerzeichen getrennt, z. B.Fragile, Heavy,.BestBeforeDate_Textist das Mindesthaltbarkeitsdatum im Formatdd.mm.yyyy.OrderUnitistitems.OrderUnitals Ganzzahl. Der Wert istNULL, wenn er leer oder nicht numerisch ist.
Vertauschte Artikelnummer-Spalten
ItemNrIntenthält die Lieferanten-Artikelnummer (ItemNrSuppl). Das dient der Abwärtskompatibilität.ItemNrInt1enthält die interne Artikelnummer.
Existiert die Pickliste nicht oder ist sie nicht fertig erzeugt, ist die Ergebnismenge leer.
Hinweise
- Reihenfolge nicht garantiert: Die interne Prozedur sortiert nach
BinGroup,BinSortNum,BinItemRefabsteigend und danach nach dem Erstellungsdatum des Kopfes. Ihre Zeilen werden in einer temporären Tabelle zwischengespeichert, und das abschließendeSELECThat keinORDER BY. Die gelieferte Reihenfolge ist daher nicht garantiert. Bei Bedarf clientseitig sortieren. - Nur lesend: Alle Tabellen werden mit
NOLOCKgelesen, nicht festgeschriebene Daten können erscheinen. - Laufzeit-Einstellung: Das Präfix in
ItemNamehängt von der EinstellungPickListNumberColumnab. Sie wird überfpixi_GetSettinggelesen, dessen Definition nicht beiliegt. - Spaltenreihenfolge:
OrderUnitist als letzte Spalte angehängt, damit positionsbasiert lesende Clients nicht betroffen sind. - Kürzungsrisiko: Die temporäre Zwischentabelle begrenzt einige Spalten, z. B.
EanUpcauf 13 undItemNrSupplauf 50 Zeichen. Längere Quellwerte können zu einem Kürzungsfehler führen. - Weitere Filter nicht verfügbar: Der interne Pickstatus-Filter und die Option zum Ausschluss von Split-Picklisten sind über diesen Aufruf nicht nutzbar.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
PLHkey
Pflicht
|
int | – |
Schlüssel des Picklistenkopfes ( Beispiel: |
Antwort
Result-Set 1 · Immer; leer, wenn die Pickliste nicht existiert oder nicht fertig erzeugt ist (ExecutionFinished <> 1).
Eine Zeile je Picklistenkopf, Auftragsposition, Lagerplatz, Charge, MHD und Artikel mit der zu pickenden Menge.
| Spalte | Typ | Beschreibung |
|---|---|---|
BinItemRef
Kann leer sein |
int |
Artikelschlüssel des Bestandsdatensatzes ( |
PLIheaderRef
Kann leer sein |
int |
Schlüssel des Picklistenkopfes der Position; kann eine Split-Pickliste sein. |
BinSortNum
Kann leer sein |
int |
Sortiernummer des Lagerplatzes (Laufreihenfolge). |
ItemNameWithoutNumber
Kann leer sein |
varchar(255) string |
Artikelname ohne Nummernpräfix. |
BinName
Kann leer sein |
varchar(255) string |
Name des Lagerplatzes. |
BinKey
Kann leer sein |
int |
Schlüssel des Lagerplatzes. |
PLHexpiryDate
Kann leer sein |
datetime dateTime |
Ablaufdatum des Picklistenkopfes. |
HeaderCreateDate
Kann leer sein |
datetime dateTime |
Erstellungsdatum des Picklistenkopfes. |
createEmp
Kann leer sein |
varchar(255) string |
Mitarbeiter, der die Pickliste erstellt hat. |
Qty
Kann leer sein |
int |
Zu pickende Menge (Anzahl der Picklistenpositionen in der Gruppe). |
PLcomment
Kann leer sein |
varchar(8000) string |
Kommentar des Picklistenkopfes. |
ItemName
Kann leer sein |
varchar(510) string |
Artikelname mit vorangestellter Artikelnummer in Großbuchstaben und Leerzeichen, gewählt über die Einstellung |
ItemNrInt
Kann leer sein |
varchar(50) string |
Lieferanten-Artikelnummer in Großbuchstaben. Der Name ist irreführend und bleibt aus Gründen der Abwärtskompatibilität. |
EanUpc
Kann leer sein |
varchar(13) string |
EAN/UPC des Artikels in Großbuchstaben. |
ItemNrInt1
Kann leer sein |
varchar(255) string |
Interne Artikelnummer in Großbuchstaben. |
pliBinRef
Kann leer sein |
int |
Auf der Picklistenposition gespeicherte Lagerplatzreferenz ( |
BinGroup
Kann leer sein |
varchar(20) string |
Lagerplatzgruppe. |
PLIorderlineRef
Kann leer sein |
int |
Schlüssel der Auftragsposition. |
PLHfromBox
Kann leer sein |
int |
Erste Kistennummer der Pickliste. |
PLHtoBox
Kann leer sein |
int |
Letzte Kistennummer der Pickliste. |
PicLinkLarge
Kann leer sein |
varchar(512) string |
Link zum großen Artikelbild. |
PicLinkSmall
Kann leer sein |
varchar(512) string |
Link zum kleinen Artikelbild. |
BatchNumber
Kann leer sein |
varchar(50) string |
Chargennummer des Bestandsdatensatzes. |
BestBeforeDate_Text
Kann leer sein |
varchar(11) string |
Mindesthaltbarkeitsdatum als Text im Format |
BestBeforeDate
Kann leer sein |
datetime dateTime |
Mindesthaltbarkeitsdatum des Bestandsdatensatzes. |
OrderNr
Kann leer sein |
int |
Pixi-Auftragsnummer der Auftragsposition. |
OrderNrExternal
Kann leer sein |
varchar(50) string |
Externe Auftragsnummer (Shop). |
OtherItemsCount
Kann leer sein |
int |
Anzahl der |
DistinctBins
Kann leer sein |
int |
Anzahl unterschiedlicher Lagerplätze im gesamten Ergebnis; in jeder Zeile gleich. |
ItemTags
Kann leer sein |
varchar(max) string |
Tag-Namen des Artikels, jeweils mit Komma und durch Leerzeichen getrennt; |
PickingStatusCode
Kann leer sein |
varchar(10) string |
Statuscode des Pickstatus des Kopfes ( |
Manufacturer
Kann leer sein |
varchar(100) string |
Hersteller des Artikels ( |
MinPlItemKey
Kann leer sein |
int |
Kleinster |
PLHOriginalKey
Kann leer sein |
int |
Schlüssel der ursprünglichen Pickliste bei Split-Picklisten. |
OrderUnit
Kann leer sein |
int |
Verpackungseinheit aus |
Beispielantwort
<SqlRowSet1>
<row>
<BinItemRef>10234</BinItemRef>
<PLIheaderRef>48213</PLIheaderRef>
<BinSortNum>120</BinSortNum>
<ItemNameWithoutNumber>Coffee Mug Blue</ItemNameWithoutNumber>
<BinName>A-01-03</BinName>
<BinKey>5521</BinKey>
<PLHexpiryDate>2024-05-15T18:00:00</PLHexpiryDate>
<HeaderCreateDate>2024-05-14T08:12:00</HeaderCreateDate>
<createEmp>JD</createEmp>
<Qty>2</Qty>
<PLcomment>Express</PLcomment>
<ItemName>4006381333931 Coffee Mug Blue</ItemName>
<ItemNrInt>SUP-7781</ItemNrInt>
<EanUpc>4006381333931</EanUpc>
<ItemNrInt1>MUG-BL-01</ItemNrInt1>
<pliBinRef>5521</pliBinRef>
<BinGroup>A</BinGroup>
<PLIorderlineRef>998877</PLIorderlineRef>
<PLHfromBox>1</PLHfromBox>
<PLHtoBox>20</PLHtoBox>
<PicLinkLarge>https://shop.example.com/img/mug_l.jpg</PicLinkLarge>
<PicLinkSmall>https://shop.example.com/img/mug_s.jpg</PicLinkSmall>
<BatchNumber>B2024-03</BatchNumber>
<BestBeforeDate_Text>31.12.2025</BestBeforeDate_Text>
<BestBeforeDate>2025-12-31T00:00:00</BestBeforeDate>
<OrderNr>345678</OrderNr>
<OrderNrExternal>SHOP-100234</OrderNrExternal>
<OtherItemsCount>3</OtherItemsCount>
<DistinctBins>7</DistinctBins>
<ItemTags>Fragile,</ItemTags>
<PickingStatusCode>OPEN</PickingStatusCode>
<Manufacturer>Acme</Manufacturer>
<MinPlItemKey>7712345</MinPlItemKey>
<PLHOriginalKey>48213</PLHOriginalKey>
<OrderUnit>6</OrderUnit>
</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:pixiGetPickListDetailForPico>
<PLHkey>48213</PLHkey>
</ns1:pixiGetPickListDetailForPico>
</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:pixiGetPickListDetailForPico>
<PLHkey>48213</PLHkey>
</ns1:pixiGetPickListDetailForPico>
</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 = [
'PLHkey' => '48213',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetPickListDetailForPico', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetPickListDetailForPico