Postman-Collection
Orderlines Lesen

pixiGetOrderlinesForOrder

Liefert die Auftragspositionen eines oder mehrerer Aufträge, optional mit zusammengefassten Stücklisten-Positionen, inklusive Bestands-, Rechnungs- und Versanddaten.

Ermittelt die zu lesenden Aufträge und liefert deren Auftragspositionen in einer Ergebnismenge.

Auswahl der Aufträge

  • Der Auftrag mit OrderNr = @OrderNr wird immer berücksichtigt (sofern vorhanden).
  • Ist @OrderXML angegeben, wird jedes Element /ORDERS/ORDER (elementbasiert) mit den Unterelementen ORDERNR und ORDERNREXTERNAL gelesen. Jeder Auftrag, dessen OrderNr zu ORDERNR oder dessen OrderNrExternal zu ORDERNREXTERNAL passt, wird hinzugefügt.

Stücklisten-Modus

  • @ReturnBundle bestimmt den Modus. Ist der Wert NULL, wird die Einstellung APIBundleOrderlines verwendet (fehlende Einstellung = 0).
  • 0: Jede Auftragsposition wird mit ihren eigenen Werten geliefert (ArtName, Qty, Price, Status, ...).
  • 1: Auftragspositionen, die zu einer Stückliste gehören (BundleOrderlineRef gesetzt), werden zu einer Zeile pro Stückliste zusammengefasst (die Position mit der kleinsten OrderlineKey). Bezeichnung, Menge, Preis, externe Nummern, Datum, Artikel, Notiz, Rabatte, Betrag, Steuersatz und Nettopreis werden, soweit vorhanden, aus der Stücklisten-Position (BundleOrderlines) übernommen. Der Status der Stückliste wird abhängig von der Einstellung APIBundleOneAllAUS aus allen zugehörigen Positionen berechnet: Bei 1 wird der gemeinsame Status geliefert, wenn alle Positionen denselben Status haben, sonst der Status mit der kleinsten OrderStateKey; bei 0 der Status mit der größten OrderStateKey.

Berechnete Spalten

  • StatusText: Text des Status aus OrderStates.
  • OrderCurrency: Währungscode (CodeA) des Auftrags.
  • VATRate: H, wenn der Steuersatz der Rechnungsposition (bzw. der Stückliste) dem TaxRateHigh des Auftrags entspricht, L bei TaxRateLow, sonst N (auch wenn keine Rechnungsposition existiert).
  • PriceNoVAT: Nettopreis der Rechnungsposition (bzw. der Stückliste), auf 2 Nachkommastellen gerundet.
  • AvailStockOrderLine: verfügbare Menge des Artikels am Lager der Position (Lagermenge abzüglich offener Reservierungen des Artikels).
  • ReservedCount: der kleinere Wert aus Qty und AvailStockOrderLine, jedoch nicht kleiner als 0.
  • ShipDate: ScanOutDate der zugehörigen Rechnung.

Das Ergebnis hat keine explizite Sortierung.

Hinweise

  • Alle Tabellen werden WITH (NOLOCK) gelesen; nicht festgeschriebene Daten können geliefert werden.
  • @OrderNr hat keinen Standardwert und muss immer übergeben werden. Wird nur @OrderXML verwendet, kann eine nicht existierende Nummer (z. B. 0) übergeben werden.
  • Wird derselbe Auftrag sowohl über @OrderNr als auch über @OrderXML ausgewählt, wird sein Schlüssel doppelt übernommen und seine Positionen erscheinen doppelt im Ergebnis.
  • Auftragspositionen mit mehreren Rechnungspositionen mit ItemQty >= 0 können mehrfach erscheinen (eine Zeile pro Rechnungsposition). Rechnungspositionen mit negativer Menge (Retouren) werden ignoriert.
  • Im Stücklisten-Modus werden nur Positionen mit BundleOrderlineRef IS NULL oder die erste Position einer Partition geliefert. Speichern Nicht-Stücklisten-Positionen 0 statt NULL in BundleOrderlineRef, würden sie zusammengefasst und nur eine davon geliefert; das hängt von den Daten ab und ist im Code nicht erkennbar.
  • AvailStockOrderLine zieht die Anzahl der Reservierungszeilen des Artikels über alle Aufträge ab (offene Status außer EIN, FUT, FUS), nicht pro Lager. Der Wert ist NULL, wenn für den Artikel kein ItemLocationSpecific-Eintrag für das Lager existiert; dann ist auch ReservedCount NULL.
  • PriceNoVAT ist für noch nicht berechnete Positionen NULL (sofern nicht aus einer Stücklisten-Position übernommen).
  • Ungültiges XML in @OrderXML führt zu einem SQL-Fehler von sp_xml_preparedocument.

Parameter

Parameter Typ Standardwert Beschreibung
OrderNr
Pflicht
int –

Pixi-Auftragsnummer (OrderHeader.OrderNr), deren Auftragspositionen geliefert werden.

Beispiel: 100234

OrderXML
varchar(max)
xml
NULL

Optionales XML mit weiteren Aufträgen, zugeordnet über ORDERNR oder ORDERNREXTERNAL.

Beispiel:

<ORDERS>
  <ORDER>
    <ORDERNR>100235</ORDERNR>
    <ORDERNREXTERNAL/>
  </ORDER>
  <ORDER>
    <ORDERNR/>
    <ORDERNREXTERNAL>SHOP-4711</ORDERNREXTERNAL>
  </ORDER>
</ORDERS>
ReturnBundle
bit
boolean
NULL

Steuert, ob Stücklisten-Positionen zusammengefasst werden. NULL verwendet die Einstellung APIBundleOrderlines.

Erlaubte Werte

  • 0 – Jede Auftragsposition einzeln liefern.
  • 1 – Positionen einer Stückliste zu einer Zeile mit Stücklisten-Werten zusammenfassen.

Beispiel: 1

Antwort

Result-Set 1 · Immer (kann leer sein, wenn kein Auftrag passt).

Auftragspositionen der ausgewählten Aufträge; im Stücklisten-Modus eine Zeile pro Stückliste plus alle übrigen Positionen.

Spalte Typ Beschreibung
OrderlineKey int

Schlüssel der Auftragsposition (im Stücklisten-Modus die erste Position der Stückliste).

ArtName
Kann leer sein
string

Artikelbezeichnung der Position bzw. Stückliste.

Qty
Kann leer sein
int

Bestellte Menge.

Price
Kann leer sein
decimal

Einzelpreis.

Status
Kann leer sein
char(3)
string

Statuscode der Position bzw. berechneter Stücklisten-Status.

StatusText
Kann leer sein
string

Text des Status aus OrderStates.

ItemNrExternal
Kann leer sein
string

Externe Artikelnummer.

OrderNr
Kann leer sein
int

Pixi-Auftragsnummer.

OrderNrExternal
Kann leer sein
string

Externe (Shop-)Auftragsnummer.

OrderCurrency
Kann leer sein
string

Währungscode des Auftrags (Currency.CodeA).

OrderDate
Kann leer sein
dateTime

Auftragsdatum.

ItemRef
Kann leer sein
int

Artikelschlüssel (Items.ItemKey).

oItemSpecialNote
Kann leer sein
string

Besondere Notiz zur Position.

DiscountValue
Kann leer sein
decimal

Rabattbetrag.

DiscountPerc
Kann leer sein
decimal

Rabatt in Prozent.

FullPrice
Kann leer sein
decimal

Positionsbetrag (OrderLineAmount).

VATRate varchar(1)
string

H = hoher Steuersatz, L = niedriger Steuersatz, N = sonstiger oder unbekannter.

PriceNoVAT
Kann leer sein
decimal

Netto-Einzelpreis aus Rechnungsposition bzw. Stückliste, auf 2 Stellen gerundet.

AvailStockOrderLine
Kann leer sein
int

Verfügbare Menge des Artikels am Lager der Position abzüglich offener Reservierungen.

ItemNrInt
Kann leer sein
string

Interne Artikelnummer.

ShipDate
Kann leer sein
dateTime

Scan-Out-Datum der zugehörigen Rechnung.

DFShipDate
Kann leer sein
dateTime

Versanddatum bei Direct Fulfillment.

DFShipmentTrackingID
Kann leer sein
string

Tracking-ID bei Direct Fulfillment.

ReservedCount
Kann leer sein
int

Kleinerer Wert aus Qty und AvailStockOrderLine, mindestens 0.

ItemNrSuppl
Kann leer sein
string

Lieferanten-Artikelnummer.

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:pixiGetOrderlinesForOrder>
      <OrderNr>100234</OrderNr>
      <!-- <OrderXML><![CDATA[<ORDERS><ORDER><ORDERNR>100235</ORDERNR><ORDERNREXTERNAL></ORDERNREXTERNAL></ORDER><ORDER><ORDERNR></ORDERNR><ORDERNREXTERNAL>SHOP-4711</ORDERNREXTERNAL></ORDER></ORDERS>]]></OrderXML> -->
      <!-- <ReturnBundle>1</ReturnBundle> -->
    </ns1:pixiGetOrderlinesForOrder>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

OrderHeader · Lesen Currency · Lesen Orderlines · Lesen BundleOrderlines · Lesen Items · Lesen InvLines · Lesen Invoices · Lesen OrderStates · Lesen Settings · Lesen ItemLocationSpecific · Lesen Reservation · Lesen
SQL-Objekt:
dbo.pipiGetOrderlinesForOrder
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben