DB
Typ | |||
---|---|---|---|
Versionshinweise | 17.1 | ||
Web Client |
Code
SearchUtils.DB
Beschreibung
Konstante für die "SQL-Ausdruck" Funktion.
Die DBFunction unterstützt verschiedene Ausdrücke, um dynamisch auf die Umgebung reagieren zu können.
Name | Funktion (Suchmaske) | Funktion als String (in Skripten) | MSSQL-Ergebnis | ORACLE-Ergebnis |
---|---|---|---|---|
Setzen des Datenbank Aliasnamens im generierten SQL-Statement Hier wird immer das erste Auftreten des Aliasnamens verwendet, auch wenn die Entität mit mehr als einem Aliasnamen eingebunden wurde. Delegierte Felder führen zu fehlerhaftem SQL, in diesem Fall muss die Delegation in der Suche aufgelöst werden. | ${Subject.Activity} | "\${Subject.Activity}" | Activity0.Subject | Activity0.Subject |
String-Concatenation | ${+} | "\${+}" | + | || |
Aktuelles Systemdatum | ${SYSDATE} | "\${SYSDATE}" | getDate() | sysdate |
Aktuelles Benutzerkürzel | ${SHORTCUT} | "\${SHORTCUT}" | Benutzer direkt angemeldet: '<Wert Benutzer-Kürzel>' | Benutzer direkt angemeldet: '<Wert Benutzer-Kürzel>' Benutzer in Stellvertretung: '<Wert Benutzer-Kürzel des Stellvertretenen>' |
Benutzerkürzel des angemeldeten Benutzers (nicht des Stellvertreters) | ${DEPUTYAGENTSHORTCUT} | "\${DEPUTYAGENTSHORTCUT}" | '<Benutzerkürzel des angemeldeten Benutzers>' | '<Benutzerkürzel des angemeldeten Benutzers>' |
Aktueller Benutzer Primärschlüssel | ${USERPK} | "\${USERPK}" | Benutzer direkt angemeldet: '<Wert Pk Benutzer>' Benutzer in Stellvertretung: '<Wert Pk des Stellvertretenen>' | Benutzer direkt angemeldet: '<Wert Pk Benutzer>' Benutzer in Stellvertretung: '<Wert Pk des Stellvertretenen>' |
Primärschlüssel des angemeldeten Benutzers (nicht des Stellvertreters) | ${DEPUTYAGENTPK} | "\${DEPUTYAGENTPK}" | '<Primärschlüssel des angemeldeten Benutzers>' | '<Primärschlüssel des angemeldeten Benutzers>' |
SessionId des angemeldeten Benutzers | ${SESSIONID} | "\${SESSIONID}" | '<SessionId des angemeldeten Benutzers>' | '<SessionId des angemeldeten Benutzers>' |
Feldabfrage auf IS NULL (nur in SQL-Ausdruck (Where-Part) nutzbar) | ${AttributeName~IS_NULL} ${SQL-Feld-Format~IS_NULL} | "\${AttributeName~IS_NULL}" | String-Feld CLOB-Feld andere Felder | CLOB-Feld andere Felder |
Feldabfrage auf IS NOT NULL | ${IS_NOT_NULL~AttributeName} ${SQL-Feld-Format~IS_NOT_NULL} | "\${AttributeName|~IS_NOT_NULL}" "\${SQL-Feld-Format~IS_NOT_NULL}" | String-Feld CLOB-Feld andere Felder | CLOB-Feld andere Felder |
Lesen von Nachschlage-Informationen aus dem aktuell angemeldeten Benutzer. Es muss sich um ein Feld aus der Mitarbeiter-Entität handeln | ${USERFIELD#<Mitarbeiter-Feldname>} | "\${USERFIELD#<Mitarbeiter-Feldname>}" "\${USERFIELD#Salutation}" | Herrn Test Heinz | Herrn Test Heinz |
Mandanten-Ausdruck aufnehmen (ab Version 20.2.x) Als erster Parameter ist der Tabellenname anzugeben, auf den sich die Prüfung bezieht, Je nach Mandantenzugehörigkeit wird das Ergebnis unterschiedlich aussehen | ${clientNoAddition(TabellenName, TabellenAliasName)} Beispiel: ${clientNoAddition(Project, pj)} | "\${clientNoAddition(TabellenName, TabellenAliasName)}" | Mandanten inaktiv Mandanten aktiv | Mandanten inaktiv Mandanten aktiv |
Rechteprüfung aufnehmen (ab Version 20.2.x) Als erster Parameter ist der Tabellenname anzugeben, auf den sich die Prüfung bezieht, Je nach Berechtigungsgruppen des Benutzers wird das Ergebnis unterschiedlich aussehen und kann auch mehrere Felder in der Tabelle Bitright addressieren. | ${rightAddition(TabellenName, RechteAliasName)} Beispiel: | "\${rightAddition(TabellenName, RechteAliasName)}" | ( coalesce( biRiPj.READRIGHT1, 0) & cast (1 as bigint)) > 0 | ( bitand ( coalesce( biRiPj.READRIGHT1, 0) , 1) > 0 ) |
Variablendefintion nutzten Es muss zunächst eine Variable definiert werden. Auf diese Variable kann dann Zugegriffen werden | ${<Variablen-Name>} |
Name | Funktion | Deklaration | Nutzung |
---|---|---|---|
Erweiterung der Variablendefinition | ${<Variablen-Name><Kennung>} | ||
Kennung #ddMMyy | ${<Variablen-Name>#ddMMyy} | Datefield Variable myDate ${myDate#ddMMyy} | Eingabe im Datefield: 05.01.2017 Ergebnis: 05.01.2017 |
Kennung #ddMMyyHmmss | ${<Variablen-Name>#ddMMyyHmmss} | Datefield Variable myDate ${myDate#ddMMyyHmmss} | Eingabe im Datefield: 05.01.2017 Ergebnis: 05.01.2017 00:00:00 |
Kennung #TS | ${<Variablen-Name>#TS} | Datefield Variable myDate ${myDate#TS} | Eingabe im Datefield: 05.01.2017 Ergebnis: {ts '2017-05-01 00:00:00.0' } |
Kennung #KEY | ${<Variablen-Name>#KEY} | Lookupfield Variable myVar ${myVar#KEY} | Eingabe im Lookupfield TEST (Key), 234r3(Pk) Ergebnis: TEST |
Kennung #PK (oder ohne Kennung) | ${<Variablen-Name>#PK} ${<Variablen-Name>} | Lookupfield Variable myVar | Eingabe im Lookupfield TEST (Key), 234r3(Pk) Ergebnis: 234r3 |
Beispiele
ISearchCondition searchCond1 = SearchUtils.createSearchCondition("FreeText1.Activity", SearchUtils.DB, "\${Subject.Activity}");