Hallo Rico,
Gutberle hatte dazu folgendes geschrieben:
_________________________________________________________________
Zitat gutberle aus oben verlinkem Thread:
Ich habe all diese Änderungen jetzt umgesetzt und alles ausgiebig in der
Wawi und auch direkt im SQL Editor getestet und alle Deine Tests laufen jetzt OK durch. Die
Workflow Query sieht jetzt wie folgt aus ...
Code:
{% capture query -%}
SELECT CASE t3.nAktiv WHEN 0 THEN 0
ELSE ISNULL((SELECT nAktiv FROM tArtikelSonderpreis AS t1
JOIN dbo.vLagerbestandEx AS t2 ON t2.kArtikel=t1.kArtikel
WHERE t1.nAktiv=1
AND ((ISNULL(t1.nIstDatum,0)=0) OR ((t1.nIstDatum=1) AND (CONVERT(DATE, ISNULL(t1.dEnde,'31.12.1899'), 104) >= CONVERT(DATE, GETDATE(), 104))))
AND ((t1.nIstAnzahl=0) OR ((t1.nIstAnzahl=1) AND (t2.fVerfuegbar>=t1.nAnzahl)))
AND t1.kArtikel={{ Vorgang.Allgemein.Stammdaten.InterneArtikelnummer }}),2)
END SonderPreisStatus
FROM tArtikelSonderpreis AS t3 WHERE kArtikel={{ Vorgang.Allgemein.Stammdaten.InterneArtikelnummer }}
UNION
SELECT 0 as SonderPreisStatus WHERE NOT EXISTS (SELECT nAktiv FROM tArtikelSonderpreis WHERE kArtikel={{ Vorgang.Allgemein.Stammdaten.InterneArtikelnummer }})
{% endcapture -%}
{% assign SonderpreisStatus = query | DirectQueryScalar -%}
{{ SonderpreisStatus }}
Achtung: Dem aufmerksamen Leser ist eventuell aufgefallen, dass in der Query im Vergleich zu vorher eine ganze Zeile in den Bedingungs-Tests fehlt, nämlich
"AND (CONVERT(DATE, t1.dStart, 104) <= CONVERT(DATE, GETDATE(), 104))". Der Grund dafür ist, dass die Wawi (meines Erachtens) einen Bug bei der Auswertung der Bedingung hat, dass nur das Startdatum gesetzt ist, aber in die Zukunft zeigt.
Damit ist der Sonderpreis aktuell, soll heißen jetzt/hier/heute eigentlich NICHT aktiv, denn er ist ja noch nicht angelaufen. Er wird aber demnächst aktiv und nach der weiter oben beschriebenen Logik aus dem
JTL Guide müsste der Sonderpreis-Status damit eigentlich "abgelaufen" sein, um dann später wieder nach "aktiv" zu wechseln.
Da ich hier aber nicht den Besserwisser spielen will und der Workflow genau DAS zurückliefern soll, was die Wawi zum Sonderpreis-Status sagt, habe ich die Zeile mit dem Test auf einen "noch nicht" aktiven Sonderpreis für's Erste rausgenommen und liefere genau wie die Wawi für diesen Fall 1=aktiv zurück.
Ich werde die Frage, ob das ein Bug ist, aber an JTL weiterleiten und falls es tatsächlich ein Bug ist und der korrigiert wird, dann muss die Zeile einfach nur wieder in die Gruppe der AND Bedingungen eingefügt werden.
So, ich hoffe, wir haben es jetzt und nochmals vielen Dank für Deine Hilfe!
Gruß,
Ingmar
Zitat Ende
_____________________________________________________________
Dort steht auch das Datum drinnen.
Wir benötigen die Abfrage, auch wenn der ARtikel einen Sonderpeis hat, dieser Aktiv ist, aber das Startdatum noch in der Zukunft liegt. Das bekommen wir einfach nicht hin.
Habt ihr da Evtl nochmal ne Idee für uns?
Lieben Dank.