Postman-Collection
Customers Lesen

pixiEmillControlCustomers

Liefert Kunden, deren Anzahl an Aufträgen mit Auftragspositionen im Status ANG oder kürzlichem AUS eine Mindestanzahl erreicht, optional je Shop.

Listet Kunden mit mehreren passenden Aufträgen auf, etwa um doppelte oder auffällige Bestellungen desselben Kunden zu erkennen.

Ablauf:

  1. Ein leerer ShopID wird als NULL behandelt. Dann gilt kein Shop-Filter.
  2. Ein Auftrag zählt, wenn mindestens eine seiner Positionen in Orderlines eine der folgenden Bedingungen erfüllt:
    • Status ANG, unabhängig vom Datum, oder
    • Status AUS und OrderDate liegt weniger als DayRange Tage zurück, gemessen als Differenz in Kalendertagen zu heute.
  3. Die passenden Aufträge aus OrderHeader werden über CustRef = CustKey mit Customers verknüpft.
  4. Ist ShopID gesetzt, werden nur Kunden berücksichtigt, deren CustomerOf dem ShopID entspricht.
  5. Die Ergebnisse werden je Kunde (CustRef) gruppiert. Zurückgegeben werden nur Kunden mit mindestens MinOrderCount passenden Aufträgen.

Jede Zeile enthält Name, E-Mail-Adresse, Anzahl der passenden Aufträge und Shop des Kunden. Eine feste Sortierung gibt es nicht.

Hinweise

  • Alle Tabellen werden mit NOLOCK gelesen. Das Ergebnis kann daher nicht festgeschriebene Daten enthalten.
  • Wegen der SQL-Operatorrangfolge (AND vor OR) gilt die Einschränkung über DayRange nur für Positionen im Status AUS. Aufträge mit Positionen im Status ANG werden unabhängig von ihrem Alter gezählt.
  • Aus dem Code geht nicht hervor, zu welcher Tabelle die unqualifizierte Spalte OrderDate gehört. Hat Orderlines keine solche Spalte, wird das Auftragsdatum aus OrderHeader verwendet.
  • Der Shop-Filter bezieht sich auf den Shop des Kunden (CustomerOf), nicht auf den Shop des Auftrags.
  • Name, eMail und ShopID werden je Kundengruppe per MAX() ermittelt.

Parameter

Parameter Typ Standardwert Beschreibung
DayRange
int 10

Anzahl der Tage ab heute rückwärts, in denen das Auftragsdatum liegen muss. Gilt nur für Auftragspositionen im Status AUS.

Beispiel: 10

MinOrderCount
int 2

Mindestanzahl passender Aufträge, die ein Kunde haben muss, um zurückgegeben zu werden.

Beispiel: 2

ShopID
varchar(3)
string
NULL

Shop des Kunden (CustomerOf). Bei NULL oder Leerstring werden Kunden aller Shops geliefert.

Beispiel: SH1

Antwort

Result-Set 1 · Immer (ggf. leer)

Eine Zeile je Kunde mit mindestens MinOrderCount passenden Aufträgen.

Spalte Typ Beschreibung
Name
Kann leer sein
string

Kundenname (Customers.SName).

eMail
Kann leer sein
string

E-Mail-Adresse des Kunden (Customers.CeMail).

AnzahlBestellungen int

Anzahl der passenden Aufträge des Kunden.

ShopID
Kann leer sein
string

Shop, dem der Kunde zugeordnet ist (Customers.CustomerOf).

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:pixiEmillControlCustomers>
      <!-- <DayRange>10</DayRange> -->
      <!-- <MinOrderCount>2</MinOrderCount> -->
      <!-- <ShopID>SH1</ShopID> -->
    </ns1:pixiEmillControlCustomers>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

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