Neu Wie rufe ich eine SQL Abfrage im DotLiquid auf ?

sportkluft

Aktives Mitglied
2. Januar 2017
57
1
Hi, ich habe eine Frage zum Abrufen von SQL Daten im DotLiquid Editor.

Der JTL Support ( vielen Dank an dieser Stelle dafür ) hat mir folgendes Statement zugeliefert um die Abfrage von Amazon Zahlungseingangdaten im Vorlageneditor zu realisieren:

Abfrage im Vorlageneditor
Code:
JTL_DirectQuery("SELECT dpaymentsdate from pf_amazon_bestellung where cOrderID = '"+Vorgang.Auftrag.ExterneAuftragsnummer+"'")
Jetzt würden wir um das Thema abschließen zu können, gerne wissen, wie wir diese Abfrage im DotLiquid realisieren können. Ich habe es mit folgendem Befehl versucht aber bekomme leider immer einen Fehler:

Abfrage im DotLiquid
Code:
{% assign result = 'SELECT dpaymentsdate from pf_amazon_bestellung where cOrderID = {{Vorgang.Auftrag.ExterneAuftragsnummer}}' | DirectQueryScalar -%} Bestelltag {{ result }}.
Fehlermeldung:

Code:
Bestelltag Fehler im Befehl: Falsche Syntax in der Nähe von '{'.. vielen lieben Dank
Wie würde denn hier die korrekte Abfrage aussehen ?
Ich habe aktuell noch meine Schwierigkeiten mit diesen Abfragen und würde mich über Hilfe äußerst freuen.

Zusätzlich würden wir gerne das Datum ausgeben ohne die Uhrzeit.
Dann vermutlich mit:

Code:
| Datum: 'd', 'de-DE'
oder ?

Mit freundlichen Gruß und angenehmen Freitag an alle
 

_simone_

Sehr aktives Mitglied
17. Februar 2013
2.720
239
Emsland
vllt. so in der Art. Bin kein Experte, aber die melden sich bestimmt noch zu Wort.^^
Code:
{% capture query %}
SELECT dpaymentsdate FROM pf_amazon_bestellung WHERE cOrderID = '{{Vorgang.Auftrag.ExterneAuftragsnummer}}'
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{{ result }}
 
  • Gefällt mir
Reaktionen: BlueEyePhoenix

sportkluft

Aktives Mitglied
2. Januar 2017
57
1
Wow, vielen dank !!!
Das ist genau das was ich gesucht habe.

Darf ich fragen wo du die Syntax gelernt bzw. übernommen hast ?
Ich würde das Forum und den Support gerne in Zukunft mit solchen Sachen verschonen, aber die Doku/Wiki von JTL ist diesbezüglich etwas mager was die Wissensvermittlung angeht.

Gibt es unabhängig zu JTL noch Referenzen mit Beispielen ?

Mir ist zum Beispiel nicht genau klar wann ich "assign result" (einfache Abfrage) oder "capture query" (komplexere Abfrage) nehmen soll.
Und ich würde das gerne einfach üben um auch andern behilflich zu sein.


Erlaube mir noch eine Frage, es wird mir nahezu perfekt angezeigt mit:

Code:
31.01.2017 22:42:30
Was müsste ich deinem Code hinzufügen damit ich nur das Datum bekomme ohne Uhrzeit?

Ich weiß es muss etwas sein wie
Code:
| Datum: 'd', 'de-DE'
Mir ist nur nicht genau klar wo.
 

_simone_

Sehr aktives Mitglied
17. Februar 2013
2.720
239
Emsland
Also ich scripte mir einiges zurecht, ohne tiefer in die Materie einzudringen, da das nicht mein Job ist. Ich sammel kleine snipplets die mir gefallen und irgendwan brauche ich die evt.
Hilfreich ist auch der Editor für die erweiterten Workflows, da man dort schnell und einfach debuggen kann.

btw: versuche mal das
Code:
| Date:'dd.mm.yyyy'
;)
 

BlueEyePhoenix

Gut bekanntes Mitglied
3. Januar 2017
191
7
Hallo,

ich greife das thema nochmal auf. Wie bekomme ich die ganze tabelle ausgegeben. So wir hier beschrieben bekomme ich immer nur den ersten Wert der Abfrage ausgegeben. Aber wenn ich eine Tabelle mit 5 spalten habe wie bekomme ich das ergebnis untereinander angezeigt?

Eine Hilfestellung wäre super.