Manuel.Atha
Aktives Mitglied
Wir würden gerne den Mindestbestand unserer Artikel berechnen lassen. Dazu verwenden wir eine SQL Abfrage welche uns den Verbrauch der letzen 30 Tage in einem eigenen Feld speicher soll.
Wenn ich die Abfrage im SQL Server Man. Studio laufen lassen kommen realistische Werte raus.
Im Workflow allerdings immer nur den Wert '1'.
Kann da jemand helfen? Stimmt was in der Variable, dem Code oder im Workflow nicht?
Die SQL-Abfrage:
Die Variable im WF:
Ergebnis aus'm Studio:
Ergebnis vom Workflow (selber Artikel).
Ich habe das Gefühl mir wird nur die Menge der Ergebnisse ausgegeben, daher die '1'.
Wenn ich die Abfrage im SQL Server Man. Studio laufen lassen kommen realistische Werte raus.
Im Workflow allerdings immer nur den Wert '1'.
Kann da jemand helfen? Stimmt was in der Variable, dem Code oder im Workflow nicht?
Die SQL-Abfrage:
SQL:
SELECT
ISNULL(jLetzte30Tage.absatz, 0)
FROM tartikel
JOIN dbo.tSpracheUsed ON nStandard = 1
JOIN dbo.tArtikelBeschreibung ON tArtikelBeschreibung.kArtikel = tartikel.kArtikel
AND tArtikelBeschreibung.kSprache = tSpracheUsed.kSprache
AND tArtikelBeschreibung.kPlattform=1
JOIN vLagerbestandEx ON vLagerbestandEx.kArtikel = tartikel.kArtikel
LEFT JOIN (
SELECT tArtikel_kArtikel, ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tBestellung.dErstellt > DATEADD(DAY, -30, getdate())
GROUP BY tArtikel_kArtikel
) AS jLetzte30Tage ON jLetzte30Tage.tArtikel_kArtikel = tartikel.kArtikel
Die Variable im WF:
Code:
{% assign result = 'SELECT ISNULL(jLetzte30Tage.absatz, 0)FROM tartikel JOIN dbo.tSpracheUsed ON nStandard = 1 JOIN dbo.tArtikelBeschreibung ON tArtikelBeschreibung.kArtikel = tartikel.kArtikel AND tArtikelBeschreibung.kSprache = tSpracheUsed.kSprache AND tArtikelBeschreibung.kPlattform=1 JOIN vLagerbestandEx ON vLagerbestandEx.kArtikel = tartikel.kArtikel LEFT JOIN ( SELECT tArtikel_kArtikel, ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz FROM tbestellung JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung WHERE tBestellung.nStorno = 0 AND tBestellung.dErstellt > DATEADD(DAY, -30, getdate()) GROUP BY tArtikel_kArtikel ) AS jLetzte30Tage ON jLetzte30Tage.tArtikel_kArtikel = tartikel.kArtikel' | DirectQueryScalar -%}
{{ result }}
Ergebnis aus'm Studio:
Ergebnis vom Workflow (selber Artikel).
Ich habe das Gefühl mir wird nur die Menge der Ergebnisse ausgegeben, daher die '1'.