Postman-Collection
Orderlines Lesen

pixiGetOrderlineExtended

Liefert Auftragspositionen und Bundle-Positionen mit Preisen, MwSt., Lagerverfügbarkeit, Reservierung, Versand- und Picklistendaten, gefiltert nach Auftrag, Artikel, Status, Shop, Zahlart oder Datum.

Liefert erweiterte Daten zu Auftragspositionen. Alle Filter sind optional und werden mit UND verknüpft. Leere Strings sowie 0 bei OrderlineKey/OrderNR gelten als "kein Filter".

Artikelfilter (ItemXML): Artikel können über ITEMKEY, ITEMNRINT, ITEMNRSUPPL oder EAN angegeben werden. Alle passenden Artikelschlüssel werden gesammelt; es werden nur Auftragspositionen dieser Artikel geliefert.

Bundle-Behandlung (ShowOrderlines):

  • 1: Bundles werden nicht als normale Artikel behandelt, die Komponenten-Positionen von Bundles sind enthalten.
  • 0: Bundles werden als normale Artikel behandelt, Auftragspositionen, die zu einem Bundle gehören (BundleOrderlineRef gesetzt), werden ausgeschlossen.
  • nicht übergeben / NULL: Wert aus der Einstellung ProcessBundleItemsAsNormalItems.

Auswahlschritte:

  1. Bis zu RowCount (Standard 1000) Zeilen aus Orderlines, die den Filtern entsprechen, sortiert nach OrderlineKey.
  2. Das verbleibende Zeilenkontingent wird mit Zeilen aus BundleOrderlines (gruppiert je Bundle-Position) aufgefüllt. Filter auf OrderNR und OrderNRExternal greifen bei Bundle-Positionen nur, wenn Bundles als normale Artikel verarbeitet werden; Datums- und Rechnungsfilter werden auf die Komponenten-Positionen angewendet.

Schlüsselfilter: Bei IsStartKey = 0 liefert OrderlineKey genau diese Position; bei IsStartKey = 1 alle Positionen mit OrderlineKey >= dem Wert, was zusammen mit RowCount Paging ermöglicht.

Weitere Filter: Status (Positionsstatus), ShopID (Shop des Kunden), PaymentType (Zahlart der Adresse), OrderDateFrom/OrderDateTo und UpdateDateFrom/UpdateDateTo (exklusive Grenzen), InvoiceNr (Position ist in dieser Rechnung enthalten).

Ersatzlieferungen (IsReplacementOnly = 1): Es werden nur Auftragspositionen mit Status MIN oder mit einem MIN-Eintrag in der Auftragshistorie geliefert.

Berechnete Werte:

  • AvailStockOrderLine: Lagerbestand des Artikels am Lager der Position abzüglich der Anzahl früherer Reservierungen desselben Artikels unter den ausgewählten Positionen (gezählt werden nur Positionen in nicht finalen Status außer EIN, FUT, FUS).
  • ReservedCount: der kleinere Wert aus Qty und AvailStockOrderLine, mindestens 0.
  • VATRate, PriceNoVAT, ShipDate stammen aus der ersten Rechnungsposition der Auftragsposition, falls vorhanden, sonst aus Auftragsposition und Artikel.

Das Ergebnis ist nach OrderlineKey sortiert.

Hinweise

  • Alle Lesezugriffe verwenden NOLOCK; das Ergebnis kann nicht festgeschriebene Daten enthalten.
  • Die Auswahl wird als dynamisches SQL aufgebaut. Das Zeilenlimit stammt aus RowCount (NULL wird zu 1000); der Parameter RowCount selbst wird sonst nicht verwendet.
  • Wird ItemXML übergeben, aber keiner der angegebenen Artikel gefunden, wird kein Artikelfilter angewendet und es werden Positionen aller Artikel geliefert.
  • Ungültiges XML in ItemXML führt zu einem SQL-Fehler aus sp_xml_preparedocument.
  • Bei Bundle-Positionen ist der Schlüsselfilter immer ein exakter Vergleich (IsStartKey wird dort ignoriert).
  • IsReplacementOnly schränkt nur normale Auftragspositionen ein; ausgewählte Bundle-Positionen werden weiterhin geliefert.
  • Normale Auftragspositionen werden nur geliefert, wenn ein ItemLocationSpecific-Datensatz für Artikel und LocationID der Position existiert und Auftragskopf sowie Währung vorhanden sind.
  • Eine Position auf mehreren Picklisten erscheint einmal je Pickliste (PicklistNr).
  • Bei Bundle-Positionen sind ShipDate, DFShipDate, DFShipmentTrackingID, AvailStockOrderLine, EstimatedDelivery und damit ReservedCount NULL; OrderDate/UpdateDate stammen aus einer der Komponenten-Positionen.

Parameter

Parameter Typ Standardwert Beschreibung
OrderlineKey
int NULL

Schlüssel der Auftragsposition. Exakter Vergleich oder Startschlüssel je nach IsStartKey. 0 bedeutet kein Filter.

Beispiel: 123456

OrderNR
int NULL

Pixi-Auftragsnummer. 0 bedeutet kein Filter.

Beispiel: 500123

OrderNRExternal
varchar(50)
string
NULL

Externe Auftragsnummer (Shop).

Beispiel: WEB-100045

Status
varchar(3)
string
NULL

Statuscode der Auftragsposition.

Beispiel: AUF

ShopID
varchar(3)
string
NULL

Shop-ID; filtert auf den Shop des Kunden (CustomerOF).

Beispiel: SHP

PaymentType
char(1)
string
NULL

Zahlart der Auftragsadresse (APayment).

Beispiel: V

OrderDateFrom
datetime
dateTime
NULL

Nur Positionen mit Auftragsdatum nach diesem Wert (exklusiv).

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

OrderDateTo
datetime
dateTime
NULL

Nur Positionen mit Auftragsdatum vor diesem Wert (exklusiv).

Beispiel: 2024-02-01T00:00:00

UpdateDateFrom
datetime
dateTime
NULL

Nur Positionen, die nach diesem Zeitpunkt geändert wurden (exklusiv).

Beispiel: 2024-01-15T08:00:00

UpdateDateTo
datetime
dateTime
NULL

Nur Positionen, die vor diesem Zeitpunkt geändert wurden (exklusiv).

Beispiel: 2024-01-16T08:00:00

RowCount
int 1000

Maximale Anzahl ausgewählter Positionen (zuerst Auftragspositionen, dann Bundle-Positionen). NULL bedeutet 1000.

Beispiel: 500

InvoiceNr
varchar(50)
string
NULL

Nur Positionen, die in der Rechnung mit dieser Nummer enthalten sind.

Beispiel: RE-2024-000123

ShowOrderlines
bit
boolean
NULL

Steuert die Behandlung von Bundle-Komponenten-Positionen.

Erlaubte Werte

  • 1 – Bundles werden nicht als normale Artikel verarbeitet; Komponenten-Positionen sind enthalten.
  • 0 – Bundles werden als normale Artikel verarbeitet; zu einem Bundle gehörende Positionen werden ausgeschlossen.
  • NULL – Einstellung `ProcessBundleItemsAsNormalItems` verwenden.

Beispiel: 1

IsStartKey
bit
boolean
0

Legt fest, wie OrderlineKey verglichen wird.

Erlaubte Werte

  • 0 – Exakter Vergleich auf `OrderlineKey`.
  • 1 – Alle Positionen mit `OrderlineKey` größer oder gleich dem Wert (Paging).

Beispiel: 1

ItemXML
varchar(max)
xml
NULL

Optionale Artikelliste als Filter; jedes ITEM kann ITEMKEY, ITEMNRINT, ITEMNRSUPPL oder EAN enthalten.

Beispiel:

<ITEMS>
  <ITEM>
    <ITEMKEY>4711</ITEMKEY>
    <ITEMNRINT>ART-1001</ITEMNRINT>
    <ITEMNRSUPPL>SUP-55</ITEMNRSUPPL>
    <EAN>4006381333931</EAN>
  </ITEM>
</ITEMS>
IsReplacementOnly
bit
boolean
0

Schränkt normale Auftragspositionen auf Ersatzpositionen ein.

Erlaubte Werte

  • 0 – Alle passenden Positionen.
  • 1 – Nur Positionen mit Status `MIN` oder einem `MIN`-Eintrag in der Auftragshistorie.

Beispiel: 0

Antwort

Result-Set 1 · Immer (kann leer sein)

Auftragspositionen und Bundle-Positionen, sortiert nach OrderlineKey.

Spalte Typ Beschreibung
OrderlineKey
Kann leer sein
int

Schlüssel der Auftragsposition.

ArtName
Kann leer sein
varchar(120)
string

Artikelbezeichnung der Position.

Qty
Kann leer sein
int

Menge.

Price
Kann leer sein
money
decimal

Einzelpreis.

Status
Kann leer sein
varchar(3)
string

Statuscode der Position.

StatusText
Kann leer sein
varchar(60)
string

Text des Status.

ItemNrExternal
Kann leer sein
varchar(50)
string

Externe Artikelnummer.

OrderNR
Kann leer sein
int

Pixi-Auftragsnummer.

OrderNrExternal
Kann leer sein
varchar(50)
string

Externe Auftragsnummer.

OrderCurrency
Kann leer sein
varchar(3)
string

Währungscode des Auftrags.

OrderDate
Kann leer sein
datetime
dateTime

Auftragsdatum.

UpdateDate
Kann leer sein
datetime
dateTime

Letzte Änderung der Position.

ItemRef
Kann leer sein
int

Artikelschlüssel.

oItemSpecialNote
Kann leer sein
varchar(8000)
string

Sonderhinweis zur Position.

DiscountValue
Kann leer sein
money
decimal

Rabattbetrag.

DiscountPerc
Kann leer sein
numeric(6,2)
decimal

Rabatt in Prozent.

FullPrice
Kann leer sein
money
decimal

Qty × Price.

FullPriceForItem
Kann leer sein
money
decimal

Auf der Position gespeicherter Gesamtpreis.

VATRate
Kann leer sein
varchar(1)
string

MwSt.-Klasse: H (voll), L (ermäßigt), N (keine); aus Rechnungsposition oder Artikel.

PriceNoVAT
Kann leer sein
money
decimal

Netto-Einzelpreis aus Rechnungsposition oder Auftragsposition.

ItemNrInt
Kann leer sein
varchar(50)
string

Interne Artikelnummer.

ShipDate
Kann leer sein
datetime
dateTime

Scan-Out-Datum der Rechnung (oder referenzierten Rechnung); NULL bei Bundle-Positionen.

DFShipDate
Kann leer sein
datetime
dateTime

Versanddatum Direct Fulfillment.

DFShipmentTrackingID
Kann leer sein
varchar(100)
string

Tracking-ID Direct Fulfillment.

AvailStockOrderLine
Kann leer sein
int

Bestand am Lager der Position abzüglich früherer Reservierungen des Artikels; NULL bei Bundle-Positionen.

EstimatedDelivery
Kann leer sein
datetime
dateTime

Voraussichtliches Lieferdatum.

EANUPC
Kann leer sein
varchar(13)
string

EAN/UPC des Artikels.

ReservedCount
Kann leer sein
numeric
decimal

Minimum aus Qty und AvailStockOrderLine, nicht kleiner als 0.

PicLinkLarge
Kann leer sein
varchar(512)
string

Link zum großen Artikelbild.

LocationID
Kann leer sein
varchar(3)
string

Lager der Position.

TaxAmount
Kann leer sein
money
decimal

Steuerbetrag der Position.

VATPercentage
Kann leer sein
numeric(6,3)
decimal

Steuersatz in Prozent.

OrderStatus
Kann leer sein
varchar(10)
string

Status des Auftragskopfs.

PicklistNr
Kann leer sein
int

Picklistennummer, falls die Position auf einer Pickliste steht.

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:pixiGetOrderlineExtended>
      <!-- <OrderlineKey>123456</OrderlineKey> -->
      <!-- <OrderNR>500123</OrderNR> -->
      <!-- <OrderNRExternal>WEB-100045</OrderNRExternal> -->
      <!-- <Status>AUF</Status> -->
      <!-- <ShopID>SHP</ShopID> -->
      <!-- <PaymentType>V</PaymentType> -->
      <!-- <OrderDateFrom>2024-01-01T00:00:00</OrderDateFrom> -->
      <!-- <OrderDateTo>2024-02-01T00:00:00</OrderDateTo> -->
      <!-- <UpdateDateFrom>2024-01-15T08:00:00</UpdateDateFrom> -->
      <!-- <UpdateDateTo>2024-01-16T08:00:00</UpdateDateTo> -->
      <!-- <RowCount>500</RowCount> -->
      <!-- <InvoiceNr>RE-2024-000123</InvoiceNr> -->
      <!-- <ShowOrderlines>1</ShowOrderlines> -->
      <!-- <IsStartKey>1</IsStartKey> -->
      <!-- <ItemXML><![CDATA[<ITEMS><ITEM><ITEMKEY>4711</ITEMKEY><ITEMNRINT>ART-1001</ITEMNRINT><ITEMNRSUPPL>SUP-55</ITEMNRSUPPL><EAN>4006381333931</EAN></ITEM></ITEMS>]]></ItemXML> -->
      <!-- <IsReplacementOnly>0</IsReplacementOnly> -->
    </ns1:pixiGetOrderlineExtended>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

OrderStates · Lesen Orderlines · Lesen BundleOrderlines · Lesen Customers · Lesen Addresses · Lesen items · Lesen Invlines · Lesen Invoices · Lesen OrderHistory · Lesen Reservation · Lesen PLitem · Lesen OrderHeader · Lesen Currency · Lesen ItemLocationSpecific · Lesen Orderline_EstimatedDelivery · Lesen Settings · Lesen
SQL-Objekt:
dbo.pipiGetOrderlineExtended
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben