pixiGetDeliveryItem
Liefert die Positionen von Lieferantenlieferungen (Wareneingängen) mit Artikeldaten, Preisen, Tags und Chargendetails, gefiltert nach Lieferung, Artikel und Zeitraum.
Liest Lieferpositionen aus SDelDetail zusammen mit dem Lieferkopf (SDelHeader) und liefert eine Zeile pro Position.
Normalisierung der Parameter
0beiSDelHKey/DeliveryNumberund Leerstrings beiItemNrInternal/EANUPCgelten als nicht gesetzt.RowCountist bei NULL standardmäßig 100,Offsetstandardmäßig 0.
Auflösung der Filter
- Artikel:
ItemNrInternalwird als interne Artikelnummer undEANUPCals EAN in der Artikelcode-Tabelle gesucht. Sind beide angegeben, wird der erste Artikel verwendet, auf den einer der beiden Codes passt. - Lieferung: Ist
SDelHKeynicht gesetzt, wirdDeliveryNumberauf den Schlüssel der ersten Lieferung mit dieser Nummer aufgelöst. IstSDelHKeygesetzt, wirdDeliveryNumberignoriert. - Startdatum: Ist
DateFromleer und eine Lieferung bekannt, ist das Startdatum der Tag der ältesten Position dieser Lieferung. Andernfalls gilt standardmäßig heute minus 700 Tage. - Enddatum:
DateToist standardmäßig heute plus 365 Tage.
Auswahl Eine Position wird ausgewählt, wenn alle folgenden Bedingungen zutreffen:
SDelDkey>Offset.- Sie gehört zur aufgelösten Lieferung, sofern vorhanden.
- Sie gehört zum aufgelösten Artikel, sofern vorhanden.
- Ihr Anlagedatum liegt zwischen
DateFrom(inklusive) undDateTo(exklusive).
Es werden die ersten RowCount Positionen in aufsteigender SDelDkey-Reihenfolge übernommen. Geliefert werden nur Positionen, die auch in der Wareneingangs-View pvGoodsReceiptItemDbo vorhanden sind; diese liefert die interne Lieferantenbestellnummer.
Anreicherung
- Artikelstammdaten (interne und Lieferanten-Artikelnummer, EAN, Bildlinks) stammen aus
items. DeliveryItemNrSupplist die Lieferanten-Artikelnummer des liefernden Lieferanten ausAddItems.ItemTAGsenthält alle Tag-Namen des Artikels, durch|getrennt und alphabetisch sortiert.BatchManagementDetailswird nur für Artikel mit Tag-6oder-7(Chargen-/MHD-Verwaltung) gefüllt. Das Feld enthält ein XML-Fragment mit einemrow-Element pro Lagerplatz-Logeintrag dieser Lieferung und dieses Artikels, der eine Charge oder ein MHD trägt. Jedesrow-Element hat das AttributBinItemLogIdund die UnterelementeBinItemLogId,LocationId,BinRef,ItemRef,DeliveredQty,BatchNumberundBestBeforeDate.
Paging
Das Paging ist schlüsselbasiert. Für die nächste Seite wird der höchste SDelDkey der vorherigen Seite als Offset übergeben.
Hinweise
- Alle Lesezugriffe erfolgen mit
NOLOCK, daher können nicht festgeschriebene Daten erscheinen. - Nicht auflösbare Filter: Kann
DeliveryNumber,ItemNrInternaloderEANUPCnicht aufgelöst werden, entfällt der jeweilige Filter stillschweigend. Der Aufruf liefert dann Positionen aller Lieferungen bzw. Artikel im Zeitraum statt eines leeren Ergebnisses. - Lieferung ohne Positionen: Ist ein Lieferschlüssel bekannt,
DateFromaber leer und hat die Lieferung keine Positionen, wird das Startdatum NULL und es werden keine Zeilen geliefert. DateToist exklusiv und wird nicht auf das Tagesende erweitert. Ein reiner Datumswert wie2024-05-31schließt diesen Tag aus.- Standard-Startdatum: Der Standardwert liegt 700 Tage zurück, nicht exakt zwei Jahre.
Offsetist keine Anzahl zu überspringender Zeilen. Der Wert wird mitSDelDkeyverglichen.- Sortierung: Das Endergebnis hat kein
ORDER BY, die Ausgabereihenfolge ist daher nicht garantiert. Bei Bedarf clientseitig nachSDelDkeysortieren. - Weniger Zeilen als
RowCount: Positionen, deren Artikel nicht initemsexistiert, entfallen erst nach derRowCount-Begrenzung. Eine Seite kann daher weniger Zeilen enthalten. - Doppelte Zeilen: Enthält
AddItemsmehrere Zeilen für denselben Artikel und Lieferanten, kann eine Position mehrfach erscheinen. - Chargendetails pro Lieferung, nicht pro Position: Lagerplatz-Logeinträge werden nur über Lieferung und Artikel zugeordnet. Kommt ein Artikel auf mehreren Positionen einer Lieferung vor, zeigt jede Position alle Einträge.
DeliveredQtyim XML wird in eine Ganzzahl umgewandelt.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
SDelHKey
|
int | NULL |
Interner Schlüssel der Lieferantenlieferung (Wareneingangskopf). Beispiel: |
DeliveryNumber
|
int | NULL |
Liefernummer ( Beispiel: |
ItemNrInternal
|
varchar(50) string |
NULL |
Interne Artikelnummer zur Filterung nach Artikel. Ein Leerstring bedeutet keinen Filter. Wird die Nummer nicht gefunden, wird kein Artikelfilter angewendet. Beispiel: |
EANUPC
|
varchar(13) string |
NULL |
EAN/UPC-Code zur Filterung nach Artikel. In Kombination mit Beispiel: |
RowCount
|
int | 100 |
Maximale Anzahl zurückgegebener Lieferpositionen (Seitengröße). NULL wird als 100 behandelt. Beispiel: |
Offset
|
int | 0 |
Cursor für schlüsselbasiertes Paging. Es werden nur Positionen mit Beispiel: |
DateFrom
|
datetime dateTime |
NULL |
Untergrenze (inklusive) für das Anlagedatum der Position. Standard: Tag der ältesten Position der angegebenen Lieferung, sonst heute minus 700 Tage. Beispiel: |
DateTo
|
datetime dateTime |
NULL |
Obergrenze (exklusiv) für das Anlagedatum der Position. Standard: heute plus 365 Tage. Beispiel: |
Antwort
Result-Set 1 · Immer (ggf. leer).
Eine Zeile pro Lieferantenlieferposition mit Kopfdaten, Artikeldaten, Preisen, Tags und Chargeninformationen.
| Spalte | Typ | Beschreibung |
|---|---|---|
SDelDkey
Kann leer sein |
int |
Schlüssel der Lieferposition; als Paging-Cursor verwendbar. |
DeliveryNumber
Kann leer sein |
int |
Liefernummer ( |
SDelHKey
Kann leer sein |
int |
Schlüssel des Lieferkopfs. |
ItemKey
Kann leer sein |
int |
Interner Artikelschlüssel. |
ItemNrInt
Kann leer sein |
string |
Interne Artikelnummer aus dem Artikelstamm. |
ItemNrSuppl
Kann leer sein |
string |
Lieferanten-Artikelnummer aus dem Artikelstamm. |
DeliveryItemNrSuppl
Kann leer sein |
string |
Lieferanten-Artikelnummer des liefernden Lieferanten (aus |
ItemName
Kann leer sein |
varchar(200) string |
Artikelbezeichnung, wie in der Lieferposition gespeichert. |
EANUPC
Kann leer sein |
string |
EAN/UPC des Artikels. |
DeliveredQty
Kann leer sein |
money decimal |
Gelieferte Menge. |
OrderedQty
Kann leer sein |
money decimal |
Bestellte Menge. |
MidPrice
Kann leer sein |
money decimal |
Durchschnittspreis der Position ( |
Discount
Kann leer sein |
money decimal |
Rabatt der Position. |
EK
Kann leer sein |
money decimal |
Einkaufspreis der Position. |
FinalPrice
Kann leer sein |
money decimal |
Endgültiger Einkaufspreis nach Rabatt. |
ItemTAGs
Kann leer sein |
varchar(8000) string |
Tag-Namen des Artikels, durch |
PicLinkLarge
Kann leer sein |
string |
Link zum großen Artikelbild. |
PicLinkSmall
Kann leer sein |
string |
Link zum kleinen Artikelbild. |
DeliveryCreateDate
Kann leer sein |
datetime dateTime |
Anlagedatum des Lieferkopfs. |
DeliveryItemCreateDate
Kann leer sein |
datetime dateTime |
Anlagedatum der Lieferposition. |
DeliveryItemLastUpdateDate
Kann leer sein |
datetime dateTime |
Datum der letzten Änderung der Lieferposition. |
DeliveryStatus
Kann leer sein |
varchar(3) string |
Statuscode des Lieferkopfs. |
BatchNumber
Kann leer sein |
varchar(50) string |
In der Lieferposition gespeicherte Charge. |
BestBeforeDate
Kann leer sein |
datetime dateTime |
In der Lieferposition gespeichertes MHD. |
BatchManagementDetails
Kann leer sein |
xml |
XML-Fragment aus |
InternalNumber
Kann leer sein |
varchar(50) string |
Interne Nummer der Lieferantenbestellung, zu der die Position gehört. |
ExternalReceiptNr
Kann leer sein |
varchar(50) string |
Externe Belegnummer der Lieferung. |
Beispielantwort
<SqlRowSet1>
<row>
<SDelDkey>88231</SDelDkey>
<DeliveryNumber>20240315</DeliveryNumber>
<SDelHKey>15432</SDelHKey>
<ItemKey>4711</ItemKey>
<ItemNrInt>ART-10045</ItemNrInt>
<ItemNrSuppl>SUP-998</ItemNrSuppl>
<DeliveryItemNrSuppl>SUP-998</DeliveryItemNrSuppl>
<ItemName>Bio Olive Oil 500ml</ItemName>
<EANUPC>4006381333931</EANUPC>
<DeliveredQty>24.0000</DeliveredQty>
<OrderedQty>24.0000</OrderedQty>
<MidPrice>4.1000</MidPrice>
<Discount>0.0000</Discount>
<EK>4.2000</EK>
<FinalPrice>4.2000</FinalPrice>
<ItemTAGs>Batch|Food</ItemTAGs>
<PicLinkLarge>https://shop.example.com/img/4711_l.jpg</PicLinkLarge>
<PicLinkSmall>https://shop.example.com/img/4711_s.jpg</PicLinkSmall>
<DeliveryCreateDate>2024-03-15T08:12:00</DeliveryCreateDate>
<DeliveryItemCreateDate>2024-03-15T08:14:31</DeliveryItemCreateDate>
<DeliveryItemLastUpdateDate>2024-03-15T09:02:10</DeliveryItemLastUpdateDate>
<DeliveryStatus>BOO</DeliveryStatus>
<BatchNumber>L2403-17</BatchNumber>
<BestBeforeDate>2025-09-30T00:00:00</BestBeforeDate>
<BatchManagementDetails>
<row BinItemLogId="551203">
<BinItemLogId>551203</BinItemLogId>
<LocationId>001</LocationId>
<BinRef>3021</BinRef>
<ItemRef>4711</ItemRef>
<DeliveredQty>24</DeliveredQty>
<BatchNumber>L2403-17</BatchNumber>
<BestBeforeDate>2025-09-30T00:00:00</BestBeforeDate>
</row>
</BatchManagementDetails>
<InternalNumber>PO-2024-0312</InternalNumber>
<ExternalReceiptNr>LS-778812</ExternalReceiptNr>
</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:pixiGetDeliveryItem>
<!-- <SDelHKey>15432</SDelHKey> -->
<!-- <DeliveryNumber>20240315</DeliveryNumber> -->
<!-- <ItemNrInternal>ART-10045</ItemNrInternal> -->
<!-- <EANUPC>4006381333931</EANUPC> -->
<!-- <RowCount>100</RowCount> -->
<!-- <Offset>0</Offset> -->
<!-- <DateFrom>2024-01-01T00:00:00</DateFrom> -->
<!-- <DateTo>2024-04-01T00:00:00</DateTo> -->
</ns1:pixiGetDeliveryItem>
</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:pixiGetDeliveryItem>
<!-- <SDelHKey>15432</SDelHKey> -->
<!-- <DeliveryNumber>20240315</DeliveryNumber> -->
<!-- <ItemNrInternal>ART-10045</ItemNrInternal> -->
<!-- <EANUPC>4006381333931</EANUPC> -->
<!-- <RowCount>100</RowCount> -->
<!-- <Offset>0</Offset> -->
<!-- <DateFrom>2024-01-01T00:00:00</DateFrom> -->
<!-- <DateTo>2024-04-01T00:00:00</DateTo> -->
</ns1:pixiGetDeliveryItem>
</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 = [
// 'SDelHKey' => '15432',
// 'DeliveryNumber' => '20240315',
// 'ItemNrInternal' => 'ART-10045',
// 'EANUPC' => '4006381333931',
// 'RowCount' => '100',
// 'Offset' => '0',
// 'DateFrom' => '2024-01-01T00:00:00',
// 'DateTo' => '2024-04-01T00:00:00',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetDeliveryItem', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetDeliveryItem