pixiReportShippedOrders
Liefert Dashboard-Zählwerte versendeter Rechnungen für den Stichtag, den Vortag, den laufenden Monat bis zum Enddatum und den Vormonat.
Zählt Versendungen für ein Dashboard. Eine Versendung ist ein Datensatz in Invoices mit einem ScanOutDate. Gezählt werden nur Rechnungen mit mindestens einer Auftragsposition (Orderlines.InvRef). Jede Rechnung zählt einmal; die Werte sind also Rechnungsanzahlen, keine Auftragsanzahlen.
Wirkung der Parameter:
EndDateist standardmäßig das aktuelle Datum mit Uhrzeit (GETDATE()). Es ist der Bezugszeitpunkt für alle Zeiträume.StartDateist standardmäßig der erste Tag des Vormonats vonEndDate. Es wird nur für den Wert des Stichtags verwendet, und nur wenn es auf demselben Kalendertag wieEndDateliegt. IstStartDatespäter alsEndDate, wird es aufEndDategesetzt.ShopIDbeschränkt die Zählung auf Rechnungen mit mindestens einer Auftragsposition mitOrdShopID=ShopID. Ein leerer Wert oderNULLbedeutet alle Shops.
Zuerst werden alle passenden Rechnungen gesammelt, deren ScanOutDate zwischen dem Beginn des Vormonats und dem Ende des Tages von EndDate liegt. Danach wird eine Zeile mit vier Zählwerten geliefert (alle Bereiche schließen beide Grenzen ein):
ShipoutOnGivenDay: abStartDate(am selben Tag) oder sonst ab Mitternacht des Tages vonEndDate, bisEndDate.ShipoutOnPreviousDay: der ganze Kalendertag vorEndDate.ShipoutInGivenMonth: vom 1. des Monats vonEndDate, 00:00 Uhr, bisEndDate.ShipoutInPreviousMonth: der ganze vorherige Kalendermonat.
Hinweise
- Alle vier Zählwerte werden in
varchar(10)-Variablen gespeichert und daher als Zeichenketten geliefert, nicht als Ganzzahlen. - Die Zählung reicht bis
EndDateselbst, nicht bis zum Ende dieses Tages. WirdEndDateohne Uhrzeit (Mitternacht) übergeben, zähltShipoutOnGivenDaynur Rechnungen, die genau um Mitternacht gescannt wurden, undShipoutInGivenMonthlässt den ganzen Tag vonEndDateaus. Daher eine Uhrzeit wie 23:59:59 übergeben oderEndDateweglassen, damit die aktuelle Uhrzeit gilt. - Mit
StartDatelässt sich kein Zeitraum über mehrere Tage abfragen. Liegt es auf einem anderen Tag alsEndDate, wird es ignoriert, und die Zählung für den Stichtag beginnt um Mitternacht des Tages vonEndDate. - Die Lesezugriffe verwenden
NOLOCK; die Zählwerte können daher nicht festgeschriebene Daten enthalten. - Tritt ein Fehler auf, wird die Meldung nur per
PRINTausgegeben, und die Prozedur endet mit Rückgabewert -1 ohne Ergebnismenge.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
StartDate
|
datetime dateTime |
NULL |
Startzeitpunkt für die Zählung am Stichtag. Wird nur verwendet, wenn er auf demselben Kalendertag wie Beispiel: |
EndDate
|
datetime dateTime |
NULL |
Bezugszeitpunkt. Alle Zeiträume werden davon abgeleitet; die Zählwerte für Stichtag und Monat reichen bis zu diesem Zeitpunkt. Standard: aktuelles Datum mit Uhrzeit. Beispiel: |
ShopID
|
varchar(3) string |
– |
Shop-Filter. Gezählt werden nur Rechnungen mit mindestens einer Auftragsposition dieses Shops ( Beispiel: |
Antwort
Result-Set 1 · Bei Erfolg (entfällt, wenn im TRY-Block ein Fehler auftritt)
Eine Zeile mit den vier Versand-Zählwerten.
| Spalte | Typ | Beschreibung |
|---|---|---|
ShipoutOnGivenDay
|
varchar(10) string |
Anzahl der Rechnungen mit |
ShipoutOnPreviousDay
Kann leer sein |
varchar(10) string |
Anzahl der Rechnungen mit Scan-Out am ganzen Kalendertag vor |
ShipoutInGivenMonth
Kann leer sein |
varchar(10) string |
Anzahl der Rechnungen mit Scan-Out vom 1. des Monats von |
ShipoutInPreviousMonth
Kann leer sein |
varchar(10) string |
Anzahl der Rechnungen mit Scan-Out im ganzen vorherigen Kalendermonat. |
Beispielantwort
<SqlRowSet1>
<row>
<ShipoutOnGivenDay>142</ShipoutOnGivenDay>
<ShipoutOnPreviousDay>318</ShipoutOnPreviousDay>
<ShipoutInGivenMonth>4127</ShipoutInGivenMonth>
<ShipoutInPreviousMonth>8954</ShipoutInPreviousMonth>
</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:pixiReportShippedOrders>
<!-- <StartDate>2024-05-15T08:00:00</StartDate> -->
<!-- <EndDate>2024-05-15T17:30:00</EndDate> -->
<!-- <ShopID>SHP</ShopID> -->
</ns1:pixiReportShippedOrders>
</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:pixiReportShippedOrders>
<!-- <StartDate>2024-05-15T08:00:00</StartDate> -->
<!-- <EndDate>2024-05-15T17:30:00</EndDate> -->
<!-- <ShopID>SHP</ShopID> -->
</ns1:pixiReportShippedOrders>
</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 = [
// 'StartDate' => '2024-05-15T08:00:00',
// 'EndDate' => '2024-05-15T17:30:00',
// 'ShopID' => 'SHP',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiReportShippedOrders', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiReportShippedOrders