pixiReportReturnsCount
Liefert die Gesamtmenge zurückgegebener Artikel (negative Rechnungspositionen) für einen Stichtag, den Vortag, den laufenden Monat bis zum Stichtag und den Vormonat.
Berechnet vier Retourenkennzahlen für ein Dashboard. Als Retoure gilt eine Rechnungsposition mit negativer Menge (ItemQty < 0). Der Wert ist die Summe der absoluten Mengen (SUM(ABS(ItemQty))), nicht die Anzahl der Belege.
Ablauf:
- Der Stichtag ist
@EndDate. Ist der WertNULL, wird das aktuelle Datum verwendet. Die Uhrzeit wird auf das Tagesende (23:59:59.997) gesetzt. - Aus dem Stichtag werden vier Zeiträume abgeleitet und mit dem Rechnungsdatum (
InvDate) verglichen:- Stichtag: Beginn bis Ende des Stichtags.
- Vortag: der vollständige Kalendertag vor dem Stichtag.
- Laufender Monat: vom Ersten des Stichtagsmonats bis zum Ende des Stichtags.
- Vormonat: der vollständige Kalendermonat vor dem Stichtagsmonat.
- Rechnungspositionen werden mit der Rechnung und dem Kunden der Rechnung verknüpft. Ist
@ShopIDgefüllt, zählen nur Kunden, derenCustomerOfgleich@ShopIDist. Ist der Wert leer oderNULL, werden alle Shops berücksichtigt.
Der Aufruf liefert eine Zeile mit den vier Werten.
Hinweise
@StartDateist deklariert, wird aber nicht verwendet. Alle Zeiträume ergeben sich ausschließlich aus@EndDate.- Alle Lesezugriffe verwenden
NOLOCK. Die Werte können nicht festgeschriebene Daten enthalten. - Retouren werden aus Rechnungspositionen ermittelt (Gutschriftpositionen mit negativer Menge), nicht aus einer eigenen Retourentabelle.
- Die Werte werden in
varchar(10)-Variablen gespeichert und als Zeichenketten geliefert. Je nach Datentyp vonItemQtykönnen sie Nachkommastellen enthalten. - Gibt es in einem Zeitraum keine passenden Positionen, ist der Wert
NULL. In der SOAP-Antwort fehlt das Element dann in der Regel. - Tritt bei der Berechnung ein Fehler auf, endet die Prozedur mit Rückgabewert
-1und liefert keine Ergebnismenge. Eine mögliche Ursache ist eine Summe, die nicht invarchar(10)passt.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
StartDate
|
datetime dateTime |
NULL |
Wird von der Prozedur nicht verwendet und hat keinen Einfluss auf das Ergebnis. |
EndDate
|
datetime dateTime |
NULL |
Stichtag, aus dem alle vier Zeiträume abgeleitet werden. Die Uhrzeit wird ignoriert und auf das Tagesende gesetzt. Bei Beispiel: |
ShopID
|
varchar(3) string |
– |
Optionaler Shop-Filter, verglichen mit Beispiel: |
Antwort
Result-Set 1 · Bei Erfolg (kein Fehler während der Berechnung)
Eine Zeile mit den summierten Retourenmengen der vier Zeiträume.
| Spalte | Typ | Beschreibung |
|---|---|---|
ReturnsOnGivenDay
Kann leer sein |
varchar(10) string |
Summe der Retourenmengen am Stichtag. |
ReturnsOnPreviousDay
Kann leer sein |
varchar(10) string |
Summe der Retourenmengen am Vortag des Stichtags. |
ReturnsInGivenMonth
Kann leer sein |
varchar(10) string |
Summe der Retourenmengen vom Monatsersten bis zum Stichtag. |
ReturnsInPreviousMonth
Kann leer sein |
varchar(10) string |
Summe der Retourenmengen im gesamten Vormonat. |
Beispielantwort
<SqlRowSet1>
<row>
<ReturnsOnGivenDay>4</ReturnsOnGivenDay>
<ReturnsOnPreviousDay>7</ReturnsOnPreviousDay>
<ReturnsInGivenMonth>58</ReturnsInGivenMonth>
<ReturnsInPreviousMonth>131</ReturnsInPreviousMonth>
</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:pixiReportReturnsCount>
<!-- <StartDate>?</StartDate> -->
<!-- <EndDate>2024-03-15T00:00:00</EndDate> -->
<!-- <ShopID>SH1</ShopID> -->
</ns1:pixiReportReturnsCount>
</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:pixiReportReturnsCount>
<!-- <StartDate>?</StartDate> -->
<!-- <EndDate>2024-03-15T00:00:00</EndDate> -->
<!-- <ShopID>SH1</ShopID> -->
</ns1:pixiReportReturnsCount>
</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' => '?',
// 'EndDate' => '2024-03-15T00:00:00',
// 'ShopID' => 'SH1',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiReportReturnsCount', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiReportReturnsCount