Skip to main content
Skip table of contents

DB

Typ


Versionshinweise

17.1

Web Client

Code

GROOVY
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.

NameFunktion (Suchmaske)Funktion als String (in Skripten)MSSQL-ErgebnisORACLE-Ergebnis

Setzen des Datenbank Aliasnamens im generierten SQL-Statement
${AttributeName}
${SQL-Feld-Format}

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}
${Activity.Subject}
"\${Subject.Activity}"
"\${Subject.Activity}"
Activity0.SubjectActivity0.Subject
String-Concatenation${+}"\${+}"+||
Aktuelles Systemdatum${SYSDATE}"\${SYSDATE}"getDate()sysdate
Aktuelles Benutzerkürzel${SHORTCUT}"\${SHORTCUT}"

Benutzer direkt angemeldet: '<Wert Benutzer-Kürzel>'
Benutzer in Stellvertretung: '<Wert Benutzer-Kürzel des Stellvertretenen>'

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}
${IS_NULL~AttributeName}

${SQL-Feld-Format~IS_NULL}
${IS_NULL~SQL-Feld-Format}

"\${AttributeName~IS_NULL}"

String-Feld
( Activity0.Subject IS NULL OR Activity0.Subject = '')

CLOB-Feld
( Activity0.Text IS NULL OR Activity0.Text LIKE '')

andere Felder
( Activity0.StartDate IS NULL )

CLOB-Feld
( Activity0.Text IS NULL OR NOT Activity0.Text LIKE '%')

andere Felder
( Activity0.StartDate IS NULL )

Feldabfrage auf IS NOT NULL
(nur in SQL-Ausdruck (Where-Part) nutzbar)

${IS_NOT_NULL~AttributeName}
${AttributeName~IS_NOT_NULL}

${SQL-Feld-Format~IS_NOT_NULL}
${IS_NOT_NULL~SQL-Feld-Format}

"\${AttributeName|~IS_NOT_NULL}"

"\${SQL-Feld-Format~IS_NOT_NULL}"

String-Feld
( Activity0.Subject IS NOT NULL AND Activity0.Subject <> '')

CLOB-Feld
( Activity0.Text IS NOT NULL AND NOT Activity0.Text LIKE '')

andere Felder
( Activity.StartDate IS NOT NULL )

CLOB-Feld
( Activity0.Text IS NOT NULL AND Activity0.Text LIKE '%')

andere Felder
( Activity0.StartDate IS NULL )

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 HeinzHerrn Test Heinz

Mandanten-Ausdruck aufnehmen (ab Version 20.2.x)

Als erster Parameter ist der Tabellenname anzugeben, auf den sich die Prüfung bezieht,
Als zweiter Parameter der genutzte Tabellen-Aliasname

Je nach Mandantenzugehörigkeit wird das Ergebnis unterschiedlich aussehen

${clientNoAddition(TabellenName, TabellenAliasName)}

Beispiel:
${clientNoAddition(Project, pj)}
"\${clientNoAddition(TabellenName, TabellenAliasName)}"

Mandanten inaktiv
( pj.ClientNo IS NULL OR pj.ClientNo <> 0 )

Mandanten aktiv
( coalesce( pj.ClientNo, 0) & cast (1 as bigint)) > 0

Mandanten inaktiv
( pj.ClientNo IS NULL OR pj.ClientNo <> 0 )

Mandanten aktiv
( bitand ( coalesce( pj.ClientNo , 0) , 1) > 0 )

Rechteprüfung aufnehmen (ab Version 20.2.x)

Als erster Parameter ist der Tabellenname anzugeben, auf den sich die Prüfung bezieht,
Als zweiter Parameter der genutzte Aliasname in die Tabelle Bitright (der join muss im Ausdruck über den rightPk erstellt werden)

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(Project, biRiPj)}

"\${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>}


NameFunktionDeklarationNutzung
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
${myVar}
${myVar#PK}

Eingabe im Lookupfield TEST (Key), 234r3(Pk)
Ergebnis: 234r3

Beispiele

GROOVY
ISearchCondition searchCond1 = SearchUtils.createSearchCondition("FreeText1.Activity", SearchUtils.DB, "\${Subject.Activity}");
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.