Postman-Collection
Orders Lesen

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.

  1. Sind OrderNr und OrderNrExternal beide NULL, liefert die Funktion sofort 0.
  2. Andernfalls werden die Auftragspositionen (Orderlines) des Auftrags ermittelt:
    • über OrderNr, wenn nur OrderNr angegeben ist, oder
    • über OrderNrExternal, wenn nur OrderNrExternal angegeben ist.
  3. Gezählt werden die Rechnungspositionen (InvLines), die über OrderlineRef auf eine dieser Auftragspositionen verweisen.
  4. Existiert mindestens eine Rechnungsposition (Auftrag zumindest teilweise berechnet), ist das Ergebnis 0. Existiert keine, ist das Ergebnis 1, 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 NOLOCK gelesen, 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 OrderNrExternal NULL ist.

Beispiel: 123456

OrderNrExternal
varchar(50)
string
NULL

Externe Auftragsnummer, z. B. die Shop-Bestellnummer. Wird nur verwendet, wenn OrderNr NULL ist.

Beispiel: SHOP-100234

Antwort

Result-Set 1 · Immer

Skalarer Rückgabewert der Funktion.

Spalte Typ Beschreibung
Result int

1 = Adresse darf geändert werden (keine Rechnungspositionen gefunden); 0 = Adresse darf nicht geändert werden (Rechnungspositionen vorhanden oder kein Parameter angegeben).

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>

Verwendete Tabellen

InvLines · Lesen Orderlines · Lesen
SQL-Objekt:
dbo.pipiCanChangeAddress
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben