pixiReport_LogisticQuality_NonCached
Liefert die Verteilung versendeter Aufträge nach Tagen zwischen Bestellung und Versand der letzten Tage, wie sie für die Versandsiegel-Quote verwendet wird.
Wrapper für die pixi* Seal-App und die Dashboard-App. NULL-Werte werden durch die Standardwerte (14, '', 1) ersetzt. Danach wird pipiReport_LogisticQuality_Details mit @CalcSeal = 1 ausgeführt; die Daten werden direkt berechnet (nicht aus einem Cache).
Auswahl der Aufträge
- Zeitraum: vom Tagesbeginn vor
@DaysBackTagen bis zum Ende des heutigen Tages. - Als Erstelldatum eines Auftrags gilt der erste Statuswechsel nach
ANGseiner Auftragspositionen inOrderHistoryim Zeitraum. Als Versanddatum gilt das frühesteShipDateseiner Positionen. - Berücksichtigt werden nur Aufträge, deren
OrderHeader.ShipDateleer ist und die mindestens eine Position im StatusANGoderAUShaben. IstShopIDnicht leer, muss diese Position zu diesem Shop gehören (OrdShopID). - Aufträge von Kunden, die im Zeitraum gesperrt waren (
CustomersHist.HSLocked = 'Y'), werden ausgeschlossen.
Ausschlüsse
- Manuell geänderte Aufträge: Die Erstellzeiten der Positionen liegen mehr als 5 Minuten auseinander.
- Aufträge, bei denen der Bestand zum Bestelldatum nicht ausreichte. Der Bestand wird aus
InvBinItemLogauf Lagern ohne Sonderbestand berechnet, abzüglich des kumulierten offenen Bedarfs je Artikel. - Aufträge mit einer Position im Status
ANG, deren Artikelbestand höchstens 1 beträgt. Als Bestand giltItemLocationSpecific.LocationQuantity, wenn Sonderbestandslager existieren, sonstItems.Quantity.
Datumsanpassungen
- Aufträge von Freitag, Samstag oder Sonntag werden auf den folgenden Montag verschoben.
- Tage ohne Rechnung mit
total > 0gelten als Feiertage. Aufträge an einem solchen Tag oder am Tag davor werden auf das erste Rechnungsdatum eines späteren Arbeitstags verschoben.
Ergebnis
- Gezählt werden nur Aufträge mit Versanddatum.
DaysToShipist die Anzahl voller 24-Stunden-Intervalle zwischen dem angepassten Erstelldatum und dem Versanddatum. Negative Werte werden zu 0.- Je
DaysToShip-Wert wird eine Zeile mit der Anzahl und dem Anteil an allen gezählten Aufträgen geliefert. - Zusätzlich wird immer eine feste Zeile mit
DaysToShip = 99und 0 Aufträgen angehängt. - Die Zeilen sind nach
DaysToShipsortiert.
Hinweise
- Der Parameter
OnlyItemsOnStockwird anpipiReport_LogisticQuality_Detailsweitergegeben, dort aber nicht verwendet. Er hat keine Wirkung. - Alle Lesezugriffe verwenden
NOLOCK; die Zahlen können daher nicht festgeschriebene Daten enthalten. - Die Berechnung läuft bei jedem Aufruf und kann bei großen
DaysBack-Werten aufwendig sein. - Qualifiziert sich kein Auftrag, wird nur die Zeile mit
DaysToShip = 99geliefert undAllPackagesist 0. - Die Spalten
PercentageundAllPackagessind Gleitkommawerte.Percentageist ein Anteil zwischen 0 und 1, nicht mit 100 multipliziert. - Feiertage werden aus Tagen ohne Rechnungen abgeleitet; auch Tage ohne Fakturierung gelten daher als arbeitsfreie Tage.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
DaysBack
|
int | 14 |
Anzahl der Tage ab heute rückwärts, die ausgewertet werden. Beispiel: |
ShopID
|
varchar(3) string |
– |
Shop-Filter auf den Shop der Auftragsposition ( Beispiel: |
OnlyItemsOnStock
|
bit boolean |
1 |
Wird an die Detailprozedur weitergegeben, dort aber nicht ausgewertet; ohne Wirkung. Beispiel: |
Antwort
Result-Set 1 · Immer
Eine Zeile je Anzahl Tage bis zum Versand sowie eine feste Zeile mit DaysToShip = 99, sortiert nach DaysToShip.
| Spalte | Typ | Beschreibung |
|---|---|---|
DaysToShip
|
int |
Volle 24-Stunden-Intervalle zwischen dem angepassten Bestelldatum und dem Versanddatum (mindestens 0). Der Wert 99 kennzeichnet die feste Abschlusszeile.Note: |
NRofORders
|
int |
Anzahl der Aufträge mit diesem |
Percentage
|
float decimal |
Anteil dieser Aufträge an allen gezählten Aufträgen als Bruch zwischen 0 und 1. |
AllPackages
|
float decimal |
Gesamtzahl der gezählten versendeten Aufträge. |
Beispielantwort
<SqlRowSet1>
<row>
<DaysToShip>0</DaysToShip>
<NRofORders>152</NRofORders>
<Percentage>0.76</Percentage>
<AllPackages>200</AllPackages>
</row>
<row>
<DaysToShip>99</DaysToShip>
<NRofORders>0</NRofORders>
<Percentage>0</Percentage>
<AllPackages>200</AllPackages>
</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:pixiReport_LogisticQuality_NonCached>
<!-- <DaysBack>14</DaysBack> -->
<!-- <ShopID>SH1</ShopID> -->
<!-- <OnlyItemsOnStock>1</OnlyItemsOnStock> -->
</ns1:pixiReport_LogisticQuality_NonCached>
</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:pixiReport_LogisticQuality_NonCached>
<!-- <DaysBack>14</DaysBack> -->
<!-- <ShopID>SH1</ShopID> -->
<!-- <OnlyItemsOnStock>1</OnlyItemsOnStock> -->
</ns1:pixiReport_LogisticQuality_NonCached>
</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 = [
// 'DaysBack' => '14',
// 'ShopID' => 'SH1',
// 'OnlyItemsOnStock' => '1',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiReport_LogisticQuality_NonCached', $soapArguments);
Verwandte Calls
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiReport_LogisticQuality_NonCached