Postman-Collection
Direct-Fulfillment Schreiben

pixiSetFulfillmentOptions

Setzt den Direct-Fulfillment-Typ (DF_type) einer Auftragsposition oder aller Positionen eines Auftrags und setzt bearbeitbare Positionen auf Status ANG zurück.

Weist Auftragspositionen einen Direct-Fulfillment-Typ zu und liefert das Ergebnis je Position zurück.

  1. Ist DF_Type gleich 0, wird der Wert als NULL behandelt, d. h. der Fulfillment-Typ wird entfernt.
  2. Die zu verarbeitenden Auftragspositionen werden gesammelt:
    • OrderlineKey > 0: diese einzelne Position wird aufgenommen (ohne Prüfung von Status oder Existenz).
    • OrderNr > 0: alle Positionen dieses Auftrags, deren Status nicht HAL (angehalten) ist, werden aufgenommen.
    • Beide Parameter können kombiniert werden; ist keiner > 0, wird nichts verarbeitet und eine leere Ergebnismenge geliefert.
  3. Jede gesammelte Position wird auf Bearbeitbarkeit geprüft. Eine Position ist nicht bearbeitbar (IsEditable = 0), wenn
    • die Auftragshistorie (OrderHistory) einen Eintrag mit einem Status außerhalb von HAL, ANG, BES, FUT, NEW enthält oder einen FUT-Eintrag mit ClientNotified = Y, oder
    • sie auf einer Pickliste (PLitem/PLHeader) steht, deren Ablaufdatum PLHexpiryDate in der Zukunft liegt. Andernfalls ist sie bearbeitbar (IsEditable = 1).
  4. Für alle bearbeitbaren Positionen wird DF_type auf den übergebenen Wert und Status auf ANG gesetzt.
  5. Je gesammelter Position wird eine Zeile mit aktueller Auftragsnummer, Positionsschlüssel, Status, DF-Typ und Bearbeitbarkeitskennzeichen geliefert.

Hinweise

  • Die Aktualisierung läuft in einer eigenen Transaktion bzw. als Savepoint, wenn der Aufrufer bereits eine Transaktion geöffnet hat.
  • Der Status jeder bearbeitbaren Position wird unabhängig vom bisherigen Status auf ANG gesetzt. Eine direkt über OrderlineKey übergebene Position wird nicht auf HAL gefiltert, sodass eine angehaltene Position auf diesem Weg auf ANG gesetzt werden kann.
  • Wird dieselbe Position über OrderlineKey übergeben und gehört sie zu OrderNr, erscheint sie zweimal im Ergebnis.
  • Existiert OrderlineKey nicht, wird eine Zeile mit NULL in allen Positionsspalten und IsEditable = 1 geliefert.
  • Lesezugriffe auf Orderlines, OrderHistory, PLitem und PLHeader erfolgen mit NOLOCK; auch die Ergebnismenge wird mit NOLOCK gelesen.
  • Im Fehlerfall wird die Transaktion zurückgerollt, der Fehler über log.InsertError protokolliert (Definition nicht beigefügt) und statt der Ergebniszeilen eine Fehlerzeile geliefert.

Parameter

Parameter Typ Standardwert Beschreibung
OrderlineKey
int NULL

Schlüssel einer einzelnen zu aktualisierenden Auftragsposition. Wird bei NULL oder <= 0 ignoriert.

Beispiel: 123456

OrderNr
int NULL

Auftragsnummer; alle nicht angehaltenen (HAL) Positionen dieses Auftrags werden verarbeitet. Wird bei NULL oder <= 0 ignoriert.

Beispiel: 98765

DF_Type
int NULL

Direct-Fulfillment-Typ, der an den Positionen gesetzt wird. 0 oder NULL entfernt den Typ (setzt DF_type auf NULL).

Beispiel: 1

Antwort

Result-Set 1 · Bei Erfolg; eine Zeile je gesammelter Position (leer, wenn kein Parameter > 0 ist)

Zustand der verarbeiteten Auftragspositionen nach der Aktualisierung.

Spalte Typ Beschreibung
OrderNr
Kann leer sein
int

Auftragsnummer der Position; NULL, wenn die Position nicht existiert.

OrderlineKey
Kann leer sein
int

Schlüssel der Position; NULL, wenn die Position nicht existiert.

Status
Kann leer sein
string

Aktueller Status der Position (ANG, wenn sie aktualisiert wurde).

DF_type
Kann leer sein
int

Aktueller Direct-Fulfillment-Typ der Position.

IsEditable
Kann leer sein
bit
boolean

1, wenn die Position bearbeitbar war und aktualisiert wurde, 0, wenn sie durch Auftragshistorie oder eine aktive Pickliste gesperrt war.

Result-Set 2 · Wenn bei der Aktualisierung ein Fehler auftritt

Fehlerzeile nach dem Rollback.

Spalte Typ Beschreibung
ErrorNr int

Fehlernummer, immer 500.

ErrorMessage varchar(71)
string

Fehlertext.

Fehlermeldungen

Status Meldung Ursache
500 Orderline Update failed on DB level. Please ask pixi* Support for help. Beliebiger Datenbankfehler während der Aktualisierung oder der Ergebnisabfrage; die Transaktion wird zurückgerollt und der Fehler protokolliert. pixi*-Support kontaktieren.
RAISERROR Orderline Update failed on DB level. Please ask pixi* Support for help. Informationsmeldung (Schweregrad 0), wenn nach der Aktualisierung keine Transaktion offen ist; die Verarbeitung läuft weiter. Unter normalen Bedingungen nicht zu erwarten.

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:pixiSetFulfillmentOptions>
      <!-- <OrderlineKey>123456</OrderlineKey> -->
      <!-- <OrderNr>98765</OrderNr> -->
      <!-- <DF_Type>1</DF_Type> -->
    </ns1:pixiSetFulfillmentOptions>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Orderlines · Schreiben OrderHistory · Lesen PLitem · Lesen PLHeader · Lesen
SQL-Objekt:
dbo.pipiSetFulfillmentOptions
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben