adaptSearchForMassDataResult
Versionshinweise | 18.2 |
---|
Code
ISearch adaptSearchForMassDataResult(ISearch search, String massDataTaskPk, String joiningAttributeName, Map<String, String> mdResultMapping, boolean successfulSerialMails);
Beschreibung
Erweitert die übergebene Suche um die angeforderten Felder aus der Massendaten-Tabelle der angegebenen Massendatenaktion.
Parameter
- search - Die anzupassende Suche.
- massDataTaskPk - Der Primärschlüssel der Massendatenaktion.
- joiningAttributeName - Der vollständige Attributename mit Pfadbeschreibung für das Verknüpfungsattribut. Dieser muss auch ein Feld aus der Hauptentität der übergebenen Suche sein.
- mdResultMapping - Die Map enthält die Informationen zu den Feldern des Suchergebnisses der Massendatenaktion zu den Ergebnisfeldern in der angegebenen Suche.
Als Schlüssel wird der vollständige Attributename mit Pfadbeschreibung für das Ergebnisfeld angegeben.
Als Wert ist ein zum Datentyp passendes Feld aus der Hauptentität der Suche zu übergeben. - successfulSerialMails - Optionaler Parameter, der nur im Fall einer Serienmail zum Tragen kommt.
true nur Ergebnisse mit SendStatus = -1 werden zurückgeliefert (erfolgreich versandt, Standard)
false nur Ergebnisse mit SendStatus <> -1 werden zurückgeliefert (nicht erfolgreich versandt)
Rückgabe
Ein Klon der übergebenen Suche, erweitert um die angeforderten Felder
Beispiele
SearchCondition pkCond = SearchUtils.createSearchCondition("Pk.ContactPerson", SearchUtils.NO_CONDITION);
SearchCondition activeCond = SearchUtils.createSearchCondition("Active.ContactPerson", SearchUtils.EQUAL, true);
ISearch search = SearchUtils.createSearch("ContactPerson", activeCond);
SearchUtils.addSearchCondition(search, pkCond);
// Serienbrief mit Einzeldokumenten
String massDataTaskPk = "<PK einer Massendatenaktion>";
String joiningAttributeName = "ADR.Pk.ContactPerson";
Map<String, String> mdResultMapping = new HashMap<>();
mdResultMapping.put("AD-Customer+rEmployeeSales_Customer.AcademicTitle.Employee", "Freetext1.ContactPerson");
mdResultMapping.put("Ansprech.LastName.ContactPerson", "Freetext2.ContactPerson");
mdResultMapping.put("Ansprech.FirstName.ContactPerson", "Freetext3.ContactPerson");
ISearch modified = MassDataUtils.adaptSearchForMassDataResult(search, massDataTaskPk, joiningAttributeName, mdResultMapping);
WorkSpaceScriptUtils.searchForRead(modified);