Postman-Collection
Shipping Lesen

pixiGetShippedOrdersPerLocation

Liefert versendete Aufträge (auf Basis von Rechnungen) eines Zeitraums je Lager, entweder als Detailzeilen oder als Anzahl und Summe je Lager und Währung.

Ermittelt versendete Aufträge über ihre Rechnungen und gibt sie je Lager (LocationID der Auftragspositionen) aus.

Schritt 1 – Rechnungen auswählen. Eine Rechnung wird berücksichtigt, wenn:

  • mindestens eine ihrer Rechnungspositionen zu einer Auftragsposition gehört, die einen OrderHistory-Eintrag mit Status EIN hat,
  • ihr Datum zwischen @FromDate und @ToDate liegt (inklusive). Bei @SearchByScanOutDate = 1 wird das Scan-Out-Datum (ScanOutDate) verwendet, sonst das Rechnungsdatum (InvDate),
  • ihr total größer als 0 ist. Mit @IncludeOrdersWithTotalZero = 1 werden zusätzlich Rechnungen mit Summe genau 0 einbezogen. Negative Summen werden nie berücksichtigt,
  • bei gesetztem @CustomerNrExternal (Leerzeichen werden entfernt, leer bedeutet kein Filter) der Kunde der Rechnung diese externe Kundennummer hat.

Schritt 2 – Aufträge je Rechnung und Lager. Für jede ausgewählte Rechnung werden die eindeutigen Kombinationen aus LocationID und OrderNrExternal der Auftragspositionen auf der Rechnung gesammelt. Ist @LocId gesetzt, werden nur Auftragspositionen dieses Lagers berücksichtigt. Jede Kombination wird je Rechnung nach OrderNrExternal durchnummeriert.

Schritt 3 – Ausgabe.

  • @ShowDetails = 1 (Standard): eine Zeile je Rechnung, Lager und externer Auftragsnummer mit Rechnungsdaten, Kundenname, Lieferadresse, Währung, Versanddienstleister und Tracking-ID. Rechnungswerte wiederholen sich, wenn eine Rechnung mehrere externe Aufträge oder Lager enthält. Sortiert nach InvDate.
  • Jeder andere Wert: eine Zeile je Lager und Währung mit der Anzahl der Zeilen (NrOfOrders) und der Summe der Rechnungsbeträge (Total). Eine Sortierung ist nicht festgelegt.

Hinweise

  • Alle Tabellen werden mit NOLOCK gelesen; das Ergebnis kann nicht festgeschriebene Daten enthalten.
  • @FromDate und @ToDate sind varchar-Werte, die mit BETWEEN verglichen werden. Ein @ToDate ohne Uhrzeit (z. B. 2024-01-31) bedeutet Mitternacht, spätere Rechnungen dieses Tages fehlen dann. Besser 2024-01-31 23:59:59 oder den Folgetag übergeben. Ein eindeutiges Format wie yyyy-mm-dd hh:mi:ss verwenden.
  • Im Summenmodus zählt NrOfOrders die Kombinationen aus Rechnung, Lager und externer Auftragsnummer, nicht eindeutige Rechnungen.
  • Im Summenmodus wird ein Rechnungsbetrag nur einmal je Rechnung gezählt: Er wird dem Lager der Kombination mit der alphabetisch ersten OrderNrExternal der Rechnung zugeordnet. Enthält eine Rechnung Auftragspositionen mehrerer Lager, fällt der gesamte Betrag nur einem Lager zu. Bei gesetztem @LocId erfolgt die Nummerierung nur über die gefilterten Zeilen, sodass der volle Rechnungsbetrag diesem Lager zugerechnet wird.
  • Rechnungen ohne zugehörigen Kunden werden ausgeschlossen; im Detailmodus zusätzlich Rechnungen ohne passende Lieferadresse (ShipAdrRef) oder Währung (Inner Joins).
  • Rechnungen, deren Auftragspositionen keinen OrderHistory-Status EIN haben, werden unabhängig vom Datum nicht geliefert.

Parameter

Parameter Typ Standardwert Beschreibung
ShowDetails
int 1

Ausgabemodus: 1 liefert Detailzeilen, jeder andere Wert liefert Anzahl und Summen je Lager und Währung.

Erlaubte Werte

  • 1 – Detailzeilen je Rechnung, Lager und externer Auftragsnummer
  • 0 – Zusammenfassung je Lager und Währung (jeder Wert ungleich 1 verhält sich gleich)

Beispiel: 1

FromDate
Pflicht
varchar(25)
string
–

Beginn des Zeitraums (inklusive), verglichen mit Rechnungsdatum oder Scan-Out-Datum.

Beispiel: 2024-01-01 00:00:00

ToDate
Pflicht
varchar(25)
string
–

Ende des Zeitraums (inklusive). Ohne Uhrzeit bedeutet der Wert Mitternacht zu Beginn dieses Tages.

Beispiel: 2024-01-31 23:59:59

CustomerNrExternal
varchar(60)
string
–

Optionale externe Kundennummer; nur Rechnungen dieses Kunden werden geliefert. Leer bedeutet kein Filter.

Beispiel: K-100245

IncludeOrdersWithTotalZero
bit
boolean
0

Bei 1 werden auch Rechnungen mit Summe 0 berücksichtigt, sonst nur Rechnungen mit Summe größer 0.

Erlaubte Werte

  • 0 – Nur Rechnungen mit Summe > 0
  • 1 – Rechnungen mit Summe >= 0

Beispiel: 0

SearchByScanOutDate
bit
boolean
0

Legt fest, auf welches Datum sich der Zeitraum bezieht.

Erlaubte Werte

  • 0 – Filter nach Rechnungsdatum (`InvDate`)
  • 1 – Filter nach Scan-Out-Datum (`ScanOutDate`)

Beispiel: 0

LocId
varchar(3)
string
–

Optionale Lager-ID; nur Auftragspositionen dieses Lagers werden berücksichtigt. Leer bedeutet alle Lager.

Beispiel: 001

Antwort

Result-Set 1 · Wenn @ShowDetails = 1

Eine Zeile je Rechnung, Lager und externer Auftragsnummer, sortiert nach Rechnungsdatum.

Spalte Typ Beschreibung
InvoiceNr
Kann leer sein
string

Rechnungsnummer

InvDate
Kann leer sein
dateTime

Rechnungsdatum

ScanOutDate
Kann leer sein
dateTime

Scan-Out-Datum der Rechnung

total
Kann leer sein
decimal

Rechnungssumme (wiederholt sich für jede Zeile derselben Rechnung)

ShipmentTrackingID
Kann leer sein
string

Sendungsverfolgungsnummer

SName
Kann leer sein
string

Kundenname

SAddress
Kann leer sein
string

Straße der Lieferadresse

SCity
Kann leer sein
string

Ort der Lieferadresse

SZIP
Kann leer sein
string

Postleitzahl der Lieferadresse

SCountry
Kann leer sein
string

Land der Lieferadresse

OrderNrExternal
Kann leer sein
varchar(50)
string

Externe Auftragsnummer

CurrencyCode
Kann leer sein
string

Währungscode der Rechnung

ShipVendor
Kann leer sein
string

Versanddienstleister der Rechnung

CustomerNrExternal
Kann leer sein
string

Externe Kundennummer

LocationID
Kann leer sein
varchar(3)
string

Lager der Auftragspositionen

Result-Set 2 · Wenn @ShowDetails ungleich 1

Eine Zeile je Lager und Währung mit Anzahl und Summe.

Spalte Typ Beschreibung
NrOfOrders int

Anzahl der Kombinationen aus Rechnung, Lager und externer Auftragsnummer

LocationID
Kann leer sein
varchar(3)
string

Lager

Total
Kann leer sein
decimal

Summe der Rechnungsbeträge, jede Rechnung einmal gezählt

CurrencyCode
Kann leer sein
string

Währungscode

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:pixiGetShippedOrdersPerLocation>
      <!-- <ShowDetails>1</ShowDetails> -->
      <FromDate>2024-01-01 00:00:00</FromDate>
      <ToDate>2024-01-31 23:59:59</ToDate>
      <!-- <CustomerNrExternal>K-100245</CustomerNrExternal> -->
      <!-- <IncludeOrdersWithTotalZero>0</IncludeOrdersWithTotalZero> -->
      <!-- <SearchByScanOutDate>0</SearchByScanOutDate> -->
      <!-- <LocId>001</LocId> -->
    </ns1:pixiGetShippedOrdersPerLocation>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Invoices · Lesen Customers · Lesen Invlines · Lesen OrderHistory · Lesen Orderlines · Lesen Addresses · Lesen Currency · Lesen
SQL-Objekt:
dbo.pipiGetShippedOrdersPerLocation
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben