Neu Seriennummer und Chargennummer in der Artikelübersicht

Philipp Laumen

Moderator
Mitarbeiter
16. Juli 2018
66
17
Hallo,

da die Nachfrage in einem anderen Thread kam, hier mal zwei Eigene Ansichten für Chargen und Seriennummer Artikel.

Seriennummer:

Code:
SELECT cSeriennr AS Seriennummer,
COUNT(1) AS Menge
FROM dbo.tLagerArtikel
WHERE kArtikel = @Key
AND kBestellPos = 0
GROUP BY cSeriennr
Charge:

Code:
SELECT cChargenNr  AS 'Chargen Nummer',SUM (fAnzahlAktuell) AS  'Menge aktuell'
FROM dbo.tWarenLagerEingang
WHERE kArtikel = @Key
AND cChargenNr IS NOT NULL
GROUP BY cChargenNr
Es wird jeweils nur der aktuelle Bestand angezeigt. Bitte beachtet, das die Seriennummer Artikel keine direkte Verknüpfung zum Wareneingang haben.
 

sjk

Mitglied
16. Januar 2019
90
23
Hallo,

leider kenne ich mich in der Datenbank noch zu wenig gut aus, um das für MHDs umzusetzen.

Eine eigene Übersicht mit Artikel, Menge, MHD würde uns einige Klicks sparen. Würde mich sehr freuen, wenn du den Post noch damit ergänzen könntest!
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.268
324
Hallo Samuel,

die MHD Daten stehen auch in der Tabelle tWarenLagerEingang und lassen sich ganz analog zu den Chargennummern behandeln. Da wir sehr viele Artikel haben, die eine Chargennummer haben UND dann dazu ein MHD, habe ich die SQL Abfrage von Philip Laumen von oben einmal so abgeändert, dass sie für mich passt und vermutlich/hoffentlich auch für Dich.
SQL:
SELECT ISNULL(cChargenNr,'--') AS 'Chargen Nummer', ISNULL(CONVERT(VARCHAR(10),t1.dMHD,104),'--') AS 'MHD', t2.cName AS 'Warenlager',
 CONVERT(DECIMAL(10,2),SUM(fAnzahlAktuell)) AS 'Anzahl aktuell' FROM dbo.tWarenLagerEingang t1
 JOIN tWarenLager t2 ON t2.kWarenLager=t1.kWarenLagerPlatz
 WHERE kArtikel=@Key AND cChargenNr IS NOT NULL
 GROUP BY t2.cName, t1.dMHD, t1.cChargenNr
 HAVING SUM(fAnzahlAktuell)>0
 ORDER BY t2.cName DESC, t1.dMHD ASC, SUM(fAnzahlAktuell) ASC
Gruppiert werden die Einträge erst einmal nach Lager und dann innerhalb des Lagers nach der MHD. Ich denke, das macht so Sinn und ich habe dann noch "verfügt", dass die globale Sortierung der Lagernamen absteigend sein soll, damit das "Standardlager" nicht ganz unten am Ende gezeigt wird, während das uninteressante "Ablauflager" für meine abgelaufene MHD-Artikel immer schön im Blick ist.

Und auch wenn ein Artikel nur eines der beiden Merkmale hat, wird in der Tabelle für das fehlende Merkmal einfach ein '--' gezeigt. Die Abfrage versagt also nicht, wenn ein Wert nicht existiert oder gesetzt ist.

Gruß,
Ingmar
 

sjk

Mitglied
16. Januar 2019
90
23
Hallo Ingmar, vielen Dank! Genau so etwas habe ich mir vorgestellt.

Weil wir keine Chargen in der Wawi führen hat es zuerst nicht funktioniert, da musste ich noch cChargenNr IS NOT NULL rauslöschen.
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.268
324
Hallo Samuel,

das cChargenNr IS NOT NULL musste nicht nur bei Dir raus, sondern das ist schlicht falsch und ich habe es nur versehentlich bei der Änderung von Philip Laumens Code stehen gelassen. Hier also noch einmal der korrekte Code, damit sich andere Leute nicht erst durch den Thread quälen müssen, um eine rundum funktionierende Version zu bekommen.
SQL:
SELECT ISNULL(cChargenNr,'--') AS 'Chargen Nummer', ISNULL(CONVERT(VARCHAR(10),t1.dMHD,104),'--') AS 'MHD', t2.cName AS 'Warenlager',
 CONVERT(DECIMAL(10,2),SUM(fAnzahlAktuell)) AS 'Anzahl aktuell' FROM dbo.tWarenLagerEingang t1
 JOIN tWarenLager t2 ON t2.kWarenLager=t1.kWarenLagerPlatz
 WHERE kArtikel=@Key
 GROUP BY t2.cName, t1.dMHD, t1.cChargenNr
 HAVING SUM(fAnzahlAktuell)>0
 ORDER BY t2.cName DESC, t1.dMHD ASC, SUM(fAnzahlAktuell) ASC
P.S. Wie hast Du die Formatierung des "cChargenNr IS NOT NULL" in Deiner Antwort hinbekommen. Das sieht gut und wie ein Inline-Zitat aus, gefällt mir.

Gruß,
Ingmar
 
  • Gefällt mir
Reaktionen: sjk

Ü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ü