pixiCanChangeAddress
Liefert 1, wenn die Adresse eines Auftrags noch geändert werden darf, weil zu seinen Auftragspositionen keine Rechnungspositionen existieren, sonst 0.
Prüft, ob die Adresse eines Auftrags noch geändert werden darf. Die Prüfung stützt sich ausschließlich darauf, ob der Auftrag bereits ganz oder teilweise berechnet wurde.
- Sind
OrderNrundOrderNrExternalbeideNULL, liefert die Funktion sofort0. - Andernfalls werden die Auftragspositionen (
Orderlines) des Auftrags ermittelt:- über
OrderNr, wenn nurOrderNrangegeben ist, oder - über
OrderNrExternal, wenn nurOrderNrExternalangegeben ist.
- über
- Gezählt werden die Rechnungspositionen (
InvLines), die überOrderlineRefauf eine dieser Auftragspositionen verweisen. - Existiert mindestens eine Rechnungsposition (Auftrag zumindest teilweise berechnet), ist das Ergebnis
0. Existiert keine, ist das Ergebnis1, und die Adresse darf geändert werden.
Hinweise
- Nur einen der beiden Parameter übergeben. Sind beide angegeben, greift keine der Filterbedingungen. Es werden keine Auftragspositionen gefunden, und die Funktion liefert
1(Änderung erlaubt), auch wenn der Auftrag berechnet ist. - Eine nicht existierende Auftragsnummer liefert ebenfalls
1, da keine Rechnungspositionen gefunden werden. Eine Existenzprüfung des Auftrags findet nicht statt. - Beide Tabellen werden mit
NOLOCKgelesen, das Ergebnis kann daher nicht festgeschriebene Daten widerspiegeln. - Geprüft werden nur Rechnungspositionen. Andere Zustände wie Versand oder Stornierung werden nicht berücksichtigt.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
OrderNr
|
int | NULL |
Interne Pixi-Auftragsnummer. Wird nur verwendet, wenn Beispiel: |
OrderNrExternal
|
varchar(50) string |
NULL |
Externe Auftragsnummer, z. B. die Shop-Bestellnummer. Wird nur verwendet, wenn Beispiel: |
Antwort
Result-Set 1 · Immer
Skalarer Rückgabewert der Funktion.
| Spalte | Typ | Beschreibung |
|---|---|---|
Result
|
int |
|
Beispielantwort
<SqlRowSet1>
<row>
<Result>1</Result>
</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:pixiCanChangeAddress>
<!-- <OrderNr>123456</OrderNr> -->
<!-- <OrderNrExternal>SHOP-100234</OrderNrExternal> -->
</ns1:pixiCanChangeAddress>
</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:pixiCanChangeAddress>
<!-- <OrderNr>123456</OrderNr> -->
<!-- <OrderNrExternal>SHOP-100234</OrderNrExternal> -->
</ns1:pixiCanChangeAddress>
</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',
// 'OrderNrExternal' => 'SHOP-100234',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiCanChangeAddress', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiCanChangeAddress