pixiReport_StockValue_Hist
Liefert den historischen Lagerwert je Artikel zu einem Stichtag, bewertet mit historischen Lieferantenpreisen und Netto-Verkaufspreisen.
Wrapper um die interne Report-Prozedur Report_StockValue_Hist. Sie läuft immer mit ShowDetails = 0. Der Lieferantenfilter verwendet immer den Hauptlieferanten des Artikels (AllItemsForSupplier = 0).
Ablauf:
- Stichtag:
ParamDatewird auf das Tagesende gesetzt. Ohne Angabe wird das Ende des aktuellen Tages verwendet. - Artikelfilter: Leere Zeichenketten für
LocID,CategoryundSupplNrgelten als "kein Filter".SupplNrfiltert auf den Hauptlieferanten des Artikels (Items.SupplNr).Categoryfiltert aufItems.ConfigType.
- Bestand zum Stichtag: Je Artikel werden alle Mengenbewegungen aus
InvBinItemLogbis zum Stichtag summiert.- Mit
LocIDzählen nur Lagerplätze dieses Lagers (InvBin.BinLocID). - Bewegungen auf Lagerplätzen, die erst nach dem Stichtag gelöscht wurden, werden ebenfalls berücksichtigt. Diese Lagerplätze stehen in
InvBinHistmit VermerkDeleted. - Artikel mit resultierendem Bestand 0 entfallen.
- Mit
- Historische Lieferantenpreise: Die Bestände werden an interne Hilfsprozeduren übergeben. Diese ermitteln historische Einkaufspreise aus Lieferantenlieferungen. Ein Artikel kann daher in mehreren Zeilen erscheinen, je eine pro Lieferantenlieferung, aus der sich der Bestand zusammensetzt.
- Verkaufspreis:
VK_Nettoist der BruttopreisItems.Pricegeteilt durch (1 + MwSt-Satz), gerundet auf 2 Nachkommastellen.- Der MwSt-Satz ergibt sich aus dem
MwStSatzdes Artikels:1= voller Satz,2= ermäßigter Satz, jeder andere Wert = 0. Es gelten die Sätze des Standardlandes.
Sortierung nach Artikelname, dann SupplDelDate, dann MwSt-Satz.
Hinweise
- Alle permanenten Tabellen werden
WITH (NOLOCK)gelesen; das Ergebnis kann nicht festgeschriebene Daten enthalten. - Die historischen Lieferantenpreise stammen aus
Report_SaveSupplierPricesundpixi_HistorySupplierPriceForItems. Deren Definitionen liegen nicht vor. Ob sie in permanente Tabellen schreiben und wieSupplPriceHist,SupplPriceTypeundSupplPriceMessagegenau ermittelt werden, ist hier nicht ersichtlich. - Die MwSt-Sätze werden zum aktuellen Datum ermittelt, nicht zum
ParamDate. Historische Satzänderungen fließen daher nicht inVK_Nettoein. Bestandist der Gesamtbestand des Artikels zum Stichtag und wiederholt sich in jeder Lieferungszeile dieses Artikels. Für zeilenweise SummenSupplDelQtyverwenden.Sum_VK_NettoundSum_SupplPriceHistbasieren bereits aufSupplDelQty.par_Categoryundpar_SupplNRenthalten-alle-, wenn kein Filter gesetzt ist. Andernfalls enthalten sie den Kategorietext bzw. den Namen des Lieferanten des Artikels, nicht die Nummer.- Der Report wertet das gesamte Lagerplatz-Bewegungsprotokoll aus und kann bei großen Datenbanken langsam sein.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
ParamDate
|
datetime dateTime |
NULL |
Stichtag für den Lagerwert. Verwendet wird das Ende dieses Tages. Ohne Angabe gilt das Ende des aktuellen Tages. Beispiel: |
LocID
|
varchar(10) string |
NULL |
Lager-ID. Nur Bestand auf Lagerplätzen dieses Lagers wird gezählt. Leer oder nicht angegeben bedeutet alle Lager. Beispiel: |
Category
|
varchar(10) string |
NULL |
Artikelkategorie, verglichen mit Beispiel: |
SupplNr
|
varchar(10) string |
NULL |
Lieferantennummer. Nur Artikel, deren Hauptlieferant ( Beispiel: |
Antwort
Result-Set 1 · Immer; eine Zeile je Artikel mit Bestand ≠ 0 zum Stichtag, ggf. mehrere Zeilen je Artikel (je Lieferantenlieferung).
Historischer Lagerwert je Artikel, bewertet mit historischen Lieferantenpreisen und Netto-Verkaufspreisen.
| Spalte | Typ | Beschreibung |
|---|---|---|
ItemKey
|
int |
Interner Artikelschlüssel. |
LieferantenArtikelnummer
Kann leer sein |
string |
Artikelnummer des Lieferanten ( |
Artikelnummer
Kann leer sein |
string |
Interne Artikelnummer ( |
Barcode
Kann leer sein |
string |
EAN/UPC-Barcode. |
Artikelname
Kann leer sein |
string |
Artikelname. |
Kategorie
Kann leer sein |
string |
Kategorietext aus |
SupplNr
Kann leer sein |
string |
Nummer des Hauptlieferanten des Artikels. |
SupplName
Kann leer sein |
string |
Name des Hauptlieferanten. |
Bestand
Kann leer sein |
int |
Gesamtbestand des Artikels zum Stichtag. |
VK_Brutto
Kann leer sein |
decimal |
Aktueller Brutto-Verkaufspreis ( |
VK_Netto
Kann leer sein |
decimal |
Netto-Verkaufspreis, Bruttopreis geteilt durch (1 + MwSt-Satz), auf 2 Stellen gerundet. |
MwStSatz
Kann leer sein |
numeric decimal |
MwSt-Satz in Prozent. |
Sum_VK_Netto
Kann leer sein |
decimal |
|
SupplPrice
Kann leer sein |
decimal |
Aktueller Lieferantenpreis des Artikels. |
SupplPriceHist
Kann leer sein |
money decimal |
Für diese Zeile ermittelter historischer Lieferantenpreis. |
Sum_SupplPriceHist
Kann leer sein |
money decimal |
|
SupplPriceType
Kann leer sein |
int |
Art/Quelle des historischen Lieferantenpreises, gesetzt von der internen Preisprozedur. |
SupplPriceMessage
Kann leer sein |
varchar(200) string |
Hinweis, wie der historische Preis ermittelt wurde. |
SupplDelQty
Kann leer sein |
int |
Durch diese Lieferantenlieferung abgedeckte Menge; ohne gefundene Lieferung gilt |
SupplDelNr
Kann leer sein |
int |
Nummer der Lieferantenlieferung. |
SupplDelDate
Kann leer sein |
datetime dateTime |
Datum der Lieferantenlieferung. |
par_paramdate
|
datetime dateTime |
Verwendeter Stichtag (Tagesende). |
par_LocID
|
varchar(10) string |
Verwendeter Lagerfilter oder |
par_Category
Kann leer sein |
string |
|
par_SupplNR
Kann leer sein |
string |
|
DatabaseCurrencyCode
Kann leer sein |
varchar(3) string |
Währungscode der Datenbank. |
Beispielantwort
<SqlRowSet1>
<row>
<ItemKey>1234</ItemKey>
<LieferantenArtikelnummer>SP-100</LieferantenArtikelnummer>
<Artikelnummer>A-1000</Artikelnummer>
<Barcode>4012345678901</Barcode>
<Artikelname>Beispielartikel</Artikelname>
<Kategorie>Standard</Kategorie>
<SupplNr>L0042</SupplNr>
<SupplName>Muster GmbH</SupplName>
<Bestand>15</Bestand>
<VK_Brutto>23.8000</VK_Brutto>
<VK_Netto>20.00</VK_Netto>
<MwStSatz>19.000000000</MwStSatz>
<Sum_VK_Netto>200.00</Sum_VK_Netto>
<SupplPrice>9.5000</SupplPrice>
<SupplPriceHist>9.2000</SupplPriceHist>
<Sum_SupplPriceHist>92.0000</Sum_SupplPriceHist>
<SupplPriceType>1</SupplPriceType>
<SupplPriceMessage>Supplier delivery</SupplPriceMessage>
<SupplDelQty>10</SupplDelQty>
<SupplDelNr>5678</SupplDelNr>
<SupplDelDate>2024-11-05T10:12:00</SupplDelDate>
<par_paramdate>2024-12-31T23:59:59.997</par_paramdate>
<par_LocID>001</par_LocID>
<par_Category>-alle-</par_Category>
<par_SupplNR>Muster GmbH</par_SupplNR>
<DatabaseCurrencyCode>EUR</DatabaseCurrencyCode>
</row>
</SqlRowSet1>
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:pixiReport_StockValue_Hist>
<!-- <ParamDate>2024-12-31T00:00:00</ParamDate> -->
<!-- <LocID>001</LocID> -->
<!-- <Category>1</Category> -->
<!-- <SupplNr>L0042</SupplNr> -->
</ns1:pixiReport_StockValue_Hist>
</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:pixiReport_StockValue_Hist>
<!-- <ParamDate>2024-12-31T00:00:00</ParamDate> -->
<!-- <LocID>001</LocID> -->
<!-- <Category>1</Category> -->
<!-- <SupplNr>L0042</SupplNr> -->
</ns1:pixiReport_StockValue_Hist>
</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 = [
// 'ParamDate' => '2024-12-31T00:00:00',
// 'LocID' => '001',
// 'Category' => '1',
// 'SupplNr' => 'L0042',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiReport_StockValue_Hist', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiReport_StockValue_Hist