Serienmailaktion
Grundlagen
Serienmails können – analog zu Serienbriefen – direkt aus einem BPM-Prozess heraus erstellt und auf dem Massendaten-Server verarbeitet werden. Dazu wird eine Massendaten-Aktion vom Typ „Serienmail“ verwendet.
In der Massendaten-Aktion können alle relevanten Einstellungen des Serienmail-Assistenten über Prozessvariablen vorbelegt werden, z. B.:
Vorlagenname
Suche
Betreff
Mailtext
Priorität
Anhänge
Mailkonfiguration
Nach Start des Prozesses wird der Serienmail-Assistent wie gewohnt als Systemjob in der Schnellstartleiste angezeigt. Der Anwender kann – je nach Konfiguration – noch Anpassungen vornehmen.
Die Konfiguration kann auch so gewählt werden, dass kein Assistent angezeigt wird und die Serienmailerstellung vollständig im Hintergrund erfolgt.
Der BPM-Prozess wird erst fortgesetzt, wenn die Serienmailverarbeitung abgeschlossen oder abgebrochen wurde.
Konfiguration und Vorbedingungen
Vor der Ausführung wird die Konfiguration geprüft. Ist diese nicht gültig (z. B. nicht existierende Serienmailvorlage), wird die Serienmailaktion nicht ausgeführt.
Alle fehlerhaften Konfigurationsparameter werden im Unterbereich „Massendatenprotokoll“ der Entität „Massendatenaktion“ protokolliert. Der Prozess wird anschließend fortgesetzt.
Fehler können damit nachträglich analysiert und die Konfiguration für zukünftige Ausführungen korrigiert werden.
Zusätzliche Vorbedingung (Mailkonfiguration)
Für den aktuellen Anwender muss eine Mailkonfiguration mit serverseitiger Groupwareanbindung verfügbar sein, entweder als:
benutzerspezifische Mailkonfiguration
systemspezifische Mailkonfiguration (Fallback, wenn keine benutzerspezifische greift)
systemweite Mailkonfiguration für Serienmails
Ist keine dieser Konfigurationen vorhanden bzw. gültig, gilt die Konfiguration als ungültig und die Serienmailaktion wird nicht ausgeführt.
Siehe hierzu auch die weiteren Hinweise zum Thema Mailkonfiguration im weiteren Verlauf des Artikels
Massendatenaktion-Variable
In einer definierten Prozessvariablen wird der Primärschlüssel des Protokollsatzes aus der Entität Massendatenaktion gespeichert. Aus diesem Datensatz können im weiteren Verlauf Informationen zur Serienmailerstellung ausgelesen werden (z. B. Ergebnisanzahl).
Serveraktionen (Steuerung des Assistenten)
Über die Serveraktion wird festgelegt, ob und inwiefern der Serienmail-Assistent und seine Aktionen im Hintergrund ausgeführt werden und dem Anwender angezeigt werden.
Verfügbare Serveraktionen:
Assistent öffnen
Der Assistent wird gemäß den Vorgaben vorkonfiguriert.
Er erscheint als Systemjob in der Schnellstartleiste.
Voreinstellungen können geändert, fehlende Eingaben ergänzt werden.
Suche ausführen und Assistent öffnen
Der Assistent wird vorkonfiguriert.
Die Suche wird direkt ausgeführt.
Der Assistent öffnet sich mit einem bereits vorhandenen Suchergebnis.
Anpassungen sind weiterhin möglich.
Alle gewählten Aktionen ausführen und Assistent öffnen
Der Assistent wird vorkonfiguriert und alle Aktionen werden direkt ausgeführt.
Der Assistent öffnet sich mit bereits ausgeführten Aktionen.
Es wird die letzte Seite des Assistenten mit einer Zusammenfassung der Serienmailaktion angezeigt.
Ausgeführte Aktionen:
Ausführung der Suche (immer)
Versenden der Mails (immer)
Generierung der Aktivitäten mit zugehöriger
.msg-Datei als Dokument (immer)
Alle gewählten Aktionen ausführen ohne Assistent öffnen
Der Assistent wird im Hintergrund konfiguriert und alle Aktionen werden vollständig im Hintergrund ausgeführt.
Es erfolgt keine Anzeige des Assistenten.
Nach Abschluss der Serienmailaktion wird der Prozess direkt fortgesetzt.
Vorlagenname (Serienmailvorlage)
In einer Prozessvariablen (z. B. docTemplateName) wird der Name der zu verwendenden Serienmailvorlage hinterlegt.
Prüfkriterien
Die Dokumentvorlage muss existieren und aktiv sein.
Die Dokumentvorlage muss vom Typ Serienmail sein.
Beispiel:
ProcessUtils.setVariable("docTemplateName", "SERIENMAIL");
Suche
Die Suche kann über eine Prozessvariable vom Typ ISearch vorbelegt werden.
Die Hauptsuche des Suchbehälters der Serienmailvorlage wird dann durch die übergebene Suche ersetzt. Ist die entsprechende Prozessvariable nicht belegt, wird die Originalsuche der Serienmailvorlage verwendet.
Prüfkriterien – mögliche Werte
leer / nicht belegt
Objekt des Typs
ISearch
Für eine gültige ISearch-Instanz müseen Entitätsname und Suchergebnisfelder mit denen der Hauptsuche des Suchbehälters der Serienmailvorlage übereinstimmen.
Beispiel:
// Laden der Hauptsuche des Suchbehälters
ISearch search = DocumentUtils.getMainSearch("SERIENMAIL");
SearchUtils.addSearchCondition(
search,
SearchUtils.createSearchCondition(
"TradeKey.Customer",
false,
true,
SearchUtils.EQUAL,
LookupUtils.toLookup("S_BRA-CB")
)
);
ProcessUtils.setVariable("search", search);
Mail-Betreff
In einer Prozessvariablen (z. B. mailSubject) kann der Betreff der zu versendenden Serienmail vorbelegt werden.
Prüfkriterien
Wird die Mailgenerierung direkt ausgeführt (Serveraktion = „Alle gewählten Aktionen ausführen …“), muss der Betreff gesetzt sein.
Ist der Betreff leer, muss er vom Anwender im Assistenten eingegeben werden (Pflichtangabe einer E-Mail).
Beispiel:
ProcessUtils.setVariable("mailSubject", "Rückwirkender Preisnachlass");
Mail-Text
In einer Prozessvariablen (z. B. mailBody) kann der Haupttext der Serienmail hinterlegt werden.
Prüfkriterien
Wird die Mailgenerierung direkt ausgeführt (mit oder ohne Assistent), muss der Mailtext gesetzt sein.
Ist der Parameter leer, muss der Text im Assistenten eingegeben werden (Pflichtfeld).
Wenn ein Text hinterlegt ist, muss er HTML-formatiert sein:
Beginn mit
<html>Ende mit
</html>
Beispiel:
ProcessUtils.setVariable(
"mailBody",
"<html><body>Wir freuen uns, Ihnen mitzuteilen, rückwirkend einen Rabatt in Höhe von 50% zu gewähren.</body></html>"
);
Mail-Priorität
In einer Prozessvariablen (z. B. mailPrio) kann die Priorität der Serienmail festgelegt werden.
Prüfkriterien – mögliche Werte
(Groß- und Kleinschreibung wird ignoriert)
leer / nicht belegt → Defaultwert „Normal“
LowNormalHigh
Beispiel:
ProcessUtils.setVariable("mailPrio", "High");
ProcessUtils.setVariable("mailPrio", "HIGH");
Dokumentation: Generiere Einzelaktivitäten
Um den Versand der Serienmail bei den jeweiligen Ansprechpartnern im CRM einsehen zu können, wird über eine Boolean-Variable (z. B. multipleActivities) gesteuert, ob:
pro Mail eine eigene Aktivität generiert wird
odereine gemeinsame Aktivität für die gesamte Serienmailaktion.
Beispiel:
ProcessUtils.setVariable("multipleActivities", true);
Interne Dokumente (Anhänge aus dem CRM)
In einer Prozessvariablen (z. B. internalDocuments) kann eine Liste interner Dokumente definiert werden, die als Anhänge an die Serienmails gehängt werden.
Prüfkriterien – mögliche Werte
leer / nicht belegt → es werden keine intern gespeicherten Dokumente angehängt.
Liste von Primärschlüsseln (Strings) von Dokumenten
Alle Listeneinträge müssen vom Typ String sein.
Zu jedem Primärschlüssel muss ein aktiver Dokumentendatensatz existieren.
Das Dokument darf nicht ausgeliehen sein (nicht in Bearbeitung).
Beispiel:
List documentPks = new ArrayList();
documentPks.add("M1be0hpk70MAS2Do");
documentPks.add("M1be0hpk70MAS1Do");
ProcessUtils.setVariable("internalDocuments", documentPks);
Externe Dokumente (Dateisystem-Anhänge)
In einer Prozessvariablen (z. B. externalDocuments) kann eine Liste externer Dateien angegeben werden, die an die Serienmails angehängt werden.
Prüfkriterien – mögliche Werte
leer / nicht belegt → es werden keine externen Dateien angehängt.
Liste von vollständig qualifizierten Dateinamen (Strings)
Alle Einträge müssen vom Typ String sein.
Jede angegebene Datei muss existieren.
Der Massendaten-Applikationsserver muss Zugriff auf diese Dateien haben.
Beispiel:
List documentFiles = new ArrayList();
documentFiles.add("c:\\Temp\\2307.txt");
documentFiles.add("c:\\Temp\\Eclipse.jpg");
ProcessUtils.setVariable("externalDocuments", documentFiles);
Typ der Mailkonfiguration (Absender)
Über die Mailkonfiguration wird der Absender der Serienmail definiert. Folgende Varianten sind möglich:
Benutzerspezifische Mailkonfiguration (ausschließlich)
Es wird die im Mitarbeiter hinterlegte Mailkonfiguration verwendet
Feld: „Groupware Web Client“ (WebGroupwareKey.Employee)
Systemweite Mailkonfiguration für Serienmails (ausschließlich)
Es wird die in den Systemeinstellungen hinterlegte Serienmail-Mailkonfiguration verwendet.
Benutzerspezifische Mailkonfiguration (bevorzugt)
Die benutzerspezifische Mailkonfiguration am Mitarbeiter wird bevorzugt verwendet.
Ist diese leer oder nicht für serverseitige Groupware konfiguriert, wird die systemweite Serienmailkonfiguration verwendet.
Systemweite Mailkonfiguration für Serienmails (bevorzugt)
Die systemweite Serienmailkonfiguration wird bevorzugt verwendet.
Ist diese leer oder nicht geeignet, wird die benutzerspezifische Mailkonfiguration vom Mitarbeiter (Feld „Groupware Web Client“) verwendet.
AB 2025.5 Feste Mailkonfiguration
Über eine Prozessvariable kann eine feste Mailkonfiguration (Primärschlüssel der Mailkonfiguration) vorgegeben werden.
Diese Konfiguration hat immer Vorrang.
Im Assistenten ist die Auswahl der Mailkonfiguration inaktiv; der Anwender kann sie nicht ändern.
Prüfkriterium:
Zu dem angegebenen Primärschlüssel muss eine Mailkonfiguration existieren.
In allen Varianten gelten zudem folgende Prüfkriterien:
Die hinterlegte Mailkonfiguration darf nicht leer sein
In der Mailkonfiguration muss die serverseitige Groupwareanbindung aktiviert sein.
Ausführung und Nachbearbeitung
Die Ausführung der Serienmailaktion erfolgt analog zur Serienbriefaktion:
Zunächst wird die Konfiguration validiert.
Bei erfolgreicher Prüfung wird die Serienmailaktion gestartet.
Je nach Serveraktion:
wird ein Teil der Aktionen im Hintergrund auf dem Massendatenserver ausgeführt
und/oder der Serienmail-Assistent wird entsprechend vorkonfiguriert dem Anwender als Systemjob angezeigt.
Für eine Nachbearbeitung im Prozess stehen die Größe der Selektionsergebnismenge (z. B. Anzahl gesendeter Mails) und der Datensatz in Massendatenaktion zur Verfügung.
Weitere detaillierte Informationen (z. B. zu einzelnen Mails) stehen in der Regel nur begrenzt für eine direkte, prozessseitige Weiterverarbeitung zur Verfügung.