pixiCanUpdateOrderline
Liefert den Status einer Auftragsposition und ob sie noch geändert bzw. storniert werden kann.
Sucht die über OrderlineKey angegebene Auftragsposition in Orderlines und verknüpft ihren Statuscode mit OrderStates, um den Statustext zu ermitteln.
Die Spalte CanCancel ist nur dann 1, wenn alle folgenden Bedingungen erfüllt sind:
- der Status ist kein Endstatus (
FinalStatedes Status istNoder nicht gesetzt), - der Status ist nicht
EIN, - die Auftragsposition ist in keinem Packstück-Eintrag referenziert (
boxitems.OrderLineRef), d. h. sie wurde noch nicht verpackt, - die Auftragsposition ist in keiner Rechnungsposition referenziert (
Invlines.OrderLineRef), d. h. sie wurde noch nicht berechnet.
Andernfalls ist CanCancel gleich 0.
Existiert die Auftragsposition nicht oder hat ihr Status keinen Eintrag in OrderStates (Inner Join), wird keine Zeile zurückgegeben.
Hinweise
Alle Tabellen werden mit NOLOCK gelesen; das Ergebnis kann daher nicht festgeschriebene Daten widerspiegeln. Der Aufruf prüft nur und ändert die Auftragsposition nicht. Ein leeres Ergebnis bedeutet, dass der Positionsschlüssel unbekannt ist (oder sein Status in OrderStates fehlt), nicht dass eine Stornierung unmöglich ist.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
OrderlineKey
Pflicht
|
int | – |
Schlüssel der zu prüfenden Auftragsposition ( Beispiel: |
Antwort
Result-Set 1 · Wenn die Auftragsposition existiert und ihr Status in OrderStates definiert ist
Eine Zeile mit dem Status der Auftragsposition und dem Kennzeichen für Stornierung/Änderung.
| Spalte | Typ | Beschreibung |
|---|---|---|
OrderlineKey
|
int |
Schlüssel der Auftragsposition. |
Status
Kann leer sein |
string |
Aktueller Statuscode der Auftragsposition (z. B. |
StateText
Kann leer sein |
string |
Beschreibung des Status aus |
CanCancel
|
int |
|
Beispielantwort
<SqlRowSet1>
<row>
<OrderlineKey>123456</OrderlineKey>
<Status>AUF</Status>
<StateText>Offen</StateText>
<CanCancel>1</CanCancel>
</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:pixiCanUpdateOrderline>
<OrderlineKey>123456</OrderlineKey>
</ns1:pixiCanUpdateOrderline>
</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:pixiCanUpdateOrderline>
<OrderlineKey>123456</OrderlineKey>
</ns1:pixiCanUpdateOrderline>
</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' => '123456',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiCanUpdateOrderline', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiCanUpdateOrderline