Orders
Schreiben
pixiPicklistDelete
Löscht eine Pickliste samt Positionen, Pickfortschritt, Picklistenkisten und Transportbehälter-Zuordnungen.
Löscht die über PicklistNumber (PLHkey in PLHeader) angegebene Pickliste.
Ablauf:
- Wird
PicklistNumbernicht übergeben, wird eine Fehlerzeile geliefert. - Existiert keine Pickliste mit dieser Nummer, wird eine Fehlerzeile geliefert.
- Die Anzahl der Einträge in
PL_ItemPickingProgresszur Pickliste wird ermittelt. Sind Einträge vorhanden und istForceDelete = 0, bricht der Aufruf mit einer Fehlerzeile ab, da Artikel der Pickliste gerade gepickt werden. - Andernfalls wird die interne Prozedur
Pixi_DeletePickListausgeführt. Sie löscht nacheinander die Pickfortschritt-Einträge, die Picklistenkisten (PicklistBox), die Transportbehälter-Zuordnungen mit Belegtyp 1 (TransportBinMatch), die Picklistenpositionen (PLitem) und zuletzt den Picklistenkopf (PLHeader). - Es wird eine Zeile mit
Status = Successund einer Bestätigungsmeldung geliefert.
In jedem Fall wird genau eine Zeile mit Status und Message zurückgegeben.
Hinweise
- Das Löschen erfolgt in
Pixi_DeletePickListinnerhalb einer Transaktion (bzw. eines Savepoints, falls bereits eine Transaktion offen ist). Bei einem Fehler wird zurückgerollt und überlog.InsertErrorprotokolliert (nicht beigefügt). - Stolperfalle:
Pixi_DeletePickListfängt eigene Fehler ab und gibt sie nicht weiter. Ein Fehler beim Löschen ist für diesen Aufruf daher meist nicht sichtbar, und dieSuccess-Zeile kann geliefert werden, obwohl die Pickliste nach dem Rollback noch existiert. Im Zweifel das Löschen prüfen. Die MeldungUnexpected error. Picklist was not deleted.erscheint nur bei Fehlern, die außerhalb der inneren Prozedur auftreten. - Die Prüfungen auf Existenz und Pickfortschritt verwenden
NOLOCKund können daher nicht festgeschriebene Daten lesen. ForceDelete = 1löscht auch Picklisten, die gerade gepickt werden; der Pickfortschritt geht dabei verloren.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
PicklistNumber
|
int | NULL |
Nummer der zu löschenden Pickliste ( Beispiel: |
ForceDelete
|
bit boolean |
0 |
Löscht die Pickliste auch dann, wenn gerade Artikel gepickt werden. Erlaubte Werte
Beispiel: |
Antwort
Result-Set 1 · Immer (eine Zeile, Erfolg oder Fehler)
Statuszeile des Aufrufs.
| Spalte | Typ | Beschreibung |
|---|---|---|
Status
|
varchar(7) string |
|
Message
|
varchar(max) string |
Bestätigungs- oder Fehlertext. |
Beispielantwort
<SqlRowSet1>
<row>
<Status>Success</Status>
<Message>Picklist with picklist number "10452" was deleted.</Message>
</row>
</SqlRowSet1>
Fehlermeldungen
| Status | Meldung | Ursache |
|---|---|---|
| Error | "PicklistNumber" is a mandatory parameter. | `PicklistNumber` wurde nicht übergeben oder ist NULL. |
| Error | Picklist with picklist number "{PicklistNumber}" could not be found. | In `PLHeader` existiert keine Pickliste mit dieser Nummer. |
| Error | Picklist is currently in use and items are being picked. To delete the picklist that is currently in use, set parameter "ForceDelete = 1" | Zur Pickliste existieren Pickfortschritt-Einträge und `ForceDelete` ist 0. Mit `ForceDelete = 1` trotzdem löschen. |
| Error | Unexpected error. Picklist was not deleted. | Ein Fehler ist aus der internen Löschprozedur nach außen gelangt. |
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:pixiPicklistDelete>
<!-- <PicklistNumber>10452</PicklistNumber> -->
<!-- <ForceDelete>0</ForceDelete> -->
</ns1:pixiPicklistDelete>
</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:pixiPicklistDelete>
<!-- <PicklistNumber>10452</PicklistNumber> -->
<!-- <ForceDelete>0</ForceDelete> -->
</ns1:pixiPicklistDelete>
</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 = [
// 'PicklistNumber' => '10452',
// 'ForceDelete' => '0',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiPicklistDelete', $soapArguments);
Verwendete Tabellen
PLHeader · Schreiben
PL_ItemPickingProgress · Schreiben
PicklistBox · Schreiben
TransportBinMatch · Schreiben
PLitem · Schreiben
- SQL-Objekt:
- dbo.pipiPicklistDelete
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben