Bibliothek
Grundlagen
Die Bibliothek eines BPM-Prozesses dient der Verwaltung externer Ressourcen, die in Prozessen verwendet werden – insbesondere:
Masken
Suchen
Variablen
Teilprozesse
Skriptklassen
Diese Informationen sind für die technische Modellierung relevant und unterstützen eine einheitliche, wartbare Prozessgestaltung. Sie ist erreichbar über den entsprechenden Button in der Toolbar des BPM-Prozesses.

Button zum Öffnen der Bibliothek in der Toolbar
Die Bibliothek bietet einen Überblick über alle im Prozess verwendeten Masken, Suchen und Variablen und die Möglichkeit, diese direkt zu bearbeiten. Die jeweiligen Gruppierungen können bei Bedarf aus- und eingeklappt werden.

Beispielhafte Bibliothek eines BPM-Prozess
Masken und Suchen
Masken und Suchen können aus anderen Prozessen dem aktuellen Prozess hinzugefügt werden. Dadurch lassen sich vorhandene Oberflächen und Suchdefinitionen wiederverwenden.
Verwendung und Auswirkungen von Änderungen
Bei einer Änderung von Masken oder Suchen wird geprüft, in welchen anderen Prozessen diese verwendet werden.
Abhängig vom Ergebnis dieser Prüfung kann die Bearbeitung ggf. abgebrochen werden, um unerwünschte Auswirkungen auf andere Prozesse zu vermeiden.
Wird eine Maske oder Suche erfolgreich bearbeitet und gespeichert, werden alle betroffenen Prozesse mit der Änderung markiert.
Die Änderung erscheint damit auch in deren Änderungs-Log.
Hinzugefügte Masken oder Suchen können bei Bedarf über das Kontextmenü wieder aus dem Prozess entfernt werden.
Standard- und Partnermodul-Elemente
Suchen und Masken aus dem CURSOR-Standard oder aus einem Partnermodul können unabhängig vom Prozess übersteuert werden. Beim Veröffentlichen des Prozesses wird jeweils die Definition aus der höchsten Customizing-Schicht geladen. Wird eine übersteuerte Suche oder Maske entfernt, kann dadurch der Ursprungszustand im Prozess wiederhergestellt werden.
Über die Bibliothek kann außerdem eine neue Suche angelegt werden.
Beim Erstellen einer neuen Suche aus dieser Maske heraus kann als Start-Entität nur eine Entität genutzt werden, die im Datenmodell des Prozesses enthalten ist. Ist das Datenmodell leer, ist der Button zur Neuanlage einer Suche entsprechend inaktiv.
Die in der Suche definierten Anzeigefelder werden den Anwendern später in der Ausführung angezeigt.
Um eine bestehende Maske in eine Prozessmaske zu wandeln, kann die Maske im CRM mit dem Maskeneditor geöffnet und als Datei gespeichert werden. Diese Datei kann als neue Prozessmaske über den Maskeneditor geladen werden. Einschränkung hierbei ist das ggf. vorhandene Maskenskript, dies kann nicht 1:1 übertragen werden.
Variablen
In der Bibliothek lassen sich Prozessvariablen definieren, die:
im Prozess selbst
insbesondere in Skripten (mit Autovervollständigung)
verwendet werden können.
Über „Neu“ wird eine neue Variable angelegt.
Eigenschaften von Variablen
Jede Variable verfügt mindestens über:
Name
Beschreibung
Datentyp
Verwendungstyp
Datentyp
Variablen werden initial mit dem Datentyp Object vorbelegt. Der Datentyp kann nachträglich geändert werden.
Typische Datentypen:
Object: universell verwendbar, keine EinschränkungPrimaryKey: speziell für Primärschlüssel, z. B. zur Auswahl von DatensätzenIContainer: ermöglicht automatische Datensynchronisierung zwischen Prozess und CRM-Systemweitere spezialisierte Typen je nach Einsatz
Der Datentyp schränkt teilweise die Verwendungsstellen ein (z. B. erwarten bestimmte Benutzeraktionen zwingend eine Variable vom Typ PrimaryKey). Bestehende Prozesse und Prozessvariablen können unverändert weiterverwendet werden.
In einem Skript kann einer Variable dennoch ein unpassender Datentyp zugewiesen werden. Die Typsicherheit kann weder beim Kompilieren noch zur Laufzeit im Groovy-Skript technisch erzwungen werden. Die Typangabe dient daher primär der Qualitätssicherung und besseren Unterstützung bei der Konfiguration.
Verwendungstyp
Der Verwendungstyp ist relevant u. a. für Ein- und Ausgabevariablen in Teilprozessen (z. B. Eingabeparameter, Ausgabeparameter, Ein-/Ausgabeparameter). Der Standard-Verwendungstyp ist „Prozessintern“.
Pflege und Korrektur
Variablen können über den Dreipunkte-Button in der Bibliothek nachbearbeitet werden. Der Name einer Variable kann nur geändert werden, wenn sie noch nicht verwendet wird. Nicht mehr benötigte Variablen können über den Dreipunkte-Button entfernt werden.
Verwendung in Skripten
Prozessvariablen stehen in Skripten über Autovervollständigung zur Verfügung (z. B. mit STRG + LEERTASTE). Dadurch werden Variablennamen registriert und Schreibfehler weitgehend vermieden.
Globale Variablen
Globale Variablen sind spezielle Variablen, die im CRM-System definiert und im Prozess verwendet werden können. Die Definition der globalen Variablen erfolgt in der Admin-Konsole. Sie dienen insbesondere der Verteilung von Customizing-Paketen und der systemabhängigen Konfiguration.
Globale Variablen können zwischen Test-, Abnahme- und Produktivsystem unterschiedliche Werte haben. Damit lassen sich z. B. im Prozess verwendete Einstellungen je Systemumgebung unterschiedlich konfigurieren, ohne den Prozess selbst ändern zu müssen.
Globale Variablen stehen erst nach entsprechender Systemkonfiguration zur Verfügung und werden üblicherweise im Rahmen des Customizings eingerichtet.
Datentyp und automatische Synchronisierung (IContainer)
Durch die explizite Zuweisung eines Datentyps zur Prozessvariablen ergeben sich zusätzliche Qualitäts- und Komfortfunktionen:
Bei der Variablenzuordnung in Teilprozessen kann die Typkompatibilität geprüft werden.
Variablen vom Typ
IContainerkönnen für eine automatische Datensynchronisierung zwischen Prozess und CRM genutzt werden.
Wird für eine Variable vom Typ IContainer in der Bibliothek die Eigenschaft „Automatisch synchronisieren“ aktiviert, kann diese im technischen Modell folgendermaßen verwendet werden:
Benutzer-Aktion
Einstellung „Detailmaske“:
„Automatisch aktualisieren“ (Standard: aktiviert)
„Automatisch speichern“ (Standard: aktiviert)
Eingehendes Nachrichten-Zwischenereignis
„Automatisch aktualisieren“ (Standard: aktiviert)
Zeitliches Zwischenereignis
„Automatisch aktualisieren“ (Standard: aktiviert)
Beispiele für Einschränkungen durch den Datentyp:
Benutzeraktionen, die einen Primärschlüssel benötigen, können nur noch Variablen vom Typ
PrimaryKeyaufnehmen.
Die technische Typsicherheit im Skript selbst wird dadurch nicht erzwungen, aber die Konfiguration im Modell wird deutlich robuster und konsistenter.