Letzter Einkaufspreis pro Artikel

Für jeden Artikel der letzte Preis laut Eingangsrechnung, mit Lieferant und Datum.

Tabellen: OPCH, PCH1Einsatz: Preisprüfung vor neuen Bestellungen.

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
Sie brauchen Ihre UDFs in diesem Bericht oder ein Dashboard? Wir erweitern ihn für Ihr Unternehmen.Anpassen lassen →

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.

ItemCodeDscriptionPriceCurrencyCardNameDocDate
A00001Laser Printer 1420410USDGlobal Parts Co.2026-09-14
A00005Toner Cartridge Black27.5USDGlobal Parts Co.2026-10-02
A00007Paper A4 Box6.9EURMetro Packaging2026-08-21
A00009USB Cable 2m2.4USDGlobal 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.
Einkauf

Verwandte Abfragen

Tabellenreferenz: Tabelle OPCH (Eingangsrechnung (Kopf))

So funktioniert es

Drei Schritte, ohne Anmeldung

1

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.

2

Abfragegenerator öffnen

Öffnen Sie in SAP Business One Extras → Abfragen → Abfragegenerator, fügen Sie die Abfrage ein und klicken Sie auf Ausführen.

3

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.

FAQ

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.

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.