Hallo,
ich habe heute mit LL21 zu arbeiten begonnen. Das (für mich zentrale) Feature - dei Subtabelle - funktioniert brav.
Das Verhalten beim Parsen der Query verhält sich meiner Einschätzung nach anders.
- Query wird verändert - für die Darstellung der Beispieldaten zur Designzeit?:
Orginal Query: SELECT RES_ID, EXTERNE_ID, RESSOURCEN_NAME, ORGANISATIONSEINHEIT FROM RESSOURCEN WHERE PLANBAR = ‘JA’ AND EXISTS(SELECT 1 FROM ARBEITSZEITEN WHERE RES_ID = RESSOURCEN.RES_ID AND STARTDATUM <= ‘01.11.2015’ AND (STOPDATUM IS NULL OR STOPDATUM > ‘26.10.2015’) ) AND ORGANISATIONSEINHEIT = ‘Bauernfeind Anton’
Was dann ausgeführt wird:
SELECT RES_ID, EXTERNE_ID, RESSOURCEN_NAME, ORGANISATIONSEINHEIT FROM RESSOURCEN W WHERE “RES_ID”=@LLKeyVal0HERE PLANBAR = ‘JA’ AND EXISTS(SELECT 1 FROM ARBEITSZEITEN WHERE RES_ID = RESSOURCEN.RES_ID AND STARTDATUM <= ‘01.11.2015’ AND (STOPDATUM IS NULL OR STOPDATUM > ‘26.10.2015’) ) AND ORGANISATIONSEINHEIT = ‘Bauernfeind Anton’
Parameters:
Name:LLKeyVal0 Type:Integer Used Value:1877
Der Parameter ist der erste Mitarbeiter, für den möglicherweise für die Darstellung der Beispieldaten im Design die abhängigen Daten eingelesen werden.
Problematisch ist das Zerstückeln der Query: die zusätzliche where clause wird ohne Rücksicht auf die bestehende Query eingebaut.
Wenn ich jedoch das Exists() weglassen, passt die Query, die von LL an die Datenbank geschickt wird.
- Functions in der Query: Wenn ich z.B. die DB Function LEFT() mehrfach in der Query verwende, so kommt eine Fehlermeldung, dass equal aliases nicht möglich sind.
Bei der Dokumentation ist mir aufgefallen, dass heir noch Lücken sind.
z.B. gibt es bei ListLabel das Property AdvancedDataBinding, das jedoch nicht dokumentiert ist. (Vielleicht ist es auch ein altes Property…)
Bitte um Rückmeldung, wie bei der Verwendung von komplexeren Queries vorzugehen ist:
a) Aliases bei mehreren Joins
b) Functions
Danke
Nikolaus Kern