Gelöst Varaible in {% assign result = 'SELECT * WHERE

dm689

Gut bekanntes Mitglied
15. Juli 2015
116
8
Hallo zusammen,

ich stehe auf dem Schlauch, meine Abfrage läuft und ich bekomme was ich will wenn die die Auftragsnummer im Bsp. 17 manuell eintrage.
Wie bekomme ich hier die gesetzte Variable rein auftragsNr oder Vorgang.Stammdaten.Auftragsnummer in die WHERE SQL Abfage?


Code:
{% assign auftragsNr = Vorgang.Stammdaten.Auftragsnummer }} %}\

{% assign result = 'SELECT * FROM Verkauf.tAuftragPosition WHERE nType=0 AND kAuftrag = 17' | DirectQuery -%}

{% for item in result.Daten %}

{{ item.cName  }}

{{ thisorder }}

{% capture itemquery %}SELECT * FROM tbestellpos WHERE tBestellung_kBestellung = {{ item.kBestellung | SqlEscape }}{% endcapture -%}

{% assign result2 = itemquery | DirectQuery -%}

{% for item2 in result2.Daten -%}

{{ item2.nAnzahl | Nummer: 'N2' }}x {{ item2.cString }}

{% endfor -%}

{% endfor -%}

Danke für eure Hilfe.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.151
1.888
Berlin
Code:
{% capture query -%}
SELECT * FROM Verkauf.tAuftragPosition WHERE nType=0 AND kAuftrag = {{deine_variable}}
{% endcapture -%}


{% assign result = query| DirectQuery -%}
 

dm689

Gut bekanntes Mitglied
15. Juli 2015
116
8
Moin,

danke dir:
Das habe ich auch schon probiert gibt aber nur einen Wert aus.
Daher der versuch mit der for each oben, bräuchte alle Werte, welche die Abfrage erfüllen.

{% capture query -%} SELECT cName FROM Verkauf.tAuftragPosition WHERE nType=0 AND kAuftrag = '{{ Vorgang.Stammdaten.Auftragsnummer }}' {% endcapture -%} {% assign result = query | DirectQueryScalar -%} {{ result }}

Hast du noch eine Idee?
 

dm689

Gut bekanntes Mitglied
15. Juli 2015
116
8
Ah dso gehts:

{% capture query -%} SELECT cName FROM Verkauf.tAuftragPosition WHERE nType=0 AND kAuftrag = '{{ Vorgang.Stammdaten.Auftragsnummer }}' {% endcapture -%} {% assign result = query | DirectQuery -%} {% for cNAme in result.Daten %} {{ cName }} {% endfor %}
Ergebnis:
[cName, Test12] [cName, -- Test34] [cName, Test12]

Das cName und die Klammer ist zwar nicht schön aber sollte reichen.

Danke dir
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.151
1.888
Berlin
auf das foreach habe ich nicht geachtet, ich dachte dein eigentliches Problem ist das du nicht weisst wie du die Variable da reinzaubern kannst.
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.534
463
Hast du noch eine Idee wie ich [cName, rausbekomme und nur den Wert erhalte?
in der Variable cName in deiner for Schleife steht immer ein Datensatz nicht nur ein einzelnes Feld.
Wenn du also cName ausgibst, schreibt er die immer einen ganzen Datensatz mit Feldnamen und Wertnamen raus.
Du willst aber nur ein einzelnes Feld aus diesem ganzen Datensatz ansprechen.

Du musst also in deiner for-Schleife ein bestimmtes Feld von cName ansprechen. Also cName.Feldname
 
  • Gefällt mir
Reaktionen: dm689