pixiGetItemsTopReturnReason
Liefert Artikel, deren häufigster Retourengrund öfter als ein angegebener Schwellwert vorkommt, zusammen mit diesem Grund und seiner Anzahl.
Wertet die auf Rechnungspositionen erfassten Retourengründe aus und listet Artikel auf, die wiederholt aus demselben Grund retourniert werden.
Für jeden Artikel in Items werden alle Rechnungspositionen (invlines, verknüpft mit invoices über InvoiceRef = InvoiceKey) betrachtet, die auf den Artikel verweisen (ItemRef) und einen ReturnReason ungleich NULL besitzen. Diese Positionen werden nach ReturnReason gruppiert; der Grund mit der höchsten Anzahl an Positionen gilt als häufigster Retourengrund des Artikels.
- Ein Artikel wird nur geliefert, wenn die Anzahl seines häufigsten Retourengrunds echt größer als
MinNrOfReturnsist. Beim Standardwert2muss der Grund mindestens dreimal vorkommen. - Artikel ohne Rechnungsposition mit Retourengrund werden nicht geliefert.
ReturnReasonenthält den häufigsten Grund,NrOfReturnsdie Anzahl der Rechnungspositionen mit diesem Grund (nicht die Gesamtzahl aller Retouren des Artikels).
Das Ergebnis ist nach Artikelname sortiert. Es gibt kein Paging.
Hinweise
- Alle Tabellen werden mit
NOLOCKgelesen, daher können nicht festgeschriebene Daten erscheinen. - Gezählt werden Rechnungspositionen, nicht Mengen; eine Position mit mehreren retournierten Einheiten zählt einmal.
- Haben zwei Gründe dieselbe höchste Anzahl, ist nicht festgelegt, welcher geliefert wird (keine eindeutige Sortierung).
- Für jeden Artikel in
Itemswerden korrelierte Unterabfragen ausgeführt, was bei großen Datenbanken langsam sein kann. - Der Kopfkommentar der Prozedur ("Checks pixi* user credentials") passt nicht zur tatsächlichen Funktion.
- Die Spaltennamen sind im Code nicht qualifiziert; aus welcher der Tabellen
invoicesoderinvlinesdie SpaltenReturnReasonundItemRefstammen, lässt sich allein aus dem Code nicht bestimmen.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
MinNrOfReturns
|
int | 2 |
Schwellwert für die Anzahl der Rechnungspositionen mit dem häufigsten Retourengrund des Artikels. Nur Artikel, deren Anzahl echt größer als dieser Wert ist, werden geliefert. Beispiel: |
Antwort
Result-Set 1 · Immer (kann leer sein)
Eine Zeile pro Artikel, dessen häufigster Retourengrund den Schwellwert überschreitet, sortiert nach Artikelname.
| Spalte | Typ | Beschreibung |
|---|---|---|
itemkey
|
int |
Interner Schlüssel des Artikels ( |
EANUPC
Kann leer sein |
string |
EAN/UPC-Barcode des Artikels. |
ItemNrInt
Kann leer sein |
string |
Interne Artikelnummer. |
ItemNAme
Kann leer sein |
string |
Name des Artikels. |
ReturnReason
Kann leer sein |
string |
Häufigster auf den Rechnungspositionen des Artikels erfasster Retourengrund. |
NrOfReturns
Kann leer sein |
int |
Anzahl der Rechnungspositionen mit dem häufigsten Retourengrund. |
Beispielantwort
<SqlRowSet1>
<row>
<itemkey>10452</itemkey>
<EANUPC>4006381333931</EANUPC>
<ItemNrInt>ART-10452</ItemNrInt>
<ItemNAme>Laufschuh Pro 42</ItemNAme>
<ReturnReason>Zu klein</ReturnReason>
<NrOfReturns>7</NrOfReturns>
</row>
<row>
<itemkey>20817</itemkey>
<EANUPC>4012345678901</EANUPC>
<ItemNrInt>ART-20817</ItemNrInt>
<ItemNAme>Regenjacke M</ItemNAme>
<ReturnReason>Gefällt nicht</ReturnReason>
<NrOfReturns>4</NrOfReturns>
</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:pixiGetItemsTopReturnReason>
<!-- <MinNrOfReturns>5</MinNrOfReturns> -->
</ns1:pixiGetItemsTopReturnReason>
</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:pixiGetItemsTopReturnReason>
<!-- <MinNrOfReturns>5</MinNrOfReturns> -->
</ns1:pixiGetItemsTopReturnReason>
</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 = [
// 'MinNrOfReturns' => '5',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetItemsTopReturnReason', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetItemsTopReturnReason