Postman-Collection
Shipping Schreiben

pixiCreatePicklist

Erstellt eine Pickliste auf Basis eines Picklistenprofils, entweder sofort oder über einen Eintrag in der Ausführungs-Warteschlange.

Startet die Erstellung einer Pickliste mit den Einstellungen eines gespeicherten Picklistenprofils. Einzelne Profilwerte lassen sich über Parameter übersteuern.

  1. Premium-API-Prüfung. Die Einstellung Premium_API muss aktiv sein. Andernfalls wird eine ERROR-Zeile geliefert.
  2. Profil. Ist ProfileId angegeben (0 gilt als nicht angegeben), muss das Profil in PL_Profile existieren. Ohne Angabe wird das zuletzt geänderte Standardprofil (PLP_Default = 1) verwendet, das kein 1SS-Profil ist (PLP_1SS = 0).
  3. Lager. Eine leere LocationId wird zu 001.
  4. Auftragseinschränkung (optional).
    • Nur OrderNr: Der Auftrag muss in OrderHeader existieren.
    • Nur OrderNrExternal: Ein Auftrag mit dieser externen Nummer muss existieren.
    • Beide: Ein Auftrag mit beiden Werten muss existieren. Danach wird nur OrderNr verwendet und OrderNrExternal geleert.
    • OrderNr = 0 und eine leere OrderNrExternal gelten als nicht angegeben.
  5. Lagerplatzbereich (optional). BinFrom und BinTo müssen Lagerplatznamen (InvBin.BinName) im gewählten Lager sein. Ihre BinSortNum ersetzt den Lagerplatz-Sortierbereich des Profils.
  6. Benutzer und Kommentar. UserName wird getrimmt; ist er leer, wird API verwendet. Comment wird getrimmt und als Picklistenkommentar übernommen.
  7. Profilparameter. Alle Parameter des Profils werden geladen. Danach werden Lager, Profil-ID, Auftragseinschränkung, Lagerplatzbereich, Benutzername und Kommentar mit den Werten aus den Schritten 2–6 überschrieben.
  8. Exklusive Sperre. Der Aufruf fordert die Application-Lock ExclusivePickListCreation ohne Wartezeit an. Hält eine andere Session die Sperre, wird eine ERROR-Zeile geliefert.
  9. Ausführung. Aus der aktuellen Zeit wird eine Ausführungsnummer im Format yyMMddHHmmss gebildet.
    • ExecuteAsynchronous = 1 (Standard): Eine Anweisung EXEC dbo.Pixi_CreatePickList … mit allen Parametern wird in ExecQueries geschrieben. Es wird eine INFO-Zeile geliefert.
    • ExecuteAsynchronous = 0: Pixi_CreatePickList wird sofort ausgeführt. Die Prozedur liest ihre Parameter aus der temporären Parametertabelle.

Anschließend wird die Sperre freigegeben.

Hinweise

Synchroner Modus (ExecuteAsynchronous = 0)

  • Es wird keine INFO-Zeile geliefert.
  • Der Aufrufer erhält die Rückgabe von Pixi_CreatePickList. Diese Prozedur ist nicht beigefügt, daher sind ihre Ergebnismengen und weitere Nebeneffekte hier nicht dokumentiert.
  • Die Sperre ist an die Session gebunden. Bricht Pixi_CreatePickList mit einem Fehler ab, kann die Freigabe entfallen. Die Sperre bleibt dann bis zum Ende der Datenbank-Session bestehen.

Asynchroner Modus (Standard)

  • Die Sperre wird nur während des Schreibens in die Warteschlange gehalten. Sie verhindert nicht, dass mehrere Picklistenerstellungen aus der Warteschlange gleichzeitig laufen.
  • Die Anweisung für die Warteschlange wird als Text zusammengesetzt. Hochkommas in Werten wie Comment oder UserName werden nicht maskiert und können die Anweisung ungültig machen.
  • Die Profilwerte OlderThanHour, OlderThanMinute, NewerThanHour, NewerThanMinute und DisablePicklistSplitOnBatchManagement werden in der Anweisung nicht übergeben.

Stolperfallen

  • Die Lagerprüfung schlägt nie fehl. Existiert LocationId nicht, bleibt der übergebene Wert erhalten und die Lager-Fehlermeldung wird nie geliefert.
  • Comment überschreibt immer den Profilkommentar. Ohne Angabe wird der Kommentar aus dem Profil geleert.
  • Ein Leerstring für BinFrom oder BinTo gilt nicht als fehlend. Er wird als Lagerplatzname gesucht und führt zu einem Fehler.
  • Die Fehlermeldung zur Profil-ID lautet "could be found", gemeint ist jedoch, dass das Profil nicht gefunden wurde.

Sonstiges

  • Alle Abfragen verwenden NOLOCK.

Parameter

Parameter Typ Standardwert Beschreibung
ProfileId
smallint
int
NULL

Schlüssel des Picklistenprofils (PL_Profile.PLP_Key). Bei NULL oder 0 wird das zuletzt geänderte Standardprofil verwendet, das kein 1SS-Profil ist.

Beispiel: 3

LocationId
varchar(3)
string
NULL

Lager für die Pickliste. Bei NULL oder Leerstring wird 001 verwendet.

Beispiel: 001

OrderNr
int NULL

Beschränkt die Pickliste auf diese Auftragsnummer. Bei NULL oder 0 gibt es keine Einschränkung. Der Auftrag muss existieren.

Beispiel: 1045873

BinFrom
varchar(50)
string
NULL

Name des ersten Lagerplatzes des Bereichs im gewählten Lager. Seine BinSortNum ersetzt die untere Lagerplatz-Sortiergrenze des Profils.

Beispiel: A-01-01

BinTo
varchar(50)
string
NULL

Name des letzten Lagerplatzes des Bereichs im gewählten Lager. Seine BinSortNum ersetzt die obere Lagerplatz-Sortiergrenze des Profils.

Beispiel: A-10-05

UserName
varchar(50)
string
NULL

Benutzer, der für die Picklistenerstellung vermerkt wird. Bei NULL oder Leerstring wird API verwendet.

Beispiel: shopsync

Comment
varchar(8000)
string
NULL

Kommentar der Pickliste (getrimmt). Ersetzt immer den Profilkommentar, auch wenn er leer ist.

Beispiel: Express wave 14:00

ExecuteAsynchronous
bit
boolean
1

Steuert, ob die Pickliste sofort erstellt oder in die Warteschlange gestellt wird.

Erlaubte Werte

  • 1 – Erstellung in `ExecQueries` einreihen und eine `INFO`-Zeile liefern.
  • 0 – `Pixi_CreatePickList` sofort innerhalb des Aufrufs ausführen.

Beispiel: 1

OrderNrExternal
varchar(50)
string
NULL

Beschränkt die Pickliste auf den Auftrag mit dieser externen Auftragsnummer. Leer bedeutet keine Einschränkung. Ist auch OrderNr angegeben, müssen beide zum selben Auftrag passen; danach wird nur OrderNr verwendet.

Beispiel: SHOP-100234

Antwort

Result-Set 1 · Bei einem Validierungsfehler, wenn die Sperre nicht verfügbar ist, oder nach dem Einreihen (asynchroner Modus).

Statuszeile des Aufrufs.

Spalte Typ Beschreibung
Status varchar(5)
string

ERROR oder Error bei einem Fehler, INFO nach erfolgreichem Einreihen.

Message
Kann leer sein
varchar(max)
string

Meldungstext.

Result-Set 2 · Synchroner Modus (ExecuteAsynchronous = 0), nachdem alle Prüfungen bestanden wurden.

Ergebnismengen von Pixi_CreatePickList. Diese Prozedur ist nicht beigefügt, daher ist ihre Struktur unbekannt.

Fehlermeldungen

Status Meldung Ursache
ERROR Setting "Premium_API" is not enabled. Die Einstellung `Premium_API` ist nicht aktiv. Sie muss in Pixi aktiviert werden, bevor der Aufruf genutzt werden kann.
Error Profile ID "{ProfileId}" could be found. Please provide a profile ID that you want tu use for creating the picklist. Die angegebene `ProfileId` existiert nicht in `PL_Profile`. Einen vorhandenen Profilschlüssel übergeben.
Error No default Profile ID could be found. Please provide a profile ID that you want tu use for creating the picklist. Es wurde keine `ProfileId` übergeben und es existiert kein Standardprofil, das kein 1SS-Profil ist. Eine `ProfileId` explizit übergeben.
Error Location "{LocationId}" could be found. Please provide a different Location ID that you want tu use for creating the picklist. Gedacht für ein unbekanntes Lager. Aufgrund der Art der Prüfung wird diese Meldung praktisch nie geliefert.
Error Order "{OrderNr}" could not be found. Please provide a different OrderNr that you want tu use for creating the picklist. Nur `OrderNr` wurde übergeben und es existiert kein Auftrag mit dieser Nummer.
Error OrderNrExternal "{OrderNrExternal}" could not be found. Please provide a different OrderNrExternal that you want tu use for creating the picklist. Nur `OrderNrExternal` wurde übergeben und es existiert kein Auftrag mit dieser externen Nummer.
Error OrderNr "{OrderNr}" and OrderNrExternal "{OrderNrExternal}" could not be found. Please provide a different parameters that you want tu use for creating the picklist. Beide Auftragsnummern wurden übergeben, aber kein Auftrag passt zu beiden Werten.
Error Bin place "{BinFrom}" for paramter @BinFrom could not be found. Please provide a different BinName that you want tu use for creating the picklist. Im gewählten Lager existiert kein Lagerplatz mit dem Namen `BinFrom`. Auch ein Leerstring löst diesen Fehler aus.
Error Bin place "{BinTo}" for paramter @BinTo could not be found. Please provide a different BinName that you want tu use for creating the picklist. Im gewählten Lager existiert kein Lagerplatz mit dem Namen `BinTo`. Auch ein Leerstring löst diesen Fehler aus.
ERROR Another instance of picklist creation already running. Try again later. Eine andere Session hält die Application-Lock `ExclusivePickListCreation`. Später erneut versuchen.

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:pixiCreatePicklist>
      <!-- <ProfileId>3</ProfileId> -->
      <!-- <LocationId>001</LocationId> -->
      <!-- <OrderNr>1045873</OrderNr> -->
      <!-- <BinFrom>A-01-01</BinFrom> -->
      <!-- <BinTo>A-10-05</BinTo> -->
      <!-- <UserName>shopsync</UserName> -->
      <!-- <Comment>Express wave 14:00</Comment> -->
      <!-- <ExecuteAsynchronous>1</ExecuteAsynchronous> -->
      <!-- <OrderNrExternal>SHOP-100234</OrderNrExternal> -->
    </ns1:pixiCreatePicklist>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Settings · Lesen PL_Profile · Lesen Location · Lesen OrderHeader · Lesen InvBin · Lesen ExecQueries · Schreiben
SQL-Objekt:
dbo.pipiCreatePicklist
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben