Neu Artikelverwaltung -> Detaillierte Kindartikelansicht mit Absatz nach Zeiträumen, Lagerreichweite, Zulauf und Retourenquote

Thomas Lisson

Administrator
Mitarbeiter
24. März 2006
15.496
197
Köln
Und in SSMS "Ungültiger Objektname "tartikel""
Das kann nicht sein - es scheint so, als hättest du die falsche Datenbank ausgewählt - ich vermute "Master" statt die Datenbank von der Wawi. Setz einfach mal das ab zum Test: SELECT * FROM tartikel
Im MSSQL Studio sollte eher der Fehler kommen, dass er @Key nicht kennt - da diese Variable von Außen (JTL-Wawi) zur Laufzeit hinzukommt.
 

knackig

Sehr aktives Mitglied
17. November 2011
640
50
Nordhessen
Im MSSQL Studio sollte eher der Fehler kommen, dass er @Key nicht kennt
Daran habe ich gedacht und stattdessen die interne ID eines Vaterartikels genommen. Habe jetzt erstmal in der Datenbank die tartikel-Tabelle rausgesucht und da über das Kontextmenü eine Select-Abfrage generiert. Da dann den Code aus dem 1. Beitrag eingefügt und jetzt kommt der Fehler "Fehler aufgrund einer Division durch Null." Leider zeigt er den Fehler in der Zeile 1, kann es also nicht eindeutig zuordnen.
 

knackig

Sehr aktives Mitglied
17. November 2011
640
50
Nordhessen
Inzwischen kann ich es etwas eingrenzen:

Wenn ich in dem ersten SELECT diese Spalte habe, bekomme ich den Fehler wegen einer Division durch Null:
SQL:
ISNULL(jRetourenGesamt.Retourenquote, '0%') AS 'Retourenquote',
Nehme ich diese Spalte raus, wird die Tabelle im SSMS und in der Wawi korrekt generiert.
 

eco

Aktives Mitglied
4. März 2013
93
5
Super Ansicht! Aber lässt sich eine Zeile mit kumulierten Zeilenwerten über alle VarKombis realisieren, beispielsweise als erste Zeile? Dann hätte man auf einem Blick auch Gesamtzahlen über alle Farben und Größen.
 

T4DT.GmbH

Offizieller Servicepartner
SPBanner
6. November 2018
170
37
Hannover
[...]
Wenn ich in dem ersten SELECT diese Spalte habe, bekomme ich den Fehler wegen einer Division durch Null
[...]
Das liegt an:
SQL:
LEFT JOIN (
SELECT jabsatzgesamt.tArtikel_kArtikel,
        CONCAT((ISNULL(retourengesamt.rm, 0.0)/jabsatzgesamt.absatz)*100, '%') as Retourenquote
Ist der Jahresabsatz 0, wird durch 0 geteilt, was mathematisch nicht erlaubt ist. Die Einträge müssen entsprechend durch ein CASE WHEN gefiltert werden:
SQL:
LEFT JOIN (
SELECT jabsatzgesamt.tArtikel_kArtikel,
        CONCAT(CASE WHEN jabsatzgesamt.absatz = 0 THEN 0 ELSE (ISNULL(retourengesamt.rm, 0.0)/jabsatzgesamt.absatz)*100 END, '%') as Retourenquote
(nicht hinreichend getestet bislang)
 
  • Gefällt mir
Reaktionen: knackig

T4DT.GmbH

Offizieller Servicepartner
SPBanner
6. November 2018
170
37
Hannover
Habe es getestet und es läuft. Das war der Knackpunkt. Danke :) Jetzt müsste ich schauen, dass die Retourenquote nicht als String mit %, sondern als INT angezeigt wird, da man jetzt nicht danach sortieren kann.
Nimm den Concat raus (mit dem %-zeichen):
SQL:
LEFT JOIN (
SELECT jabsatzgesamt.tArtikel_kArtikel,
        CASE WHEN jabsatzgesamt.absatz = 0 THEN 0 ELSE (ISNULL(retourengesamt.rm, 0.0)/jabsatzgesamt.absatz)*100 END as Retourenquote
Würde ohnehin Einheiten immer in den Spaltenkopf schreiben. Nie in die Datenzeile (bspw.: Retourenquote in %)
 
  • Gefällt mir
Reaktionen: knackig

Freund_des_Hauses

Aktives Mitglied
14. Oktober 2015
19
2
Mit dieser Änderung sollte es bei allen Artikeln funktionieren.

SQL:
WHERE (kVaterArtikel <>0 AND kVaterArtikel = @Key)
OR (kVaterArtikel = 0 AND nIstVater = 0 AND tartikel.kArtikel = @Key)
OR (nIstVater = 0 AND tartikel.kArtikel = @Key)
ORDER BY cArtNr
 
  • Gefällt mir
Reaktionen: knackig

Über uns

  • In unserem moderierten JTL-Forum könnt Ihr Euch themenbezogen mit der JTL-Community rund um die Produkte von JTL, passende Erweiterungen und den E-Commerce im Allgemeinen austauschen, Tipps und Tricks teilen sowie Verbesserungswünsche und Fehler diskutieren.

    Unsere Forumsnutzer helfen sich untereinander auch gerne weiter, wenn Sie mal nicht weiterkommen oder einen Ratschlag benötigen.

Schnell-Navigation

Benutzer Menü