Neu Eigene Übersicht in Aufträgen - Anzeige der verfügbaren Lagerstände in unterschiedlichen Lagern

C.lagler

Aktives Mitglied
26. November 2021
6
1
Wir haben den Bedarf, dass wir einen verfügbaren Lagerstand in unterschiedlichen Lagern im Verkauf benötigen. Der Verfügbarkeitsstand in den Artikelstammdaten bezieht sich ja leider nur auf alle Lager.
Daher haben wir eine eigene Übersicht entwickelt die allerdings einen kleinen Fehler hat: Sobald ein Artikel mehrfach auf einem Auftrag aufscheint sind die angezeigten Mengen nicht mehr korrekt. Die SQL Abfrage sieht wie folgt aus:

SELECT tArtikel.cArtNr as Artikelnummer,

ROUND(CONVERT(FLOAT, SUM(CASE WHEN tlagerbestandProLagerLagerartikel.kWarenlager = 1 THEN tlagerbestandProLagerLagerartikel.fBestand END)
-
Coalesce(

(
SELECT
SUM(inner_pos.nAnzahl) AS inAuftrag
FROM tBestellpos inner_pos
INNER JOIN tBestellung inner_be ON inner_pos.tBestellung_kBestellung = inner_be.kBestellung
LEFT OUTER JOIN tArtikel inner_art ON inner_pos.tArtikel_kArtikel = inner_art.kArtikel

WHERE
inner_art.kArtikel = tArtikel.kArtikel
AND inner_be.nStorno = 0 AND
inner_be.nKomplettAusgeliefert = 0 AND
inner_be.cType = 'B' AND
inner_be.kFirma = 1
)
,0)
+
Coalesce(

(
SELECT
(SUM(inner_lspos2.fAnzahl)) AS inAuftrag
FROM tBestellpos inner_pos2
INNER JOIN tBestellung inner_be2 ON inner_pos2.tBestellung_kBestellung = inner_be2.kBestellung
INNER JOIN tArtikel inner_art2 ON inner_pos2.tArtikel_kArtikel = inner_art2.kArtikel
LEFT OUTER JOIN tLieferscheinPos inner_lspos2 ON inner_pos2.kBestellPos = inner_lspos2.kBestellPos
WHERE
inner_art2.kArtikel = tArtikel.kArtikel
AND inner_be2.nStorno = 0 AND
inner_be2.nKomplettAusgeliefert = 0 AND
inner_be2.cType = 'B' AND
inner_be2.kFirma = 1
)
,0)

),2) AS Verfügbar_Wernberg,


ROUND(CONVERT(FLOAT, SUM(CASE WHEN tlagerbestandProLagerLagerartikel.kWarenlager = 2 THEN tlagerbestandProLagerLagerartikel.fBestand END)

-
Coalesce(

(
SELECT
(SUM(inner_pos.nAnzahl)) AS inAuftrag
FROM tBestellpos inner_pos
INNER JOIN tBestellung inner_be ON inner_pos.tBestellung_kBestellung = inner_be.kBestellung
INNER JOIN tArtikel inner_art ON inner_pos.tArtikel_kArtikel = inner_art.kArtikel
LEFT OUTER JOIN tLieferscheinPos inner_lspos ON inner_pos.kBestellPos = inner_lspos.kBestellPos
WHERE
inner_art.kArtikel = tArtikel.kArtikel
AND inner_be.nStorno = 0 AND
inner_be.nKomplettAusgeliefert = 0 AND
inner_be.cType = 'B' AND
inner_be.kFirma = 2
)
,0)
+
Coalesce(

(
SELECT
(SUM(inner_lspos2.fAnzahl)) AS inAuftrag
FROM tBestellpos inner_pos2
INNER JOIN tBestellung inner_be2 ON inner_pos2.tBestellung_kBestellung = inner_be2.kBestellung
INNER JOIN tArtikel inner_art2 ON inner_pos2.tArtikel_kArtikel = inner_art2.kArtikel
LEFT OUTER JOIN tLieferscheinPos inner_lspos2 ON inner_pos2.kBestellPos = inner_lspos2.kBestellPos
WHERE
inner_art2.kArtikel = tArtikel.kArtikel
AND inner_be2.nStorno = 0 AND
inner_be2.nKomplettAusgeliefert = 0 AND
inner_be2.cType = 'B' AND
inner_be2.kFirma = 2
)
,0)


),2) AS Verfügbar_Klagenfurt


FROM tBestellung

INNER JOIN tBestellpos ON tBestellung.kBestellung = tBestellpos.tBestellung_kBestellung
INNER JOIN tArtikel ON tBestellpos.tArtikel_kArtikel = tArtikel.kArtikel
INNER JOIN tlagerbestandProLagerLagerartikel ON tArtikel.kArtikel = tlagerbestandProLagerLagerartikel.kArtikel

WHERE tBestellung.kBestellung = @Key

GROUP BY tArtikel.kArtikel,tArtikel.cArtNr

Eine ähnliche Abfrage in der Artikelübersicht funktioniert.
Wenn diesen Code jemand braucht, bitte gerne melden.

Ich hoffe es kann mir jemand bei diesem Code weiterhelfen.

Besten Dank vorab.
 

Patrizia

Sehr aktives Mitglied
19. September 2010
491
80
Mir zu unterstellen, dass ich rudimentäre Ahnung von SQL habe, wäre eine Übertreibung.
Aber ich habe das gleiche Problem und mein Freund ChatGPT war hilfsbereit.
Ich bin ehrlich gesagt platt vom Ergebnis her. Er pröpfelt manchmal herum und macht Fehler und korrigiert sie dann falsch, aber wenn man ein wenig logisch mitdenken kann und immer wieder dahin zurückgeht, wo es funktioniert hat, dann kommt ein Ergebnis heraus, das genau das tut, was ich wollte und was ich in 100 Jahren nicht zustande gebracht hätte.
Mein einziger echter Beitrag war die Filterung auf Artikel mit Bestand, Artikelsprache nur deutsch (sonst kommt jede Zeile für jede Sprache) und die Plattform ( Wawi) ansonsten kommt jede Zeile auch für jede Plattform.

Zwei Schönheitsfehler: Kindartikel müssen aus dem oberen Hauptfenster heraus angewählt werden, nicht aus dem unteren Fenster und man kann immer nur einen Artikel auswählen.

Versuch mal, ob es was hilft:

SELECT
SKU,
Artikelname,
Lager,
Bestand,
Lagerwert
FROM
(
SELECT
'Summe' AS SKU,
NULL AS Artikelname,
NULL AS Lager,
FORMAT(SUM(fBestand), '#,0') AS Bestand,
FORMAT(SUM(fBestand * TA.fEkNetto), '#,0') AS Lagerwert,
0 AS OrderFlag
FROM
tlagerbestandProLagerLagerartikel LPL
LEFT JOIN
tArtikel TA ON LPL.kArtikel = TA.kArtikel
LEFT JOIN
tWarenlager TL ON LPL.kWarenlager = TL.kWarenLager
LEFT JOIN
tArtikelBeschreibung TAB ON TA.kArtikel = TAB.kArtikel
WHERE
TA.kArtikel = @keys
AND fBestand > 0
AND kSprache = 1
AND kPlattform = 1

UNION ALL

SELECT
cArtNr AS SKU,
TAB.cName AS Artikelname,
TL.cName AS Lager,
FORMAT(fBestand, '#,0') AS Bestand,
FORMAT(fBestand * TA.fEkNetto, '#,0') AS Lagerwert,
1 AS OrderFlag
FROM
tlagerbestandProLagerLagerartikel LPL
LEFT JOIN
tArtikel TA ON LPL.kArtikel = TA.kArtikel
LEFT JOIN
tWarenlager TL ON LPL.kWarenlager = TL.kWarenLager
LEFT JOIN
tArtikelBeschreibung TAB ON TA.kArtikel = TAB.kArtikel
WHERE
TA.kArtikel = @keys
AND fBestand > 0
AND kSprache = 1
AND kPlattform = 1
) AS Result
ORDER BY
OrderFlag DESC,
CASE WHEN SKU IS NULL THEN 1 ELSE 0 END,
CAST(Bestand AS INT) DESC;
 
Ähnliche Themen
Titel Forum Antworten Datum
Lieferscheine -versendet / Eigene Übersicht: Kundenkategorie aus den Kundenstammdaten JTL-Wawi 1.8 3
Neu Eigene Übersicht Kunde QR Code Kundennummer Eigene Übersichten in der JTL-Wawi 4
Neu List & Label - Eigene SQL-Abfrage als Grundlage für Tabelle im Berichtscontainer? User helfen Usern - Fragen zu JTL-Wawi 10
QR-Code Formel kann nicht in die eigene Vorlage hinzugefügt werden JTL-Wawi 1.9 1
Neu JTL Shop 5.4.0 eigene Inhalte/Seiten hinzufügen nicht möglich JTL-Shop - Fehler und Bugs 5
Neu SQL Eigener Export - Eigene Felder im Auftrag User helfen Usern - Fragen zu JTL-Wawi 7
Neu Eigene Felder aus dem Auftrag in der Packtisch+ / WMS Ausgabe JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 4
Neu Eigene Felder / Attribute spaltenweise exportieren JTL Ameise - Eigene Exporte 6
Neu Wie kann ich über eigene Felder eine Mehrfachauswahl erstellen? User helfen Usern - Fragen zu JTL-Wawi 4
Neu Eigene Übersichten - Beschaffung - Bestellvorschläge - nur Standardlieferant anzeigen Eigene Übersichten in der JTL-Wawi 4
Eigene USt-IdNr. fehlt in der Auftragsansicht bei Auslandsbestellungen (JTL-Wawi 1.8.12.2) JTL-Wawi 1.8 3
Neu Eigene Alerts im Template ausgeben bzw. hinzufügen Templates für JTL-Shop 0
Neu Übersicht Verkauf mit Artikelmenge und durchschnittlichem VK netto Eigene Übersichten in der JTL-Wawi 6
Neu Durchschnittlichen EK der letzten 3 Monate als Übersicht Eigene Übersichten in der JTL-Wawi 17
Versand, Auftrag, Dropshipping Übersicht bereits ausgelieferte ausblenden JTL-Wawi 1.9 0
Neu ebay Rabatte fehlen in Aufträgen seit ca. 1:30 Uhr eBay-Anbindung - Fehler und Bugs 14
Neu PayPal Link zur Zahlung in Angeboten / Aufträgen funktioniert aktuell nicht mehr User helfen Usern - Fragen zu JTL-Wawi 1

Ähnliche Themen