Postman-Collection
Reports Lesen

pixiReportShipOutPerTimeQuant

Liefert die Anzahl ausgescannter (versendeter) Rechnungen je Zeitabschnitt einstellbarer Länge in einem Zeitraum, optional für einen Shop.

Teilt den Zeitraum von startDateTime bis endDateTime in aufeinanderfolgende Abschnitte von timePeriod Stunden. Für jeden Abschnitt werden die Rechnungen gezählt, deren ScanOutdate (Ausscan-Zeitpunkt beim Versand) in den Abschnitt fällt. Je Abschnitt wird eine Zeile geliefert.

  • startDateTime ist standardmäßig der Beginn des aktuellen Tages (00:00), endDateTime standardmäßig der aktuelle Zeitpunkt.
  • timePeriod ist die Abschnittslänge in Stunden und darf Nachkommastellen haben (z. B. 0.5 = 30 Minuten). Standard ist 2. Wird ausdrücklich NULL übergeben, gilt 1 Stunde.
  • Der letzte Abschnitt endet bei endDateTime und kann kürzer als die übrigen sein.
  • shopID filtert auf den Shop, zu dem der Kunde der Rechnung gehört (Customers.CustomerOf). Ein Leerstring (Standard) zählt die Rechnungen aller Shops.
  • Jeder Abschnitt erzeugt eine Zeile, auch Abschnitte mit der Anzahl 0.
  • Die Zeilen erscheinen in der Reihenfolge, in der die Abschnitte erzeugt wurden, also chronologisch. Die abschließende Abfrage hat allerdings kein explizites ORDER BY.

Hinweise

  • Liest Invoices und Customers mit NOLOCK, die Zählungen können daher nicht festgeschriebene Daten enthalten.
  • Der Abschnittsfilter verwendet BETWEEN, beide Grenzen sind also eingeschlossen. Eine Rechnung, die genau auf einer Abschnittsgrenze ausgescannt wurde, wird in zwei benachbarten Abschnitten gezählt.
  • startTimePeriod und endTimePeriod sind Text im Standard-Datumsformat von SQL Server (z. B. Jan 15 2024 2:00PM). Sie sind minutengenau, Sekunden gehen verloren.
  • Die Beschriftung endTimePeriod des letzten Abschnitts wird nicht auf endDateTime gekürzt. Sie zeigt das volle rechnerische Abschnittsende, obwohl nur bis endDateTime gezählt wird.
  • Die Spalte shopID gibt den übergebenen Parameterwert zurück; bei Zählung aller Shops ist sie ein Leerstring.
  • Die Abschnittsgrenzen werden durch Addition von Tagesbruchteilen als float berechnet, bei sehr kleinen Abschnitten kann daher eine Rundungsabweichung entstehen.
  • Ein timePeriod von 0 oder ein negativer Wert führt zu einer Endlosschleife, weil der Abschnittsbeginn nie fortschreitet. Es sollte immer ein positiver Wert übergeben werden.
  • Je Abschnitt wird eine Abfrage ausgeführt, lange Zeiträume mit kurzen Abschnitten können daher langsam sein.

Parameter

Parameter Typ Standardwert Beschreibung
startDateTime
datetime
dateTime
NULL

Beginn des ausgewerteten Zeitraums. NULL bedeutet Beginn des aktuellen Tages (00:00).

Beispiel: 2024-01-15T00:00:00

endDateTime
datetime
dateTime
NULL

Ende des ausgewerteten Zeitraums. NULL bedeutet aktueller Zeitpunkt.

Beispiel: 2024-01-15T18:00:00

timePeriod
float
decimal
2

Länge eines Zeitabschnitts in Stunden; Nachkommastellen sind erlaubt. Ein ausdrückliches NULL bedeutet 1 Stunde. Muss größer als 0 sein.

Beispiel: 1

shopID
varchar(3)
string
–

Shop-Kürzel, zu dem der Kunde der Rechnung gehören muss (Customers.CustomerOf). Ein Leerstring zählt alle Shops.

Beispiel: ABC

Antwort

Result-Set 1 · Immer; eine Zeile je Zeitabschnitt. Leer, wenn startDateTime nicht vor endDateTime liegt.

Anzahl ausgescannter Rechnungen je Zeitabschnitt.

Spalte Typ Beschreibung
shopID
Kann leer sein
varchar(3)
string

Wert des Parameters shopID wie übergeben (Leerstring für alle Shops).

SUMShipOut
Kann leer sein
int

Anzahl der Rechnungen mit ScanOutdate innerhalb des Abschnitts, beide Grenzen eingeschlossen.

startTimePeriod
Kann leer sein
varchar(50)
string

Abschnittsbeginn als Text im Standard-Datumsformat von SQL Server, z. B. Jan 15 2024 12:00AM.

endTimePeriod
Kann leer sein
varchar(50)
string

Rechnerisches Abschnittsende als Text im selben Format. Beim letzten Abschnitt kann es nach endDateTime liegen.

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:pixiReportShipOutPerTimeQuant>
      <!-- <startDateTime>2024-01-15T00:00:00</startDateTime> -->
      <!-- <endDateTime>2024-01-15T18:00:00</endDateTime> -->
      <!-- <timePeriod>1</timePeriod> -->
      <!-- <shopID>ABC</shopID> -->
    </ns1:pixiReportShipOutPerTimeQuant>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Invoices · Lesen Customers · Lesen
SQL-Objekt:
dbo.pipiReportShipOutPerTimeQuant
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben