Postman-Collection
Suppliers Schreiben

pixiSupplierOrderDelete

Löscht eine oder mehrere Lieferantenbestellungen, identifiziert über ID oder interne Nummer, und liefert eine Statuszeile.

Löscht Lieferantenbestellungen. Die zu löschenden Bestellungen können auf vier Arten übergeben werden, die sich beliebig kombinieren lassen:

  • SupplierOrderId: eine einzelne ID einer Lieferantenbestellung.
  • SupplierOrderIds: eine kommagetrennte Liste von IDs.
  • SupplierOrderNr: eine einzelne interne Bestellnummer (SupplierOrder.InternalNumber). Sie wird in die zugehörige ID aufgelöst.
  • SupplierOrderNrs: eine kommagetrennte Liste interner Bestellnummern. Sie werden in IDs aufgelöst.

Werte 0, NULL oder Leerstring gelten als "nicht angegeben". Alle aus diesen Parametern ermittelten IDs werden zu einer Kandidatenliste zusammengeführt. Diese Liste wird als kommagetrennter String an die interne Prozedur pixi.SupplierOrderDelete übergeben, die das eigentliche Löschen ausführt.

Anschließend wird geprüft, ob noch eine der Kandidaten-IDs in SupplierOrder vorhanden ist:

  • Ist keine mehr vorhanden, wird ReturnCode = SUCCESS mit leerer ErrorMessage geliefert.
  • Ist mindestens eine noch vorhanden, wird ReturnCode = WARNING mit der Meldung Some Purchase Orders from list were not deleted. geliefert. Welche Bestellungen nicht gelöscht wurden, wird nicht angegeben.

Bei einem Fehler wird die Transaktion zurückgerollt und eine Zeile mit ReturnCode = ERROR und dem SQL-Fehlertext geliefert.

Hinweise

  • Die eigentliche Löschlogik (welche Bestellungen gelöscht werden dürfen, welche abhängigen Daten entfernt werden) liegt in pixi.SupplierOrderDelete, deren Definition nicht vorliegt. Deren Regeln und eventuelle eigene Ergebnismengen sind unbekannt.
  • Die Verarbeitung läuft in einer Transaktion. Besteht beim Aufrufer bereits eine offene Transaktion, wird stattdessen ein Savepoint verwendet, und bei Erfolg wird keine Statuszeile geliefert; nur die Fehlerzeile wird dann zurückgegeben. Ein normaler SOAP-Aufruf hat keine äußere Transaktion und erhält immer eine Statuszeile.
  • AppName ist deklariert, wird aber nicht verwendet.
  • IDs in SupplierOrderIds werden nicht auf Existenz geprüft. Nicht existierende IDs führen nicht zu einer Warnung, da die abschließende Prüfung nur noch vorhandene Kandidaten betrachtet.
  • Nicht numerische Einträge in SupplierOrderIds oder SupplierOrderNrs führen zu einem Konvertierungsfehler und einer ERROR-Zeile; es wird nichts gelöscht.
  • Wird keine Bestellung angegeben, wird eine leere Liste (NULL) an pixi.SupplierOrderDelete übergeben. Wie diese Prozedur damit umgeht, ist nicht ersichtlich.
  • Die Auflösung interner Nummern und die abschließende Existenzprüfung verwenden NOLOCK.
  • SupplierOrderIds und SupplierOrderNrs sind auf 8000 Zeichen begrenzt.

Parameter

Parameter Typ Standardwert Beschreibung
AppName
varchar(255)
string
NULL

Name der aufrufenden Anwendung. Deklariert, aber im Code nicht verwendet.

Beispiel: ShopConnector

SupplierOrderId
int NULL

ID einer einzelnen zu löschenden Lieferantenbestellung. 0 oder NULL bedeutet nicht angegeben.

Beispiel: 1532

SupplierOrderIds
varchar(8000)
string
–

Kommagetrennte Liste von IDs der zu löschenden Lieferantenbestellungen. Leerzeichen um Einträge werden entfernt. Leer bedeutet nicht angegeben.

Beispiel: 1533,1534,1540

SupplierOrderNr
int NULL

Interne Nummer (InternalNumber) einer einzelnen zu löschenden Lieferantenbestellung. 0 oder NULL bedeutet nicht angegeben.

Beispiel: 20345

SupplierOrderNrs
varchar(8000)
string
–

Kommagetrennte Liste interner Nummern der zu löschenden Lieferantenbestellungen. Jeder Eintrag muss eine Ganzzahl sein. Leer bedeutet nicht angegeben.

Beispiel: 20346,20347

Antwort

Result-Set 1 · Bei Erfolg oder Warnung, nur wenn der Aufruf nicht innerhalb einer äußeren Transaktion erfolgt.

Statuszeile des Löschvorgangs.

Spalte Typ Beschreibung
ReturnCode varchar(20)
string

SUCCESS, wenn alle Kandidaten gelöscht wurden, WARNING, wenn mindestens einer noch vorhanden ist.

ErrorMessage
Kann leer sein
varchar(100)
string

NULL bei Erfolg, sonst Warnungstext.

Result-Set 2 · Bei einem Fehler.

Fehlerzeile, nachdem die Transaktion (bzw. der Savepoint) zurückgerollt wurde.

Spalte Typ Beschreibung
ReturnCode varchar(5)
string

Immer ERROR.

ErrorMessage
Kann leer sein
nvarchar(4000)
string

SQL-Fehlermeldung des Fehlers.

Fehlermeldungen

Status Meldung Ursache
WARNING Some Purchase Orders from list were not deleted. Mindestens eine der angeforderten Lieferantenbestellungen ist nach Ausführung von `pixi.SupplierOrderDelete` noch vorhanden, z. B. weil deren Regeln das Löschen verhindern. Bestellungen einzeln prüfen.
ERROR {ERROR_MESSAGE()} Beliebiger SQL-Fehler während der Verarbeitung, z. B. ein nicht numerischer Eintrag in `SupplierOrderIds` oder `SupplierOrderNrs` (Konvertierungsfehler) oder ein Fehler aus `pixi.SupplierOrderDelete`. Alle Änderungen werden zurückgerollt.

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:pixiSupplierOrderDelete>
      <!-- <AppName>ShopConnector</AppName> -->
      <!-- <SupplierOrderId>1532</SupplierOrderId> -->
      <!-- <SupplierOrderIds>1533,1534,1540</SupplierOrderIds> -->
      <!-- <SupplierOrderNr>20345</SupplierOrderNr> -->
      <!-- <SupplierOrderNrs>20346,20347</SupplierOrderNrs> -->
    </ns1:pixiSupplierOrderDelete>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

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