Postman-Collection
Items Schreiben

pixiSetItemBuyingInfo

Setzt Mindestbestand, Mindestbestellmenge, Zielbestand und Sicherheitsbestand eines Artikels global oder für ein bestimmtes Lager.

Aktualisiert die einkaufsrelevanten Mengen eines Artikels.

Normalisierung der Eingaben

  • ItemKey = 0 und Leerstrings in allen übrigen Parametern werden als NULL behandelt, also als "nicht angegeben".
  • Ein negativer TargetStock wird durch 0 ersetzt.

Ermittlung des Artikels

Der Artikel wird in items über ItemKey, ItemNrInt oder EANUPC gesucht. Die Bedingungen sind mit ODER verknüpft; jeder Datensatz, der zu einem der Identifikatoren passt, wird verwendet. Wird kein Artikel gefunden, bleibt der übergebene ItemKey unverändert.

Artikelebene (items)

Dieser Schritt wird nur ausgeführt, wenn kein Location angegeben ist und mindestens MinStockQty oder MinOrderQty gesetzt ist. Er aktualisiert MinStockQty und MinOrderQty des Artikels. Ein nicht angegebener Wert behält seinen bisherigen Inhalt.

Lagerebene (ItemLocationSpecific)

Dieser Schritt wird ausgeführt, wenn mindestens eine der vier Mengen gesetzt ist. Er aktualisiert MinStockQty, MinOrderQty, TargetStock und SafetyStock der lagerspezifischen Datensätze des Artikels:

  • Ist Location angegeben, wird nur der Datensatz mit dieser LocID aktualisiert.
  • Ist Location nicht angegeben, werden alle Lagerdatensätze des Artikels aktualisiert.

Nicht angegebene Werte bleiben unverändert.

TargetStock und SafetyStock existieren nur auf Lagerebene.

Die Prozedur liefert keine Ergebnismenge.

Hinweise

  • Transaktionen: Die Prozedur läuft in einer eigenen Transaktion oder in einem Savepoint, falls bereits eine Transaktion offen ist.
  • Fehler werden nicht zurückgemeldet: Alle Fehler werden abgefangen und an log.InsertError übergeben. Beispiele sind eine nicht numerische Menge, deren Umwandlung nach int scheitert, oder ein Wert mit mehr als 10 Zeichen. Dieses Objekt liegt nicht vor; ob dabei etwas an den Aufrufer zurückgegeben wird, ist unbekannt. Ein erfolgreicher und ein fehlgeschlagener Aufruf können daher gleich aussehen.
  • Mehrdeutige Identifikatoren: Passen mehrere Artikel zur ODER-Bedingung, etwa wenn die Identifikatoren zu verschiedenen Artikeln gehören, wird einer davon willkürlich gewählt. Es sollte nur ein Identifikator oder konsistente Identifikatoren übergeben werden.
  • Artikel nicht gefunden: Wird kein Artikel gefunden, wird nichts aktualisiert und keine Meldung geliefert.
  • Keine Bereichsprüfung: Nur TargetStock wird auf 0 begrenzt. Negative Werte für MinStockQty, MinOrderQty und SafetyStock werden unverändert gespeichert.
  • Sperren: Lesezugriffe verwenden NOLOCK, Updates verwenden ROWLOCK.

Parameter

Parameter Typ Standardwert Beschreibung
ItemKey
int NULL

Interner Schlüssel des Artikels. 0 gilt als nicht angegeben.

Beispiel: 4711

ItemNrInt
varchar(50)
string
NULL

Interne Artikelnummer als alternativer Identifikator. Ein Leerstring gilt als nicht angegeben.

Beispiel: ART-10025

EANUPC
varchar(13)
string
NULL

EAN/UPC des Artikels als alternativer Identifikator. Ein Leerstring gilt als nicht angegeben.

Beispiel: 4006381333931

Location
varchar(3)
string
NULL

Lager-ID (LocID). Ist sie gesetzt, wird nur der lagerspezifische Datensatz dieses Lagers aktualisiert; die Werte auf Artikelebene bleiben unverändert. Ist sie leer, werden die Artikelebene und alle Lagerdatensätze aktualisiert.

Beispiel: 001

MinStockQty
varchar(10)
string
NULL

Neuer Mindestbestand als ganzzahliger String. Leer bedeutet: der Wert wird nicht geändert.

Beispiel: 10

MinOrderQty
varchar(10)
string
NULL

Neue Mindestbestellmenge als ganzzahliger String. Leer bedeutet: der Wert wird nicht geändert.

Beispiel: 25

TargetStock
varchar(10)
string
NULL

Neuer Zielbestand, nur auf Lagerebene, als ganzzahliger String. Negative Werte werden auf 0 gesetzt. Leer bedeutet: der Wert wird nicht geändert.

Beispiel: 100

SafetyStock
varchar(10)
string
NULL

Neuer Sicherheitsbestand, nur auf Lagerebene, als ganzzahliger String. Leer bedeutet: der Wert wird nicht geändert.

Beispiel: 5

Antwort

Dieser Call liefert kein Result-Set.

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:pixiSetItemBuyingInfo>
      <!-- <ItemKey>4711</ItemKey> -->
      <!-- <ItemNrInt>ART-10025</ItemNrInt> -->
      <!-- <EANUPC>4006381333931</EANUPC> -->
      <!-- <Location>001</Location> -->
      <!-- <MinStockQty>10</MinStockQty> -->
      <!-- <MinOrderQty>25</MinOrderQty> -->
      <!-- <TargetStock>100</TargetStock> -->
      <!-- <SafetyStock>5</SafetyStock> -->
    </ns1:pixiSetItemBuyingInfo>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

items · Schreiben ItemLocationSpecific · Schreiben
SQL-Objekt:
dbo.pipiSetItemBuyingInfo
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben