Bestand pro Lager
Lagerbestand, bestätigte, bestellte und verfügbare Menge pro Artikel und Lager.
Tool
SELECT T0.ItemCode, T1.ItemName, T0.WhsCode, T0.OnHand, T0.IsCommited, T0.OnOrder, T0.OnHand - T0.IsCommited + T0.OnOrder AS Available FROM OITW T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode WHERE T0.OnHand <> 0 OR T0.IsCommited <> 0 OR T0.OnOrder <> 0 ORDER BY T0.ItemCode, T0.WhsCode
SELECT T0."ItemCode", T1."ItemName", T0."WhsCode", T0."OnHand", T0."IsCommited", T0."OnOrder", T0."OnHand" - T0."IsCommited" + T0."OnOrder" AS "Available" FROM OITW T0 INNER JOIN OITM T1 ON T0."ItemCode" = T1."ItemCode" WHERE T0."OnHand" <> 0 OR T0."IsCommited" <> 0 OR T0."OnOrder" <> 0 ORDER BY T0."ItemCode", T0."WhsCode"
Welche Frage diese Abfrage beantwortet
Ein Vertriebsmitarbeiter hat einen Kunden am Telefon und muss wissen, ob ein Artikel zugesagt werden kann und aus welchem Lager. Die Abfrage zeigt, was physisch vorhanden ist, was bereits anderen Aufträgen zugesagt ist und was unterwegs ist.
Beispielausgabe
Beispielwerte zur Veranschaulichung. Die Spalten sind bei Ihnen dieselben, die Zahlen stammen aus Ihrem Mandanten.
| ItemCode | ItemName | WhsCode | OnHand | IsCommited | OnOrder | Available |
|---|---|---|---|---|---|---|
| A00001 | Laser Printer 1420 | 01 | 120 | 30 | 50 | 140 |
| A00001 | Laser Printer 1420 | 02 | 40 | 0 | 0 | 40 |
| A00002 | Inkjet Printer 600 | 01 | 15 | 20 | 10 | 5 |
| A00003 | Toner Cartridge Color | 01 | 0 | 8 | 25 | 17 |
SQL Server und SAP HANA im Vergleich
Das SQL bleibt bis auf die Anführungszeichen unverändert; die von SAP falsch geschriebene Spalte muss als "IsCommited" (mit einem t) in doppelten Anführungszeichen stehen. Die OR-Bedingungen und die Berechnung von Available funktionieren in HANA genauso.
Varianten
Nur disponible Lager
SQL Server
SELECT T0.ItemCode, T0.WhsCode, T0.OnHand, T0.IsCommited, T0.OnOrder, T0.OnHand - T0.IsCommited + T0.OnOrder AS Available FROM OITW T0 INNER JOIN OWHS T2 ON T0.WhsCode = T2.WhsCode WHERE T2.Nettable = 'Y' AND (T0.OnHand <> 0 OR T0.IsCommited <> 0 OR T0.OnOrder <> 0) ORDER BY T0.ItemCode, T0.WhsCode
SAP HANA
SELECT T0."ItemCode", T0."WhsCode", T0."OnHand", T0."IsCommited", T0."OnOrder", T0."OnHand" - T0."IsCommited" + T0."OnOrder" AS "Available" FROM OITW T0 INNER JOIN OWHS T2 ON T0."WhsCode" = T2."WhsCode" WHERE T2."Nettable" = 'Y' AND (T0."OnHand" <> 0 OR T0."IsCommited" <> 0 OR T0."OnOrder" <> 0) ORDER BY T0."ItemCode", T0."WhsCode"
Summe pro Artikel über alle Lager
SQL Server
SELECT T0.ItemCode, T1.ItemName, SUM(T0.OnHand) AS OnHand, SUM(T0.IsCommited) AS IsCommited, SUM(T0.OnOrder) AS OnOrder, SUM(T0.OnHand - T0.IsCommited + T0.OnOrder) AS Available FROM OITW T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode GROUP BY T0.ItemCode, T1.ItemName ORDER BY T0.ItemCode
SAP HANA
SELECT T0."ItemCode", T1."ItemName", SUM(T0."OnHand") AS "OnHand", SUM(T0."IsCommited") AS "IsCommited", SUM(T0."OnOrder") AS "OnOrder", SUM(T0."OnHand" - T0."IsCommited" + T0."OnOrder") AS "Available" FROM OITW T0 INNER JOIN OITM T1 ON T0."ItemCode" = T1."ItemCode" GROUP BY T0."ItemCode", T1."ItemName" ORDER BY T0."ItemCode"
Zeilen ohne Bestand ausblenden
SQL Server
SELECT T0.ItemCode, T1.ItemName, T0.WhsCode, T0.OnHand FROM OITW T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode WHERE T0.OnHand > 0 ORDER BY T0.ItemCode, T0.WhsCode
SAP HANA
SELECT T0."ItemCode", T1."ItemName", T0."WhsCode", T0."OnHand" FROM OITW T0 INNER JOIN OITM T1 ON T0."ItemCode" = T1."ItemCode" WHERE T0."OnHand" > 0 ORDER BY T0."ItemCode", T0."WhsCode"
Bestand auf Lagerplatzebene (Lagerplätze aktiviert)
SQL Server
SELECT T0.ItemCode, T1.WhsCode, T1.BinCode, T0.OnHandQty FROM OIBQ T0 INNER JOIN OBIN T1 ON T0.BinAbs = T1.AbsEntry WHERE T0.OnHandQty <> 0 ORDER BY T0.ItemCode, T1.BinCode
SAP HANA
SELECT T0."ItemCode", T1."WhsCode", T1."BinCode", T0."OnHandQty" FROM OIBQ T0 INNER JOIN OBIN T1 ON T0."BinAbs" = T1."AbsEntry" WHERE T0."OnHandQty" <> 0 ORDER BY T0."ItemCode", T1."BinCode"
Häufige Fehler und Lösungen
- Der Bestand wirkt höher als das, was das Lager verkaufen kann: Nicht disponible Lager (zum Beispiel für beschädigte Ware oder Konsignation) sind enthalten. Verknüpfen Sie OWHS und filtern Sie auf Nettable = 'Y'.
- Die Summen stimmen nicht mit OITM.OnHand pro Lager überein: OITM.OnHand ist die Summe über alle Lager. Die Menge pro Lager steht nur in OITW.
- Invalid column name 'IsCommitted': SAP B1 schreibt die Spalte für die bestätigte Menge IsCommited, mit einem einzigen t. Verwenden Sie T0.IsCommited.
- Available wirkt für eilige Aufträge zu hoch: Available addiert OnOrder, und darin sind Bestellungen enthalten, die womöglich erst in Wochen eintreffen. Verwenden Sie OnHand - IsCommited für das, was heute versendet werden kann.
- Serviceartikel fehlen in der Liste: Nur Lagerartikel haben Zeilen in OITW. Nicht lagergeführte Artikel und Serviceartikel erscheinen nie, das ist so gewollt.
Verwandte Abfragen
Tabellenreferenz: Tabelle OITW (Artikelbestand pro Lager) · Tabelle OITM (Artikel (Artikelstamm))
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 „Bestand pro Lager“ 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 OITW, OITM 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.
