Postman-Collection
Reports Lesen

pixiReport_LogisticQuality_Details

Liefert den Logistikqualitäts-Report: Tage von Auftragsanlage bis Versand je Auftrag oder eine prozentuale Verteilung für das Versandsiegel.

Misst, wie viele Tage (in 24-Stunden-Schritten) der Versand von Aufträgen gedauert hat, die in den letzten DaysBack Tagen angelegt wurden.

Zeitraum: FromDate ist der Tagesbeginn vor DaysBack Tagen, ToDate das Ende des heutigen Tages.

Auftragsauswahl:

  • Aufträge, deren Kopf-CreateDate am oder nach FromDate liegt.
  • Das Anlagedatum des Auftrags ist der früheste ANG-Eintrag in OrderHistory innerhalb des Zeitraums. Das Versanddatum ist das früheste ShipDate der Auftragspositionen.
  • Das ShipDate im Auftragskopf muss NULL sein.
  • Mindestens eine Auftragsposition muss den Status ANG oder AUS haben. Ist ShopID gesetzt, muss diese Position zusätzlich zu diesem Shop gehören (OrdShopID).
  • Aufträge von Kunden, die nach FromDate in CustomersHist gesperrt wurden (HSLocked = 'Y'), werden ausgeschlossen.

Weitere Ausschlüsse (der gesamte Auftrag entfällt, sobald eine Position betroffen ist):

  • Auftragspositionen, deren Anlagezeitpunkte mehr als 5 Minuten auseinanderliegen. Solche Aufträge gelten als nach dem Import manuell geändert.
  • Nicht ausreichender Bestand zum Auftragsdatum. Der Bedarf wird je Artikel aus Anlage- und Versandereignissen kumuliert. Der Bestand wird aus InvBinItemLog in Lagern ohne Sonderbestand (SpecialStock = 0) berechnet. Ist der Bedarf größer oder gleich dem Bestand, entfällt der Auftrag.
  • Positionen auf ANG, deren verfügbarer Bestand <= 1 ist. Als verfügbarer Bestand gilt ItemLocationSpecific.LocationQuantity, wenn Sonderbestandslager existieren, sonst Items.Quantity. Bei CalcSeal = 0 werden frühere Reservierungen offener Aufträge (nicht finale Status außer EIN, FUT, FUS) abgezogen.

Datumsanpassungen:

  • Aufträge, die an einem Freitag, Samstag oder Sonntag angelegt wurden, werden auf den folgenden Montag verschoben. Die Uhrzeit bleibt erhalten.
  • Als Feiertage gelten Tage ohne Rechnungen mit positivem Betrag. Ein Auftrag wird auf den ersten Rechnungszeitpunkt des nächsten Tages mit Rechnungen verschoben, wenn einer dieser Fälle zutrifft:
    • sein Anlagetag hat keine solchen Rechnungen;
    • der Folgetag hat keine solchen Rechnungen.

Ausgabe (nur Aufträge mit Versanddatum):

  • CalcSeal = 0 (pixi* Report-Client): eine Zeile je Auftrag mit DaysToShip, Auftragsnummer und Datumswerten, sortiert nach DaysToShip und CreateDate. Mit ExcludeZeros = 1 werden nur Aufträge mit DaysToShip > 0 geliefert.
  • CalcSeal = 1 (Seal-/Dashboard-Apps): eine Zeile je DaysToShip-Wert mit der Anzahl der Aufträge, ihrem Anteil an allen Paketen und der Gesamtzahl. Zusätzlich wird immer eine Zeile mit DaysToShip = 99 und Nullwerten angefügt. Die Zeilen sind nach DaysToShip sortiert.

Hinweise

  • Der Parameter OnlyItemsOnStock ist deklariert, wird im Code aber nirgends verwendet.
  • Alle permanenten Tabellen werden mit NOLOCK gelesen, das Ergebnis kann daher nicht festgeschriebene Daten enthalten.
  • Innerhalb der Prozedur wird SET DATEFIRST 1 gesetzt. Die Wochentage 5–7 sind Freitag bis Sonntag.
  • Das ausgegebene CreateDate ist das angepasste Datum (Wochenend-/Feiertagsverschiebung), nicht das ursprüngliche Auftragsdatum.
  • Aufträge mit gesetztem ShipDate im Auftragskopf werden nicht berücksichtigt. Als Versanddatum dient das früheste ShipDate der Positionen.
  • Aufträge, deren ANG-Positionen keinen passenden ItemLocationSpecific-Eintrag für das Lager der Position haben, werden von der Reservierungsbestandsprüfung nicht entfernt.
  • Die Feiertagserkennung basiert auf Rechnungen mit total > 0. Tage ohne Rechnungen gelten als Feiertage.
  • Laut Codekommentar müssen Änderungen auch in pixiReport_LogisticQuality_NonCached nachgezogen werden.
  • Die Berechnung läuft über viele temporäre Tabellen und Fensterfunktionen. Große DaysBack-Werte können langsam sein.

Parameter

Parameter Typ Standardwert Beschreibung
DaysBack
int 14

Anzahl der Tage ab heute rückwärts, die den Auswertungszeitraum bilden.

Beispiel: 14

ShopID
varchar(3)
string
–

Beschränkt den Report auf Aufträge mit einer ANG/AUS-Position dieses Shops. Leer bedeutet alle Shops.

Beispiel: SHP

ExcludeZeros
bit
boolean
0

Nur bei CalcSeal = 0: Bei 1 werden Aufträge, die innerhalb der ersten 24 Stunden versendet wurden (DaysToShip = 0), ausgelassen.

Erlaubte Werte

  • 0 – Alle Aufträge liefern
  • 1 – Nur Aufträge mit `DaysToShip > 0` liefern

Beispiel: 0

OnlyItemsOnStock
bit
boolean
1

Wird im Code nicht verwendet.

Beispiel: 1

CalcSeal
bit
boolean
0

Wählt den Ausgabemodus: Detailzeilen je Auftrag oder aggregierte Verteilung für das Versandsiegel.

Erlaubte Werte

  • 0 – Detailzeilen je Auftrag (pixi* Report-Client), Reservierungsprüfung gegen offene Aufträge
  • 1 – Aggregierte Anzahl und Prozentsatz je `DaysToShip` (Seal-/Dashboard-Apps)

Beispiel: 0

Antwort

Result-Set 1 · Wenn CalcSeal = 0 (Standard)

Eine Zeile je ausgewertetem, versendetem Auftrag, sortiert nach DaysToShip und CreateDate.

Spalte Typ Beschreibung
DaysToShip int

Volle 24-Stunden-Zeiträume zwischen angepasstem Anlagedatum und Versanddatum. Negative Werte werden 0, fehlende 999.

OrderNr
Kann leer sein
int

Auftragsnummer.

CreateDate
Kann leer sein
datetime
dateTime

Anlagedatum des Auftrags (erster ANG-Status), angepasst um Wochenenden und Feiertage.

Shipdate datetime
dateTime

Frühestes Versanddatum der Auftragspositionen.

par_ShopId varchar(6)
string

Verwendeter Shopfilter oder -alle-, wenn keiner gesetzt ist.

par_DaysBack
Kann leer sein
int

Verwendeter Wert von DaysBack.

Result-Set 2 · Wenn CalcSeal = 1

Verteilung der versendeten Aufträge je DaysToShip plus eine zusätzliche Zeile mit DaysToShip = 99, sortiert nach DaysToShip.

Spalte Typ Beschreibung
DaysToShip
Kann leer sein
int

Volle 24-Stunden-Zeiträume von angepasster Anlage bis Versand (negative Werte werden 0). 99 kennzeichnet die angefügte Zusatzzeile.

NRofORders int

Anzahl der Aufträge mit diesem DaysToShip-Wert.

Percentage
Kann leer sein
float
decimal

Anteil an allen Paketen als Bruchteil (0–1).

AllPackages
Kann leer sein
float
decimal

Gesamtzahl der ausgewerteten versendeten Aufträge.

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:pixiReport_LogisticQuality_Details>
      <!-- <DaysBack>14</DaysBack> -->
      <!-- <ShopID>SHP</ShopID> -->
      <!-- <ExcludeZeros>0</ExcludeZeros> -->
      <!-- <OnlyItemsOnStock>1</OnlyItemsOnStock> -->
      <!-- <CalcSeal>0</CalcSeal> -->
    </ns1:pixiReport_LogisticQuality_Details>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Location · Lesen OrderHeader · Lesen Orderlines · Lesen OrderHistory · Lesen CustomersHist · Lesen Reservation · Lesen InvBinItemLog · Lesen OrderStates · Lesen ItemLocationSpecific · Lesen Items · Lesen Invoices · Lesen
SQL-Objekt:
dbo.pipiReport_LogisticQuality_Details
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben