search
Versionshinweise | 12.1, 13.1, 17.1 |
---|
Code
IScriptWorkSpace WorkSpaceScriptUtils.search(String searchPlainKey, Serializable... values)
IScriptWorkSpace WorkSpaceScriptUtils.search(ISearch iSearch, Serializable... values)
Beschreibung
Führt die durch den Namen referenzierte Suche aus. Übergebene Suchparameter ersetzen in der Suche enthaltene Templates "Platzhalter (wird zur Laufzeit ersetzt)".
Diese Methode sollte nur eingesetzt werden, wenn anschließend schreibende Zugriffe auf dem Suchergebnis stattfinden sollen.
Hinweis
Falls die Suche SQL-Ausdrücke enthält, dann kann man deren Werte nicht aus dem Suchergebnis auslesen. Mit der Methode searchForRead geht das.
Parameter
searchPlainKey oder iSearch
- Der Name einer Suche oder ein ISearch Suchobjekt (ab Version 17.1).values
- Die Werte für die Bedingungen mit dem Template „Platzhalter (wird zur Laufzeit gesetzt)“.- Für jede Bedingung in der Suche mit dem Template „Platzhalter (wird zur Laufzeit gesetzt)“ muss genau ein Objekt übergeben werden.
- Für eine Bedingung mit dem Operator „ist einer von“ und „ist keiner von“ ist das zu übergebende Objekt eine Liste (Java-Datentyp
List
). - Bei Schlüsselfeldern und Nachschlagefeldern muss das Objekt (bzw. alle Elemente der Liste) vom Typ Nachschlagewert (
ILookup
) sein. Werte dieses Typs erhält man zum Beispiel mit Befehlen aus LookupUtils, oder aus Feldwerten. - Mit dem Objekt
WorkSpaceScriptUtils.NO_VALUE
wird der Platzhalter gezielt ignoriert. So kann man ein und dieselbe Suche sehr flexibel nutzen. - Ab Version 13.1 können Juhuuu-Felder über die Methode
WorkSpaceScriptUtils.getLuceneParameter()
gefüllt werden.
Rückgabe
Gibt ein Suchergebnis vom Typ IScriptWorkSpace
zurück.
Hinweis:
Die im IScriptWorkSpace
enthaltenen IContainer
sind nicht vollständig gefüllt. Sie enthalten die Daten, wie sie in einer Listenansicht im Client enthalten sind. Um diese bearbeiten und speichern zu können, muss der IContainer nochmals mit der Methode WorkSpaceScriptUtils.getEntry(IScriptWorkSpace ws,
int
pos)
geladen werden.
Beispiele
// Eine Suche ohne Suchparameter
IScriptWorkSpace ws = WorkSpaceScriptUtils.search("searchPlainKey");
// Drei Suchparameter, wobei der zweite den Operator "ist einer von" hat
IScriptWorkSpace ws = WorkSpaceScriptUtils.search("searchPlainKey", "Test", [1,2,3], 1.0);
// mit einer ISearch (ab Version 17.1)
ISearchCondition searchCond = SearchUtils.createSearchCondition("Subject.Activity", SearchUtils.LIKE, "Test");
ISearch iSearch = SearchUtils.createSearch("Activity", searchCond);
IScriptWorkSpace ws = WorkSpaceScriptUtils.search(iSearch);