pixiGetShippedOrders
Liefert die versendeten Aufträge (fakturiert mit Historienstatus EIN) eines Zeitraums, entweder als Detailzeilen oder als Anzahl und Summe je Währung.
Ermittelt alle Rechnungen eines Zeitraums, die als versendet gelten, und liefert sie entweder detailliert oder verdichtet.
Auswahl der Rechnungen
- Eine Rechnung wird berücksichtigt, wenn mindestens eine ihrer Rechnungspositionen (
Invlines) auf eine Auftragsposition verweist, zu der einOrderHistory-Eintrag mit StatusEINexistiert. - Der Zeitraum wird per
BETWEEN @FromDate AND @ToDategegenInvoices.InvDate(Standard) bzw. gegenInvoices.ScanOutDategeprüft, wennSearchByScanOutDate = 1ist. - Standardmäßig werden nur Rechnungen mit
total > 0geliefert; mitIncludeOrdersWithTotalZero = 1auch Rechnungen mittotal >= 0. Negative Summen werden nie geliefert. - Ist
CustomerNrExternalgefüllt (der Wert wird getrimmt; leer bedeutet kein Filter), werden nur Rechnungen des Kunden mit dieser externen Kundennummer geliefert.
Zu jeder ausgewählten Rechnung werden die unterschiedlichen externen Auftragsnummern (Orderlines.OrderNrExternal) ihrer Positionen ermittelt.
ShowDetails = 1 (Standard)
Liefert eine Zeile je Kombination aus Rechnung und externer Auftragsnummer, sortiert nach InvDate. Eine Rechnung über mehrere Aufträge erscheint daher mehrfach. Die Zeilen enthalten Rechnungsdaten, Lieferadresse, Währung, Versanddienstleister, Tracking-ID und den Mitarbeiter, der die Rechnung ausgescannt hat (ScanOutEmp: alphabetisch kleinster UpdateEmp der OrderHistory-Einträge mit Status AUS).
Jeder andere Wert von ShowDetails
Liefert eine Zeile je Währung mit der Anzahl der Aufträge (Kombinationen aus Rechnung und Auftragsnummer) und der Summe der Rechnungsbeträge, wobei jeder Rechnungsbetrag nur einmal gezählt wird.
Hinweise
- Alle Lesezugriffe erfolgen mit
NOLOCK; das Ergebnis kann nicht festgeschriebene Daten enthalten. FromDateundToDatesind Zeichenketten, die für denBETWEEN-Vergleich implizit konvertiert werden. Ein Datum ohne Uhrzeit (z. B.2024-01-31) bedeutet Mitternacht, spätere Rechnungen dieses Tages fehlen dann. Daher eine Uhrzeit wie2024-01-31 23:59:59oder den Folgetag angeben. Ein eindeutiges Format wie ISOyyyy-mm-ddThh:mi:ssverwenden.- Im Detailmodus entfallen Rechnungen ohne passende Lieferadresse (
ShipAdrRef) oder Währung wegen Inner Joins. - Im Summenmodus wird keine Zeile geliefert, wenn keine Rechnung passt (die Abfrage verwendet
GROUP BY). ScanOutEmpist leer, wenn zu den Rechnungspositionen keinOrderHistory-Eintrag mit StatusAUSexistiert.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
ShowDetails
|
int | 1 |
Steuert die Ausgabe: Erlaubte Werte
Beispiel: |
FromDate
Pflicht
|
varchar(25) string |
– |
Beginn des Zeitraums (inklusive), verglichen mit Rechnungsdatum bzw. Ausscandatum. Beispiel: |
ToDate
Pflicht
|
varchar(25) string |
– |
Ende des Zeitraums (inklusive). Ohne Uhrzeit bedeutet es Mitternacht dieses Tages. Beispiel: |
CustomerNrExternal
|
varchar(60) string |
– |
Optionale externe Kundennummer zur Einschränkung auf einen Kunden. Leer bedeutet alle Kunden. Beispiel: |
IncludeOrdersWithTotalZero
|
bit boolean |
0 |
Bei Erlaubte Werte
Beispiel: |
SearchByScanOutDate
|
bit boolean |
0 |
Bei Erlaubte Werte
Beispiel: |
Antwort
Result-Set 1 · Wenn ShowDetails = 1
Eine Zeile je Rechnung und externer Auftragsnummer, sortiert nach Rechnungsdatum.
| Spalte | Typ | Beschreibung |
|---|---|---|
InvoiceNr
|
string |
Rechnungsnummer |
InvDate
Kann leer sein |
dateTime |
Rechnungsdatum |
ScanOutDate
Kann leer sein |
dateTime |
Ausscandatum der Rechnung |
total
Kann leer sein |
decimal |
Rechnungssumme |
ShipmentTrackingID
Kann leer sein |
string |
Sendungsverfolgungsnummer |
SName
Kann leer sein |
string |
Kundenname |
SAddress
Kann leer sein |
string |
Straße der Lieferadresse |
SCity
Kann leer sein |
string |
Ort der Lieferadresse |
SZIP
Kann leer sein |
string |
PLZ der Lieferadresse |
SCountry
Kann leer sein |
string |
Ländercode der Lieferadresse wie in Pixi gespeichert |
OrderNrExternal
Kann leer sein |
string |
Externe Auftragsnummer |
CurrencyCode
|
string |
Währungscode der Rechnung |
ShipVendor
Kann leer sein |
string |
Versanddienstleister |
CustomerNrExternal
Kann leer sein |
string |
Externe Kundennummer |
ScanOutEmp
Kann leer sein |
varchar(30) string |
Mitarbeiter, der die Rechnung ausgescannt hat (kleinster |
SCountryISO2
Kann leer sein |
string |
ISO-3166-Alpha-2-Code des Lieferlandes |
SCountryISO3
Kann leer sein |
string |
ISO-3166-Alpha-3-Code des Lieferlandes |
Result-Set 2 · Wenn ShowDetails <> 1 und mindestens eine Rechnung passt
Eine Zeile je Währung mit Auftragsanzahl und Summe.
| Spalte | Typ | Beschreibung |
|---|---|---|
NrOfOrders
|
int |
Anzahl der Aufträge (Kombinationen aus Rechnung und externer Auftragsnummer) |
Total
Kann leer sein |
decimal |
Summe der Rechnungsbeträge, jede Rechnung einmal gezählt |
CurrencyCode
|
string |
Währungscode |
Beispielantwort
<SqlRowSet1>
<row>
<InvoiceNr>240117</InvoiceNr>
<InvDate>2024-01-15T10:24:00</InvDate>
<ScanOutDate>2024-01-15T14:02:00</ScanOutDate>
<total>89.90</total>
<ShipmentTrackingID>00340434161234567890</ShipmentTrackingID>
<SName>Muster GmbH</SName>
<SAddress>Hauptstraße 12</SAddress>
<SCity>München</SCity>
<SZIP>80331</SZIP>
<SCountry>D</SCountry>
<OrderNrExternal>SHOP-100512</OrderNrExternal>
<CurrencyCode>EUR</CurrencyCode>
<ShipVendor>DHL</ShipVendor>
<CustomerNrExternal>K-100245</CustomerNrExternal>
<ScanOutEmp>MMUSTER</ScanOutEmp>
<SCountryISO2>DE</SCountryISO2>
<SCountryISO3>DEU</SCountryISO3>
</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:pixiGetShippedOrders>
<!-- <ShowDetails>1</ShowDetails> -->
<FromDate>2024-01-01T00:00:00</FromDate>
<ToDate>2024-01-31T23:59:59</ToDate>
<!-- <CustomerNrExternal>K-100245</CustomerNrExternal> -->
<!-- <IncludeOrdersWithTotalZero>0</IncludeOrdersWithTotalZero> -->
<!-- <SearchByScanOutDate>0</SearchByScanOutDate> -->
</ns1:pixiGetShippedOrders>
</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:pixiGetShippedOrders>
<!-- <ShowDetails>1</ShowDetails> -->
<FromDate>2024-01-01T00:00:00</FromDate>
<ToDate>2024-01-31T23:59:59</ToDate>
<!-- <CustomerNrExternal>K-100245</CustomerNrExternal> -->
<!-- <IncludeOrdersWithTotalZero>0</IncludeOrdersWithTotalZero> -->
<!-- <SearchByScanOutDate>0</SearchByScanOutDate> -->
</ns1:pixiGetShippedOrders>
</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 = [
// 'ShowDetails' => '1',
'FromDate' => '2024-01-01T00:00:00',
'ToDate' => '2024-01-31T23:59:59',
// 'CustomerNrExternal' => 'K-100245',
// 'IncludeOrdersWithTotalZero' => '0',
// 'SearchByScanOutDate' => '0',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetShippedOrders', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetShippedOrders