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=0und Leerstrings in allen übrigen Parametern werden alsNULLbehandelt, also als "nicht angegeben".- Ein negativer
TargetStockwird durch0ersetzt.
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
Locationangegeben, wird nur der Datensatz mit dieserLocIDaktualisiert. - Ist
Locationnicht 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 nachintscheitert, 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
TargetStockwird auf0begrenzt. Negative Werte fürMinStockQty,MinOrderQtyundSafetyStockwerden unverändert gespeichert. - Sperren: Lesezugriffe verwenden
NOLOCK, Updates verwendenROWLOCK.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
ItemKey
|
int | NULL |
Interner Schlüssel des Artikels. Beispiel: |
ItemNrInt
|
varchar(50) string |
NULL |
Interne Artikelnummer als alternativer Identifikator. Ein Leerstring gilt als nicht angegeben. Beispiel: |
EANUPC
|
varchar(13) string |
NULL |
EAN/UPC des Artikels als alternativer Identifikator. Ein Leerstring gilt als nicht angegeben. Beispiel: |
Location
|
varchar(3) string |
NULL |
Lager-ID ( Beispiel: |
MinStockQty
|
varchar(10) string |
NULL |
Neuer Mindestbestand als ganzzahliger String. Leer bedeutet: der Wert wird nicht geändert. Beispiel: |
MinOrderQty
|
varchar(10) string |
NULL |
Neue Mindestbestellmenge als ganzzahliger String. Leer bedeutet: der Wert wird nicht geändert. Beispiel: |
TargetStock
|
varchar(10) string |
NULL |
Neuer Zielbestand, nur auf Lagerebene, als ganzzahliger String. Negative Werte werden auf Beispiel: |
SafetyStock
|
varchar(10) string |
NULL |
Neuer Sicherheitsbestand, nur auf Lagerebene, als ganzzahliger String. Leer bedeutet: der Wert wird nicht geändert. Beispiel: |
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>
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: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>
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 = [
// 'ItemKey' => '4711',
// 'ItemNrInt' => 'ART-10025',
// 'EANUPC' => '4006381333931',
// 'Location' => '001',
// 'MinStockQty' => '10',
// 'MinOrderQty' => '25',
// 'TargetStock' => '100',
// 'SafetyStock' => '5',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiSetItemBuyingInfo', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiSetItemBuyingInfo