pixiGetOrdersByDeliveryDate
Liefert Aufträge mit Lieferadresse, deren Lieferdatum (ShipDate) eine bestimmte Anzahl Tage in der Zukunft liegt, einem Datum entspricht oder in der Zukunft liegt.
Liest Aufträge aus OrderHeader zusammen mit ihrer Lieferadresse (Addresses über ShipAdrRef) und liefert Auftragsnummer, Auftragsdatum, Lieferdatum, Versandart sowie die Felder der Lieferadresse.
Der Datumsfilter besteht aus drei Alternativen, die mit ODER verknüpft sind:
DaysToDeliveryDate: Aufträge, derenShipDategenau so viele Kalendertage nach dem heutigen Tag liegt (Tagesgrenzen überDATEDIFF(DAY, ...);0= heute, negative Werte = vergangene Tage).DeliveryDate: Aufträge, derenShipDateexakt dem übergebenen Datums-/Zeitwert entspricht.- Werden weder
DaysToDeliveryDatenochDeliveryDateübergeben, werden alle Aufträge geliefert, derenShipDatenach dem aktuellen Zeitpunkt liegt.
Werden beide Datumsparameter übergeben, werden Aufträge geliefert, die einem der beiden Kriterien entsprechen.
Zusätzliche Filter (UND-verknüpft):
ShipVendor: nur Aufträge mit diesemShipVendorCode.ShopID: nur Aufträge, deren Lieferadresse dieseAddrShopIDhat.
Eine Sortierung ist nicht definiert; die Reihenfolge der Zeilen ist beliebig. Paging gibt es nicht.
Hinweise
DeliveryDatewird exakt inklusive Uhrzeit mitShipDateverglichen. EnthältShipDateeine Uhrzeit, muss der exakte Wert übergeben oder stattdessenDaysToDeliveryDateverwendet werden.- Der Shop-Filter bezieht sich auf den Shop der Lieferadresse (
AddrShopID), nicht auf ein Feld des Auftragskopfs. - Aufträge ohne passende Lieferadresse werden nicht geliefert (Inner Join).
- Der Auftragsstatus wird nicht gefiltert; stornierte oder bereits versendete Aufträge können enthalten sein.
- Ohne Parameter werden alle Aufträge mit Lieferdatum in der Zukunft geliefert, was eine große Ergebnismenge ergeben kann.
- Der Kopfkommentar der Prozedur ("Template for getting items...") ist ein Überbleibsel und beschreibt die Prozedur nicht.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
DaysToDeliveryDate
|
int | NULL |
Anzahl Kalendertage von heute bis zum Lieferdatum ( Beispiel: |
DeliveryDate
|
datetime dateTime |
NULL |
Exaktes Lieferdatum; wird per Gleichheit inklusive Uhrzeit mit Beispiel: |
ShipVendor
|
varchar(3) string |
NULL |
Code der Versandart ( Beispiel: |
ShopID
|
varchar(3) string |
NULL |
Shop-ID der Lieferadresse ( Beispiel: |
Antwort
Result-Set 1 · Immer (kann leer sein)
Eine Zeile je passendem Auftrag mit seiner Lieferadresse.
| Spalte | Typ | Beschreibung |
|---|---|---|
OrderNr
|
int |
Auftragsnummer aus |
OrderDate
Kann leer sein |
dateTime |
Auftragsdatum. |
DeliveryDate
Kann leer sein |
dateTime |
Lieferdatum ( |
ShipVendorCode
Kann leer sein |
string |
Code der Versandart des Auftrags. |
eMail
Kann leer sein |
string |
E-Mail-Adresse der Lieferadresse. |
FirstName
Kann leer sein |
string |
Vorname der Lieferadresse. |
LastName
Kann leer sein |
string |
Nachname der Lieferadresse. |
Name
Kann leer sein |
string |
Namensfeld der Lieferadresse (z. B. Firma). |
CareOf
Kann leer sein |
string |
c/o-Zeile der Lieferadresse. |
Address
Kann leer sein |
string |
Adresszeile der Lieferadresse. |
Street
Kann leer sein |
string |
Straße der Lieferadresse. |
HouseNr
Kann leer sein |
string |
Hausnummer der Lieferadresse. |
ZIP
Kann leer sein |
string |
Postleitzahl der Lieferadresse. |
City
Kann leer sein |
string |
Ort der Lieferadresse. |
Country
Kann leer sein |
string |
Land der Lieferadresse. |
AddrShopID
Kann leer sein |
string |
Shop-ID der Lieferadresse. |
Beispielantwort
<SqlRowSet1>
<row>
<OrderNr>104523</OrderNr>
<OrderDate>2024-06-10T09:15:00</OrderDate>
<DeliveryDate>2024-06-14T00:00:00</DeliveryDate>
<ShipVendorCode>DHL</ShipVendorCode>
<eMail>anna.mueller@example.de</eMail>
<FirstName>Anna</FirstName>
<LastName>Müller</LastName>
<Name>Anna Müller</Name>
<CareOf/>
<Address>Hauptstraße 12</Address>
<Street>Hauptstraße</Street>
<HouseNr>12</HouseNr>
<ZIP>80331</ZIP>
<City>München</City>
<Country>DE</Country>
<AddrShopID>SHP</AddrShopID>
</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:pixiGetOrdersByDeliveryDate>
<!-- <DaysToDeliveryDate>2</DaysToDeliveryDate> -->
<!-- <DeliveryDate>2024-06-14T00:00:00</DeliveryDate> -->
<!-- <ShipVendor>DHL</ShipVendor> -->
<!-- <ShopID>SHP</ShopID> -->
</ns1:pixiGetOrdersByDeliveryDate>
</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:pixiGetOrdersByDeliveryDate>
<!-- <DaysToDeliveryDate>2</DaysToDeliveryDate> -->
<!-- <DeliveryDate>2024-06-14T00:00:00</DeliveryDate> -->
<!-- <ShipVendor>DHL</ShipVendor> -->
<!-- <ShopID>SHP</ShopID> -->
</ns1:pixiGetOrdersByDeliveryDate>
</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 = [
// 'DaysToDeliveryDate' => '2',
// 'DeliveryDate' => '2024-06-14T00:00:00',
// 'ShipVendor' => 'DHL',
// 'ShopID' => 'SHP',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetOrdersByDeliveryDate', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetOrdersByDeliveryDate