Letzter Einkaufspreis pro Artikel
Für jeden Artikel der letzte Preis laut Eingangsrechnung, mit Lieferant und Datum.
Tool
SELECT X.ItemCode, X.Dscription, X.Price, X.Currency, X.CardName, X.DocDate
FROM (
SELECT T1.ItemCode, T1.Dscription, T1.Price, T1.Currency, T0.CardName, T0.DocDate,
ROW_NUMBER() OVER (PARTITION BY T1.ItemCode ORDER BY T0.DocDate DESC, T0.DocEntry DESC) AS RowNo
FROM OPCH T0
INNER JOIN PCH1 T1 ON T0.DocEntry = T1.DocEntry
WHERE T0.CANCELED = 'N'
) X
WHERE X.RowNo = 1
ORDER BY X.ItemCode SELECT X."ItemCode", X."Dscription", X."Price", X."Currency", X."CardName", X."DocDate"
FROM (
SELECT T1."ItemCode", T1."Dscription", T1."Price", T1."Currency", T0."CardName", T0."DocDate",
ROW_NUMBER() OVER (PARTITION BY T1."ItemCode" ORDER BY T0."DocDate" DESC, T0."DocEntry" DESC) AS "RowNo"
FROM OPCH T0
INNER JOIN PCH1 T1 ON T0."DocEntry" = T1."DocEntry"
WHERE T0."CANCELED" = 'N'
) X
WHERE X."RowNo" = 1
ORDER BY X."ItemCode" Welche Frage diese Abfrage beantwortet
Bevor eine neue Bestellung freigegeben wird, möchte die Einkaufsleitung sehen, was zuletzt für jeden Artikel bezahlt wurde, an wen und wann. So fallen Preiserhöhungen auf, die ein Lieferant nicht angekündigt hat.
Beispielausgabe
Beispielwerte zur Veranschaulichung. Die Spalten sind bei Ihnen dieselben, die Zahlen stammen aus Ihrem Mandanten.
| ItemCode | Dscription | Price | Currency | CardName | DocDate |
|---|---|---|---|---|---|
| A00001 | Laser Printer 1420 | 410 | USD | Global Parts Co. | 2026-09-14 |
| A00005 | Toner Cartridge Black | 27.5 | USD | Global Parts Co. | 2026-10-02 |
| A00007 | Paper A4 Box | 6.9 | EUR | Metro Packaging | 2026-08-21 |
| A00009 | USB Cable 2m | 2.4 | USD | Global Parts Co. | 2026-07-30 |
SQL Server und SAP HANA im Vergleich
ROW_NUMBER() OVER (PARTITION BY ... ORDER BY ...) wird in HANA genauso unterstützt, die Fensterfunktion bleibt also unverändert. Die einzige Änderung sind die Anführungszeichen, einschließlich des inneren Alias "RowNo", auf den das äußere WHERE filtert.
Häufige Fehler und Lösungen
- Preise in verschiedenen Währungen werden nebeneinander verglichen: Price ist in der Währung der Rechnungsposition, die in der Spalte Currency steht. Vergleichen Sie nur Zeilen mit derselben Währung oder verwenden Sie T1.LineTotal / T1.Quantity für einen Stückpreis in Hauswährung.
- Kürzlich gekaufte Artikel fehlen: Gelesen werden nur Eingangsrechnungen (OPCH). Wenn Ware mit einem Wareneingang zur Bestellung erfasst und erst später fakturiert wird, lesen Sie stattdessen OPDN/PDN1 oder fügen Sie diese per UNION ALL hinzu.
- Der Preis ist niedriger als in der Preisliste des Lieferanten: PCH1.Price ist der Stückpreis nach Positionsrabatt. Wählen Sie zusätzlich T1.PriceBefDi aus, um den Preis vor Rabatt zu sehen.
Verwandte Abfragen
Tabellenreferenz: Tabelle OPCH (Eingangsrechnung (Kopf))
Drei Schritte, ohne Anmeldung
Die passende Version kopieren
Nutzen Sie den Tab SQL Server für MS-SQL-Datenbanken und den Tab HANA für SAP B1 auf HANA.
Abfragegenerator öffnen
Öffnen Sie in SAP Business One Extras → Abfragen → Abfragegenerator, fügen Sie die Abfrage ein und klicken Sie auf Ausführen.
Speichern und teilen
Klicken Sie auf Sichern, wählen Sie eine Kategorie und geben Sie der Abfrage einen Namen. Ihr Team kann sie dann über den Abfrage-Manager ausführen.
Fragen zu diesem Tool
Wie führe ich die Abfrage „Letzter Einkaufspreis pro Artikel“ in SAP Business One aus?
Kopieren Sie die Version, die zu Ihrer Datenbank passt, öffnen Sie Extras → Abfragen → Abfragegenerator, fügen Sie sie in das SQL-Feld ein und klicken Sie auf Ausführen. Speichern Sie die Abfrage, um sie später wiederzuverwenden.
Welche Tabellen verwendet diese Abfrage?
Sie liest OPCH, PCH1 aus dem Standardschema von SAP Business One. Benutzerdefinierte Felder sind nicht erforderlich.
Lässt sich daraus ein Dashboard oder eine Warnung machen?
Ja. Wir machen aus Abfragen Crystal Reports, Excel-Berichte, die sich selbst aktualisieren, SAP-B1-Warnungen oder WhatsApp-Nachrichten für Führungskräfte.
Für SAP-Business-One-Teams entwickelt
Brauchen Sie das direkt in SAP Business One?
Wir entwickeln Add-ons, Berichte und Integrationen für SAP B1 auf SQL Server und HANA. Beschreiben Sie Ihren Bedarf und erhalten Sie einen Festpreis, meist innerhalb von 24 Stunden.
