pixiGetOrderline
Liefert Auftragspositionen gefiltert nach Schlüssel, Auftrag, Status, Shop, Zahlungsart, Datum oder Rechnung, inkl. Preisen, MwSt., Versanddaten und verfügbarem Bestand.
Liefert Auftragspositionen (Orderlines) und Bundle-Positionen (BundleOrderlines), die allen angegebenen Filtern entsprechen, sortiert nach OrderlineKey.
Normalisierung der Eingaben
OrderlineKeyundOrderNRmit Wert0sowie leere Strings bei Text- und Datumsparametern gelten als nicht gesetzt.RowCountNULL wird zu1000.- Enthält
OrderNRExternalDROP,ALTER,DELETE,TRUNCATEoderUPDATE, endet die Prozedur sofort ohne Ergebnismenge.
Filter (UND-verknüpft, nur wenn gesetzt)
OrderlineKey,OrderNR,OrderNRExternal,Status: exakter Vergleich mit der Auftragsposition.ShopID:CustomerOFdes Kunden der Position.PaymentType:APaymentder Adresse der Position.OrderDateFrom/OrderDateToundUpdateDateFrom/UpdateDateTo: exklusive Grenzen (>und<).InvoiceNr: nur Positionen, die als Rechnungsposition der Rechnung mit dieser Nummer vorkommen.
Bundle-Behandlung (ShowOrderlines)
1: Bundles werden nicht als normale Artikel verarbeitet; alle Auftragspositionen inkl. der Bundle-Komponenten werden geliefert.0: Bundles werden als normale Artikel verarbeitet; Komponentenpositionen (mit Bundle-Referenz) entfallen, die Bundle-Position selbst wird ausBundleOrderlinesgeliefert.- nicht gesetzt: Wert aus der Einstellung
ProcessBundleItemsAsNormalItems(Standard0).
Bundle-Positionen werden mit denselben Filtern gesucht; Datums- und Rechnungsfilter werden gegen die Komponentenpositionen geprüft, und die Filter OrderNR/OrderNRExternal treffen Bundle-Positionen nur, wenn Bundles als normale Artikel verarbeitet werden.
Zeilenlimit: Zuerst werden bis zu RowCount normale Auftragspositionen (aufsteigend nach OrderlineKey) gesammelt, danach füllen Bundle-Positionen das restliche Kontingent. Einen Offset gibt es nicht; für Paging eignen sich OrderlineKey- oder Datumsfilter.
Berechnete Werte
FullPrice=Qty×Price;FullPriceForItemist der gespeicherte Gesamtpreis der Position.VATRateundPriceNoVAT(auf 2 Nachkommastellen gerundet) stammen aus der ersten Rechnungsposition, sonst aus der MwSt.-Klasse des Artikels (H,L,N) bzw. dem Nettopreis der Position.ShipDateist das Scan-Out-Datum der Rechnung (bzw. der referenzierten Rechnung).AvailStockOrderLine= Bestand des Artikels am Lager der Position abzüglich der Anzahl früherer Reservierungen desselben Artikels durch Positionen in aktiven (nicht finalen) Status außerEIN,FUT,FUS.ReservedCount= das Minimum ausQtyundAvailStockOrderLine, mindestens 0.
Bundle-Positionen enthalten keine Versand-, Bestands- oder Lieferterminangaben (NULL).
Hinweise
- Nur lesend; alle Tabellen werden mit
NOLOCKgelesen, nicht festgeschriebene Daten können erscheinen. - Die Filterabfrage wird als dynamisches SQL aufgebaut, aber parametrisiert über
sp_executesqlausgeführt. - Die Schlüsselwortprüfung auf
OrderNRExternalendet stillschweigend (keine Zeilen, kein Fehler) – eine externe Auftragsnummer, die z. B.UPDATEenthält, ist nicht suchbar. RowCountbegrenzt die Kandidaten vor den abschließenden Joins. Positionen ohne Auftragskopf, Währung, Artikel, Auftragsstatus oderItemLocationSpecific-Eintrag für Artikel und Lager entfallen, daher können weniger Zeilen alsRowCountzurückkommen.- Bei
ShowOrderlines= 1 (oder Einstellung0) ohne FilterOrderNR/OrderNRExternalkönnen Bundle-Positionen ausBundleOrderlineszusätzlich zu ihren Komponenten erscheinen. ReservedCountist bei Bundle-Positionen NULL, daAvailStockOrderLinedort NULL ist.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
OrderlineKey
|
int | NULL |
Schlüssel einer einzelnen Auftragsposition; 0 gilt als nicht gesetzt. Beispiel: |
OrderNR
|
int | NULL |
Pixi-Auftragsnummer; 0 gilt als nicht gesetzt. Beispiel: |
OrderNRExternal
|
varchar(50) string |
NULL |
Externe (Shop-)Auftragsnummer, exakter Vergleich. Werte mit DROP, ALTER, DELETE, TRUNCATE oder UPDATE beenden den Aufruf ohne Ergebnis. Beispiel: |
Status
|
varchar(3) string |
NULL |
Statuscode der Auftragsposition (aus Beispiel: |
ShopID
|
varchar(3) string |
NULL |
Shop-ID; Vergleich mit Beispiel: |
PaymentType
|
char(1) string |
NULL |
Zahlungsart; Vergleich mit Beispiel: |
OrderDateFrom
|
datetime dateTime |
NULL |
Nur Positionen mit Auftragsdatum echt nach diesem Wert. Beispiel: |
OrderDateTo
|
datetime dateTime |
NULL |
Nur Positionen mit Auftragsdatum echt vor diesem Wert. Beispiel: |
UpdateDateFrom
|
datetime dateTime |
NULL |
Nur Positionen, die echt nach diesem Zeitpunkt geändert wurden. Beispiel: |
UpdateDateTo
|
datetime dateTime |
NULL |
Nur Positionen, die echt vor diesem Zeitpunkt geändert wurden. Beispiel: |
RowCount
|
int | 1000 |
Maximale Anzahl Kandidatenpositionen (zuerst normale, dann Bundle-Positionen). NULL bedeutet 1000. Beispiel: |
InvoiceNr
|
varchar(50) string |
NULL |
Nur Positionen, die in der Rechnung mit dieser Nummer enthalten sind. Beispiel: |
ShowOrderlines
|
bit boolean |
NULL |
Steuert die Bundle-Behandlung. NULL verwendet die Einstellung Erlaubte Werte
Beispiel: |
Antwort
Result-Set 1 · Immer, außer OrderNRExternal enthält ein gesperrtes Schlüsselwort (dann keine Ergebnismenge).
Passende Auftrags- 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 |
Bestellmenge. |
Price
Kann leer sein |
money decimal |
Einzelpreis. |
Status
Kann leer sein |
varchar(3) string |
Statuscode der Position. |
StatusText
Kann leer sein |
varchar(60) string |
Statustext aus |
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 (bei Bundle-Positionen von einer Komponente). |
UpdateDate
Kann leer sein |
datetime dateTime |
Letzte Änderung (bei Bundle-Positionen von einer Komponente). |
ItemRef
Kann leer sein |
int |
Artikelschlüssel. |
oItemSpecialNote
Kann leer sein |
varchar(8000) string |
Sondervermerk der 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 |
|
FullPriceForItem
Kann leer sein |
money decimal |
Gespeicherter Gesamtpreis der Position. |
VATRate
Kann leer sein |
varchar(1) string |
MwSt.-Klasse: aus Rechnungsposition, sonst |
PriceNoVAT
Kann leer sein |
money decimal |
Netto-Einzelpreis, bei normalen Positionen auf 2 Stellen gerundet. |
ItemNrInt
Kann leer sein |
varchar(50) string |
Interne Artikelnummer. |
ShipDate
Kann leer sein |
datetime dateTime |
Scan-Out-Datum der Rechnung; NULL bei Bundle-Positionen. |
DFShipDate
Kann leer sein |
datetime dateTime |
Versanddatum Direct Fulfillment. |
DFShipmentTrackingID
Kann leer sein |
varchar(100) string |
Sendungsverfolgungsnummer 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 |
Voraussichtlicher Liefertermin der Position. |
EANUPC
Kann leer sein |
varchar(13) string |
EAN/UPC des Artikels. |
ReservedCount
Kann leer sein |
numeric decimal |
Minimum aus |
Beispielantwort
<SqlRowSet1>
<row>
<OrderlineKey>154872</OrderlineKey>
<ArtName>T-Shirt Basic Blau M</ArtName>
<Qty>2</Qty>
<Price>19.9900</Price>
<Status>AUF</Status>
<StatusText>Auftrag</StatusText>
<ItemNrExternal>TS-BL-M</ItemNrExternal>
<OrderNR>200345</OrderNR>
<OrderNrExternal>SHOP-100234</OrderNrExternal>
<OrderCurrency>EUR</OrderCurrency>
<OrderDate>2024-01-15T10:22:00</OrderDate>
<UpdateDate>2024-01-15T10:25:00</UpdateDate>
<ItemRef>4711</ItemRef>
<DiscountValue>0.0000</DiscountValue>
<DiscountPerc>0.00</DiscountPerc>
<FullPrice>39.9800</FullPrice>
<FullPriceForItem>39.9800</FullPriceForItem>
<VATRate>H</VATRate>
<PriceNoVAT>16.8000</PriceNoVAT>
<ItemNrInt>100045</ItemNrInt>
<AvailStockOrderLine>5</AvailStockOrderLine>
<EANUPC>4006381333931</EANUPC>
<ReservedCount>2.0</ReservedCount>
</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:pixiGetOrderline>
<!-- <OrderlineKey>154872</OrderlineKey> -->
<!-- <OrderNR>200345</OrderNR> -->
<!-- <OrderNRExternal>SHOP-100234</OrderNRExternal> -->
<!-- <Status>AUF</Status> -->
<!-- <ShopID>SH1</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>RE2024-001234</InvoiceNr> -->
<!-- <ShowOrderlines>1</ShowOrderlines> -->
</ns1:pixiGetOrderline>
</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:pixiGetOrderline>
<!-- <OrderlineKey>154872</OrderlineKey> -->
<!-- <OrderNR>200345</OrderNR> -->
<!-- <OrderNRExternal>SHOP-100234</OrderNRExternal> -->
<!-- <Status>AUF</Status> -->
<!-- <ShopID>SH1</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>RE2024-001234</InvoiceNr> -->
<!-- <ShowOrderlines>1</ShowOrderlines> -->
</ns1:pixiGetOrderline>
</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 = [
// 'OrderlineKey' => '154872',
// 'OrderNR' => '200345',
// 'OrderNRExternal' => 'SHOP-100234',
// 'Status' => 'AUF',
// 'ShopID' => 'SH1',
// 'PaymentType' => 'V',
// 'OrderDateFrom' => '2024-01-01T00:00:00',
// 'OrderDateTo' => '2024-02-01T00:00:00',
// 'UpdateDateFrom' => '2024-01-15T08:00:00',
// 'UpdateDateTo' => '2024-01-16T08:00:00',
// 'RowCount' => '500',
// 'InvoiceNr' => 'RE2024-001234',
// 'ShowOrderlines' => '1',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetOrderline', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetOrderline