Postman-Collection
Reports Lesen

pixiReportStockValueHistEKPrice

Liefert alle Artikel mit einem bestimmten Artikel-Tag mit Bestand zum Stichtag, letztem bekannten EK-Preis, Rechnungsrabatten und resultierendem Lagerwert.

Erstellt einen Lagerwertbericht auf Basis historischer EK-Preise für alle Artikel, die einen bestimmten Artikel-Tag tragen.

Ablauf:

  1. Der Artikel-Tag @ItemTag (Tag-Typ 1) wird ermittelt und geprüft, ob der Shop @ShopID existiert. Fehlt eines davon, wird der Fehler Tag or Shop does not exist ausgelöst (siehe Hinweise, die Ausführung wird nicht abgebrochen).
  2. Alle Artikel, die mit dem Tag verknüpft sind, werden ausgewählt. Pro Artikel wird ermittelt:
    • Anschaffungsdatum: das Datum des ersten Lagerplatz-Logeintrags mit positiver Menge (erste Einlagerung, unabhängig vom Datumsbereich).
    • EK-Preis netto: der Endpreis der jüngsten Lieferantenlieferposition mit gelieferter Menge > 0 und Preis > 0; gibt es keine, wird der Lieferantenpreis des Artikels verwendet.
  3. Der Bestand wird als Summe aller Lagerplatzbewegungen des Artikels mit Änderungsdatum vor @DateTo berechnet (über alle Lager und Lagerplätze).
  4. Die Rabatte aus Rechnungspositionen von Rechnungen des Shops @ShopID mit Rechnungsdatum von @DateFrom (inklusive) bis @DateTo (exklusive) werden summiert. Der Rabatt je Position ist Menge × Rabattwert, umgerechnet in einen Nettobetrag durch Division durch den hohen bzw. niedrigen MwSt-Satz der Rechnung je nach MwSt-Kennzeichen der Position (H/L).
    • Ist die Einstellung MultiCurrencyEnabled gleich 1, wird der Rabatt zusätzlich über den Wechselkurs der Kursquelle der Datenbankwährung (für Kursdatum und Währung der Rechnung) in die Datenbankwährung umgerechnet.
  5. Pro getaggtem Artikel wird eine Zeile mit Preis, Menge, EK-Gesamtwert, Rabatten und resultierendem Gesamtwert (EK Gesamt netto minus Bewertungsabschläge) geliefert.

Das Ergebnis hat keine explizite Sortierung.

Hinweise

  • Fehler bricht die Ausführung nicht ab: Auf RAISERROR mit Schweregrad 16 folgt kein RETURN. Der Aufrufer erhält die Fehlermeldung, die Prozedur läuft jedoch weiter. Bei unbekanntem Tag ist die Ergebnismenge leer; bei unbekanntem Shop, aber gültigem Tag werden die Artikel trotzdem geliefert, nur ohne Rabatte.
  • @ShopID ist faktisch Pflicht: NULL passt nie zu einem existierenden Shop und löst den Fehler aus.
  • @DateTo und @DateFrom sind faktisch Pflicht: Bei @DateTo = NULL wird kein Bestand berechnet und der Preis fällt immer auf den Lieferantenpreis des Artikels zurück; bei @DateFrom = NULL werden keine Rabatte gefunden.
  • Fallstrick EK-Preis: Die Datumsbedingung für den letzten Lieferpreis vergleicht das Anlagedatum des Artikels mit @DateTo, nicht das Lieferdatum. Der Preis ist daher der jüngste Lieferpreis insgesamt (auch Lieferungen nach @DateTo), sofern der Artikel vor @DateTo angelegt wurde.
  • Der Bestand ist nicht auf Shop oder Lager eingeschränkt; alle Lagerplatzbewegungen werden summiert.
  • dbCurrency enthält den Code der Datenbankwährung nur bei MultiCurrencyEnabled = 1; sonst ist es NULL und die Beträge sind in der Originalwährung der Rechnung.
  • Alle Lesezugriffe nutzen NOLOCK; Ergebnisse können nicht festgeschriebene Daten enthalten.
  • Spaltennamen enthalten Leerzeichen; im SOAP/DataSet-XML erscheinen sie kodiert, z. B. EK-Preis_x0020_netto.

Parameter

Parameter Typ Standardwert Beschreibung
ShopID
varchar(3)
string
NULL

Shop, dessen Rechnungen für die Rabattberechnung verwendet werden. Muss existieren, sonst wird ein Fehler ausgelöst.

Beispiel: SHP

ItemTag
varchar(50)
string
NULL

Name des Artikel-Tags (Tag-Typ 1). Nur mit diesem Tag verknüpfte Artikel werden berücksichtigt. Muss existieren, sonst wird ein Fehler ausgelöst.

Beispiel: Inventur2023

DateFrom
datetime
dateTime
NULL

Beginn des Rechnungsdatumsbereichs für Rabatte (inklusive).

Beispiel: 2023-01-01T00:00:00

DateTo
datetime
dateTime
NULL

Stichtag (exklusive): Ende des Rechnungsdatumsbereichs und Datum, bis zu dem Lagerbewegungen summiert werden.

Beispiel: 2024-01-01T00:00:00

Antwort

Result-Set 1 · Immer (leer, wenn der Tag nicht existiert oder keine Artikel hat)

Eine Zeile pro mit dem Tag verknüpftem Artikel mit Lagerbewertung nach historischem EK-Preis.

Spalte Typ Beschreibung
Artikel
Kann leer sein
varchar(255)
string

Artikelname.

Artikelnummer
Kann leer sein
varchar(50)
string

Interne Artikelnummer.

Anschaffungsdatum varchar(20)
string

Datum der ersten Einlagerung im Format TT.MM.JJJJ; Leerstring, wenn unbekannt.

EK-Preis netto money
decimal

Letzter bekannter Netto-EK-Preis (jüngster Lieferpreis oder Lieferantenpreis des Artikels); 0, wenn keiner vorhanden.

Anzahl int

Bestand vor @DateTo (Summe der Lagerplatzbewegungen); 0, wenn keine.

EK Gesamt netto money
decimal

EK-Preis × Bestand; 0, wenn nicht berechenbar.

Bewertungsabschläge money
decimal

Summe der Netto-Rabatte aus Rechnungspositionen im Zeitraum für den Shop; bei aktivierter Mehrwährung in Datenbankwährung.

Gesamt money
decimal

EK Gesamt netto minus Bewertungsabschläge.

dbCurrency
Kann leer sein
varchar(3)
string

Code der Datenbankwährung bei MultiCurrencyEnabled = 1, sonst NULL.

Fehlermeldungen

Status Meldung Ursache
RAISERROR Tag or Shop does not exist Der Artikel-Tag `@ItemTag` (Typ 1) wurde nicht gefunden oder `@ShopID` existiert nicht (auch bei NULL). Die Ausführung läuft danach weiter. Einen existierenden Artikel-Tag-Namen und eine gültige Shop-ID übergeben.

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:pixiReportStockValueHistEKPrice>
      <!-- <ShopID>SHP</ShopID> -->
      <!-- <ItemTag>Inventur2023</ItemTag> -->
      <!-- <DateFrom>2023-01-01T00:00:00</DateFrom> -->
      <!-- <DateTo>2024-01-01T00:00:00</DateTo> -->
    </ns1:pixiReportStockValueHistEKPrice>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Settings · Lesen Currency · Lesen Tag · Lesen Shops · Lesen items · Lesen TagMatch · Lesen InvBinItemLog · Lesen SDelDetail · Lesen Invoices · Lesen Invlines · Lesen ExchRate · Lesen
SQL-Objekt:
dbo.pipiReportStockValueHistEKPrice
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben