pixiRequestPartialDelivery
Aktiviert oder deaktiviert die Teillieferung für einen Auftrag und setzt die zugehörigen Storno- und Mehrfach-Teillieferungs-Flags, sofern der Auftrag nicht abgeschlossen oder gesperrt ist.
Ändert die Teillieferungs-Einstellungen im Kopf eines Auftrags.
- Der Gesamtstatus des Auftrags wird aus seinen Auftragspositionen ermittelt:
CLOSED– alle Positionen befinden sich in einem Endstatus, oder der Auftrag hat gar keine Positionen (das gilt auch für nicht existierende Auftragsnummern).HOLD– jede Position ist im StatusHAL, im StatusMINoder in einem Endstatus.OPEN– in allen anderen Fällen.
- Nur wenn der Status weder
CLOSEDnochHOLDist, wird der Auftragskopf mitOrderNr=@OrderNraktualisiert:ForceToPicklistIfNotFULLwird auf1gesetzt, wenn@PartialDeliveryActivegleich1ist; bei0oderNULLwird das Feld aufNULLgesetzt (Teillieferung aus). Dieser Wert wird immer geschrieben.OHCancelAfterForcedShipOutwird auf@CancelUnavailableItemsgesetzt; fehlt der Parameter oder ist erNULL, bleibt der bisherige Wert erhalten.OHMultiForceToPicklistwird auf@PartialDeliveryForRemaininggesetzt; fehlt der Parameter oder ist erNULL, bleibt der bisherige Wert erhalten.
- Die Anzahl der betroffenen Zeilen wird in der Spalte
RowsUpdatedzurückgegeben (1, wenn der Auftragskopf aktualisiert wurde).
Hinweise
- Ist der Auftrag abgeschlossen, gesperrt oder nicht vorhanden, wird kein Fehler gemeldet; es erfolgt lediglich keine Aktualisierung. Über
RowsUpdatedlässt sich prüfen, ob die Änderung übernommen wurde. RowsUpdatedwird nach dem bedingten Update aus@@ROWCOUNTgelesen. Wird das Update übersprungen, wird der Wert nicht explizit auf0gesetzt, sondern ergibt sich aus der Zeilenzählung von SQL Server für die vorherigen Anweisungen; zur sicheren Unterscheidung sollte der Auftragsstatus bei Bedarf separat abgefragt werden.- Anders als bei den beiden anderen Flags gibt es für
@PartialDeliveryActivekeine Beibehaltung des bisherigen Werts:NULLschaltet die Teillieferung aus. - Der Auftragsstatus wird mit
NOLOCKaus den Auftragspositionen gelesen; bei gleichzeitigen Änderungen kann die Statusprüfung leicht veraltet sein. - Es wird keine explizite Transaktion verwendet.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
OrderNr
Pflicht
|
int | – |
Interne Pixi-Auftragsnummer ( Beispiel: |
PartialDeliveryActive
Pflicht
|
bit boolean |
– |
Schaltet die Teillieferung ein oder aus ( Erlaubte Werte
Beispiel: |
CancelUnavailableItems
|
bit boolean |
NULL |
Wert für Beispiel: |
PartialDeliveryForRemaining
|
bit boolean |
NULL |
Wert für Beispiel: |
Antwort
Result-Set 1 · Immer
Anzahl der aktualisierten Auftragskopf-Zeilen.
| Spalte | Typ | Beschreibung |
|---|---|---|
RowsUpdated
|
int |
Wert von |
Beispielantwort
<SqlRowSet1>
<row>
<RowsUpdated>1</RowsUpdated>
</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:pixiRequestPartialDelivery>
<OrderNr>123456</OrderNr>
<PartialDeliveryActive>1</PartialDeliveryActive>
<!-- <CancelUnavailableItems>0</CancelUnavailableItems> -->
<!-- <PartialDeliveryForRemaining>1</PartialDeliveryForRemaining> -->
</ns1:pixiRequestPartialDelivery>
</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:pixiRequestPartialDelivery>
<OrderNr>123456</OrderNr>
<PartialDeliveryActive>1</PartialDeliveryActive>
<!-- <CancelUnavailableItems>0</CancelUnavailableItems> -->
<!-- <PartialDeliveryForRemaining>1</PartialDeliveryForRemaining> -->
</ns1:pixiRequestPartialDelivery>
</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' => '123456',
'PartialDeliveryActive' => '1',
// 'CancelUnavailableItems' => '0',
// 'PartialDeliveryForRemaining' => '1',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiRequestPartialDelivery', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiRequestPartialDelivery