Neu Abfrage in den erweiterten Eigenschaften ob Sonderpreis in Wawi aktiv ist.

Christian_MIMO

Gut bekanntes Mitglied
7. November 2016
159
20
#1
Hallo zusammen,

ich suche eine Möglichkeit, wie ich per Workflow (Erweiterte Eigenschaft) abfragen kann, ob im Artikel in der Wawi ein Sonderpreis hinterlegt ist und ob dieser auch zeitlich noch aktiv ist.

Im Forum bin ich auf folgenden Abfrage von Ingmar gestoßen:
https://forum.jtl-software.de/threads/abfrage-ob-aktiver-sonderpreis-vorhanden.103707/

Leider funktioniert diese erweitere Eigenschaft in der 1.3.21.0 nicht. Ich bekomme folgende Fehlermeldung:

Fehler im Befehl: Falsche Syntax in der Nähe von ')'.
Falsche Syntax in der Nähe von 'SonderPreisStatus'.
Falsche Syntax in der Nähe von ')'.

Kann mir jemand weiterhelfen wie ich die SQL-Abfrage anpassen muss? Bzw. gibt es eine andere Lösung in den Workflows?

Danke und viele Grüße
 

Rico Giesler

Administrator
Mitarbeiter
10. Mai 2017
11.600
1.120
#2
Also ich kann keinen Fehler an Ingmars Abfrage feststellen.
Kannst du mal genauer erklären was du gemacht hast?
 

Christian_MIMO

Gut bekanntes Mitglied
7. November 2016
159
20
#3
Copy + Paste, kein Witz. :)

Wir konnten das aber jetzt intern lösen, zum Glück können die Azubis SQL. :thumbsup:

Bei uns sieht die Abfrage jetzt so aus:

{% for Artikelbeschreibungen in Vorgang.AuftragsPositionen.ArtikelPositionen -%}
{% 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,'{{ Datum.Jetzt }}'), 104) >= CONVERT(DATE, GETDATE(), 104))))
AND ((t1.nIstAnzahl=0) OR ((t1.nIstAnzahl=1) AND (t2.fVerfuegbar>=t1.nAnzahl)))
AND t1.kArtikel={{ Artikelbeschreibungen.InterneArtikelnummer }}),2)
END SonderPreisStatus
FROM tArtikelSonderpreis AS t3 WHERE kArtikel={{ Artikelbeschreibungen.InterneArtikelnummer }}
UNION
SELECT 0 as SonderPreisStatus WHERE NOT EXISTS (SELECT nAktiv FROM tArtikelSonderpreis WHERE kArtikel={{ Artikelbeschreibungen.InterneArtikelnummer }})
{% endcapture -%}
{% assign SonderpreisStatus = query | DirectQueryScalar -%}
{{ SonderpreisStatus }}{% endfor -%}


Ich habe dann noch eine Schleife dazugemacht, da ich gerne alle Positionen des Auftrags überprüft haben möchte. Wichtig für uns ist, ob eben 1 Artikel im Auftrag einen aktiven Sonderpreis hat oder nicht.
Der Workflow prüft dann einfach ab, ob die Aussage der erweiterten Eigenschaft "1" enthält und dann löst der Workflow entsprechend aus.
 
Zustimmungen: Rico Giesler

Ähnliche Themen