Hinweis: Am 1.9.2024 hat JTL neue Editionen eingeführt, die die meisten bisherigen Einzelleistungen zu verschiedenen Paketen bündeln. Um ein reibungsloses Weiterarbeiten zu gewährleisten, wurden Bestandskunden automatisch auf die Paketkonfiguration umgestellt, die ihrem bisherigen Vertrag am besten entspricht. Die einzelnen Pakete unterscheiden sich in den Limitierungen und/oder dem Funktionsumfang. Deshalb stehen möglicherweise einige der im JTL-Guide beschriebenen Funktionen seit dem 1.9.2024 in Ihrer Edition nicht zur Verfügung. Ihre Paketkonfiguration ändern Sie in Ihrem JTL-Kundenkonto. Informieren Sie sich hier über die neuen Editionen und Pakete. In unseren FAQ finden Sie häufig gestellte Fragen zu den Tarifeditionen.
Anwendungsbeispiele: Direkter Datenbank-Zugriff
Hinweis: Mit dem direkten Zugriff auf die Datenbank greifen Sie ggf. direkt in die Struktur der Datenbank ein. Wir können in diesem Fall nicht garantieren, dass diese Eingriffe auch in zukünftigen Versionen von JTL-Wawi einwandfrei funktionieren werden. Daher empfehlen wir nur ausgewiesenen Experten die Möglichkeit zu nutzen, direkt auf die Datenbank zuzugreifen.
Fehlerbehandlung
{% assign result = 'SELECT * FROM tBestellungEX' | DirectQuery -%}
"{{ result.Query }}" lieferte {% if result.Fehlerhaft %}den Status: {{ result.Fehler }}{% else %}keinen Fehler.{% endif -%}
#=> "SELECT * FROM tBestellungEX" lieferte den Status: Errorcode 7338
#=> "SELECT * FROM tBestellungEX" lieferte keinen Fehler.
In der Variable „result“ wird in dem Fall das Ergebnis aus dem Select-Befehl gespeichert. Das es sich bei dem String um eine Datenbank-Abfrage handelt müssen Sie DotLiquid durch den zusätzlichen Filter „’string‘ | DirectQuery“ begreiflich machen.
Wichtig sind die Begriffe nach dem Punkt, also Query, Daten, Fehlerhaft und Fehler! Die Variable kann über „{% assign %}“ oder „{% capture %}“ beliebig definiert werden.
Einfache Abfragen
{% assign result = 'SELECT COUNT(*) FROM tBestellung' | DirectQueryScalar -%}
Es gibt {{ result }} Bestellungen.
#=> Es gibt 425 Bestellungen.
Unter einfachen Abfragen verstehen wir ein SQL-Select welches genau ein Ergebnis zurück gibt. Ein solches Ergebnis verarbeiten Sie im Idealfall über den Filter „’string‘ | DirectQueryScalar“, so wird das Ergebnis direkt in der Variable gespeichert und kann weiter verarbeitet werden.
Komplexe Abfragen
1 {% assign result = 'SELECT TOP(4) * FROM tBestellung' | DirectQuery -%}
2 "{{ result.Query }}" lieferte {% if result.Fehlerhaft %}den Status {{ result.Fehler }}{% else %}keinen Fehler.{% endif %}
3 {% for item in result.Daten %}
4 Bestellung: {{ item.cBestellNr }}
5 {% capture itemquery %}SELECT * FROM tbestellpos WHERE tBestellung_kBestellung = {{ item.kBestellung | SqlEscape }}{% endcapture -%}
6 {% assign result2 = itemquery | DirectQuery -%}
7 {% for item2 in result2.Daten -%}
8 {{ item2.nAnzahl | Nummer: 'N2' }}x {{ item2.cString }}
9 {% endfor -%}
10 {% endfor -%}
Das Ergebnis hiervon könnte so aussehen:
"SELECT TOP(4) * FROM tBestellung" lieferte keinen Fehler.
Bestellung: AU0920121
1,00x Adidas Frankreich Home Trikot FFF France JSY SS
1,00x Adidas Frankreich Fleece Pullover ClimaWarm® FFF
1,00x Adidas Frankreich Short Home FFF France Hose weiß
1,00x Pauschale Versandkosten
1,00x Nachnahmegebühr
Bestellung: AU0920122
1,00x Polo Ralph Lauren Big Pony gestreift Poloshirt dunkelblau/grün
Bestellung: AU0920123
1,00x Adidas Beckenbauer Tracktop weiß Jacke Firebird
1,00x Pauschale Versandkosten
Bestellung: AU0920124
1,00x Adidas Standup Rollkragen Pullover rot
1,00x Adidas Windbreaker Herren Windjacke schwarz Laufjacke
1,00x Versandkosten nach Zonen