Neu @key und @keys Eigener SQL in Bestellvorschlägen. WaWi 1.7.9

Maik Hövelmann

Aktives Mitglied
22. April 2022
15
1
Hallo wir haben eine eigne Übersicht bei den Bestellvorschlägen.
Leider Funktioniert diese mit der @KeyS nicht.
Ich maktiere mehrere Artikel und es wird nur der Select für den zu erst ausgewählten Artikel wiedergeben, ist mein SQL falsch oder mache ich in der Wawi etwas falsche ?

Eigentlich sollten bei 2 makierten Artikeln zwei Zeilen mit den Informationen rauskommen oder habe ich @KEYS oder 1.7 falsch verstanden ?

Hier noch der Select:

SELECT

tartikel.cArtNr,
tartikel.cLabelNamen,

CASE

WHEN tAttribut.nAusgabeWeg = 0 THEN 'Attribut'
WHEN tAttribut.nAusgabeWeg > 0 THEN 'Eigenes Feld'

END AS Typ,

tAttributSprache.cName AS 'Name',

CASE

WHEN tFeldTyp.nDatenTyp = 0 THEN CONVERT(VARCHAR, tArtikelAttributSprache.nWertInt)
WHEN tFeldTyp.nDatenTyp = 1 THEN CONVERT(VARCHAR, tArtikelAttributSprache.fWertDecimal)
WHEN tFeldTyp.nDatenTyp = 2 THEN tArtikelAttributSprache.cWertVarchar
WHEN tFeldTyp.nDatenTyp = 3 THEN CONVERT(VARCHAR, tArtikelAttributSprache.dWertDateTime, 104)

END AS Wert

FROM tartikel

JOIN dbo.tSpracheUsed ON nStandard = 1
JOIN tArtikelAttribut ON tArtikelAttribut.kArtikel = tArtikel.kArtikel
JOIN tAttribut ON tAttribut.kAttribut = tArtikelAttribut.kAttribut
JOIN tFeldTyp ON tFeldTyp.kFeldTyp = tAttribut.kFeldTyp
JOIN tAttributSprache ON tAttributSprache.kAttribut = tArtikelAttribut.kAttribut

AND tAttributSprache.kSprache =

CASE

WHEN tAttribut.nIstMehrsprachig = 1 THEN tSpracheUsed.kSprache
ELSE 0

END

JOIN tArtikelAttributSprache ON tArtikelAttributSprache.kArtikelAttribut = tArtikelAttribut.kArtikelAttribut
AND tArtikelAttributSprache.kSprache =

CASE

WHEN tAttribut.nIstMehrsprachig = 1 THEN tSpracheUsed.kSprache
ELSE 0

END

WHERE tAttribut.nAusgabeWeg > 0 AND (tAttributSprache.cName LIKE '%Nachfolgerartikelnummer%' )

AND tartikel.kArtikel = @Keys
 

Maik Hövelmann

Aktives Mitglied
22. April 2022
15
1
Hi,

ganz am Ende .. = @Keys >> muss IN (@Keys) heißen.

Viele Grüße
Mirko
Danke für die schnelle Rückmeldung:

Folgendes habe ich getestet:


SELECT

tartikel.cArtNr,
tartikel.cLabelNamen,


tAttributSprache.cName AS 'Name',

CASE

WHEN tFeldTyp.nDatenTyp = 0 THEN CONVERT(VARCHAR, tArtikelAttributSprache.nWertInt)
WHEN tFeldTyp.nDatenTyp = 1 THEN CONVERT(VARCHAR, tArtikelAttributSprache.fWertDecimal)
WHEN tFeldTyp.nDatenTyp = 2 THEN tArtikelAttributSprache.cWertVarchar
WHEN tFeldTyp.nDatenTyp = 3 THEN CONVERT(VARCHAR, tArtikelAttributSprache.dWertDateTime, 104)

END AS Wert,
CASE

WHEN tAttribut.nAusgabeWeg = 0 THEN 'Attribut'
WHEN tAttribut.nAusgabeWeg > 0 THEN 'Eigenes Feld'

END AS Typ


FROM tartikel

JOIN dbo.tSpracheUsed ON nStandard = 1
JOIN tArtikelAttribut ON tArtikelAttribut.kArtikel = tArtikel.kArtikel
JOIN tAttribut ON tAttribut.kAttribut = tArtikelAttribut.kAttribut
JOIN tFeldTyp ON tFeldTyp.kFeldTyp = tAttribut.kFeldTyp
JOIN tAttributSprache ON tAttributSprache.kAttribut = tArtikelAttribut.kAttribut

AND tAttributSprache.kSprache =

CASE

WHEN tAttribut.nIstMehrsprachig = 1 THEN tSpracheUsed.kSprache
ELSE 0

END

JOIN tArtikelAttributSprache ON tArtikelAttributSprache.kArtikelAttribut = tArtikelAttribut.kArtikelAttribut
AND tArtikelAttributSprache.kSprache =

CASE

WHEN tAttribut.nIstMehrsprachig = 1 THEN tSpracheUsed.kSprache
ELSE 0

END

WHERE tAttribut.nAusgabeWeg > 0 AND (tAttributSprache.cName LIKE '%Nachfolgerartikelnummer%' )

AND tartikel.kArtikel IN (@Keys)

Leider ohne erfolgt. ich bekomme nur eine Artikelnummer mit entsprechenden Infos:
 

Anhänge

  • 2023-04-17 10_36_41-Window.png
    2023-04-17 10_36_41-Window.png
    21 KB · Aufrufe: 13

MirkoWK

Sehr aktives Mitglied
14. März 2022
837
306
hhm - vielleicht gibt es zum zweiten Artikel einfach die passenden Infos nicht?

Select cArtNr from tArtikel where kArtikel IN (@KEYS) >> kommen da alle Artikel?

Falls ja, kannst du dich nur rantasten und weniger Informationen in die Abfrage nehmen und dann nach und nach dazupacken und schauen, wann die Problemstelle kommt.
 

Maik Hövelmann

Aktives Mitglied
22. April 2022
15
1
Hey,
hhm - vielleicht gibt es zum zweiten Artikel einfach die passenden Infos nicht?

Select cArtNr from tArtikel where kArtikel IN (@KEYS) >> kommen da alle Artikel?

Falls ja, kannst du dich nur rantasten und weniger Informationen in die Abfrage nehmen und dann nach und nach dazupacken und schauen, wann die Problemstelle kommt.
Guter Call von dir. Danke. Also Problem scheint zu sein, dass es in der Beschaffung noch nicht funktioniert mit der Funktion IN @KEYs noch nicht möchte.
Habe den gleichen Select bei Artikeln eingesetzt und siehe da es läuft. --> Mehrere Artikel ausgewählt und ich habe mehrerer Zeilen in dem SELECT.

Ich würde dazu jetzt ein Issue auf machen oder ?

Gruß Maik
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
1.261
492
Moin,
JTL hat auch nie bestätigt, dass es für alle "Eigene Übersichten" gilt.
In JTL-Issue sind aufgelistet:
Aufträge, Rechnungen, Rechnungskorrekturen, Stornobelege, Preisanfragen
Bestellungen, Lieferscheine, Fulfillment-Aufträge, Wawi-Picklisten
 

Maik Hövelmann

Aktives Mitglied
22. April 2022
15
1
Moin, ja das kann wohl sein.
Siehe Bild, da bin ich dann auf den Gedanken gekommen, dass es auch bei Bestellungen funktioniert...
Es wär für mich als neuer Anwender verständlicher, wenn @KEYS dort gar nicht vorgeschlagen wird, also bei den Eigenen Übersichten der Bestellvorschläge.
Dann hätte ich das gar nicht erst versucht. 😇

Trotzdem Danke für den Hinweise, dann Folge ich dem Issue direkt mal. 🙂

2023-04-17 13_10_58-Window.png
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.877
565
Hast du denn mal wie von @MirkoWK vorgeschlagen zum Test ein einfaches SELECT ohne JOIN probiert, um zu sehen, ob @Keys wirklich nicht initialisiert?
Weil die Variable wird doch deklariert (sonst würde ja einFehler gemeldet werden, oder ist das in der 1.7 anders?)

Am einfachsten wäre es, du schaust dir mal an, was in @Key bzw. @Keys drinsteht. Also: select @Key as '@Key', @Keys as '@Keys'
 
Zuletzt bearbeitet:

Maik Hövelmann

Aktives Mitglied
22. April 2022
15
1
Ja habe ich ausprobiert. und der;
select @Key as '@Key', @Keys as '@Keys'
gibt mir bei beiden Nur die ID des ersten Artikels.

Hier habe ich ca. 15 Artikel markiert.



Danke für eure Hilfe und Unterstützung, ggf. wär es es sinnvoll @KEYS nur in den Übersichten zu beschreiben, wo es auch benutzbar ist als KeyS.
Ich geben das mal als Idee weiter, dann läuft der nächste nicht in den gleichen Fehler. 🙂
 

Anhänge

  • 2023-04-18 11_46_27-Window.png
    2023-04-18 11_46_27-Window.png
    5,8 KB · Aufrufe: 10

MirkoWK

Sehr aktives Mitglied
14. März 2022
837
306
Die Abfrage kann ja auch nur ein Ergebnis bringen (denke ich 😉 ).

Wie sieht es damit aus?

Code:
Select cArtNr from tArtikel where kArtikel IN (@KEYS)
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
837
306
Das klingt dann schon nach einem Bug.
Vielleicht kann jemand anderes mit der 1.7.x das mal testen?
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.877
565
  • Gefällt mir
Reaktionen: Maik Hövelmann

Ähnliche Themen