Orders
Lesen
pixiGetMergableOrders
Liefert die Aufträge, die mit einem gegebenen Auftrag zusammengeführt werden können: gleicher Kunde, Auftragstyp, Währung und Zahlungsart, alle Positionen ANG, nicht auf aktiver Pickliste.
Ermittelt Kandidaten für die Zusammenführung mit dem Referenzauftrag OrderNr.
- Der Referenzauftrag wird aus
OrderHeadergelesen: Kunde (CustRef), Währung (CurrencyId), Auftragstyp (OrderType) sowie die Zahlungsart (APayment) der überAddrRefverknüpften Adresse. - Andere Aufträge werden geliefert, wenn alle folgenden Bedingungen erfüllt sind:
- gleicher Kunde (
CustRef), aber andere Auftragsnummer; - gleicher
OrderTypeund gleicheCurrencyId; - die Adresse des Kandidaten hat dieselbe Zahlungsart wie der Referenzauftrag, und diese Zahlungsart ist nicht
K(verwendet der ReferenzauftragK, werden keine Aufträge geliefert); - keine Auftragsposition des Kandidaten befindet sich auf einer Picklistenposition, deren Pickliste noch nicht abgelaufen ist (
PLHexpiryDategrößer als jetzt) und derenReservedOrderNrleer oder 0 ist; - alle Auftragspositionen des Kandidaten haben den Status
ANG(Aufträge ohne Positionen sind damit ausgeschlossen).
- gleicher Kunde (
- Sortiert wird nach
CreateDateaufsteigend (ältester Auftrag zuerst).
Existiert der Referenzauftrag nicht, ist die Ergebnismenge leer.
Hinweise
- Nur lesend; alle Tabellen werden
WITH (NOLOCK)gelesen, daher können nicht festgeschriebene Daten sichtbar sein. - Der Referenzauftrag selbst wird nicht auf Positionsstatus oder Picklistenzuordnung geprüft; gefiltert werden nur die Kandidaten.
- Die Bedeutung der Zahlungsart
Kist im Code nicht definiert; sie wird lediglich von der Zusammenführung ausgeschlossen. - Die Spalte
ReservedOrderNrwird ohne Tabellenalias verwendet; sie gehört entweder zuPLitemoderPLHeader, was der Code nicht eindeutig macht. - Der Aufruf listet nur Kandidaten auf und führt keine Zusammenführung durch.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
OrderNr
Pflicht
|
int | – |
Interne Nummer des Referenzauftrags, zu dem zusammenführbare Aufträge gesucht werden. Beispiel: |
Antwort
Result-Set 1 · Immer (leer, wenn der Referenzauftrag nicht existiert oder kein Kandidat passt).
Aufträge, die mit dem Referenzauftrag zusammengeführt werden können, älteste zuerst.
| Spalte | Typ | Beschreibung |
|---|---|---|
OrderNr
|
int |
Interne Nummer des zusammenführbaren Auftrags. |
CreateDate
Kann leer sein |
datetime dateTime |
Anlagedatum des Auftrags (Sortierschlüssel). |
OrderNrExternal
Kann leer sein |
string |
Externe Auftragsnummer, z. B. aus dem Shop. |
Beispielantwort
<SqlRowSet1>
<row>
<OrderNr>104498</OrderNr>
<CreateDate>2024-03-11T09:15:22</CreateDate>
<OrderNrExternal>SHOP-100231</OrderNrExternal>
</row>
<row>
<OrderNr>104517</OrderNr>
<CreateDate>2024-03-12T14:02:47</CreateDate>
<OrderNrExternal>SHOP-100245</OrderNrExternal>
</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:pixiGetMergableOrders>
<OrderNr>104523</OrderNr>
</ns1:pixiGetMergableOrders>
</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:pixiGetMergableOrders>
<OrderNr>104523</OrderNr>
</ns1:pixiGetMergableOrders>
</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 = [
'OrderNr' => '104523',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetMergableOrders', $soapArguments);
Verwendete Tabellen
OrderHeader · Lesen
Addresses · Lesen
PLitem · Lesen
PLHeader · Lesen
Orderlines · Lesen
- SQL-Objekt:
- dbo.pipiGetMergableOrders
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben