Datenkopieren mit Eltern-Kind-Beziehungen in Visiativ Process
In Visiativ Process begegnen Ihnen hauptsächlich zwei Fälle von Eltern-Kind-Beziehungen:
- Verwendung von dynamischen Tabellen
- Verwendung von Subprozess-Tabellen
Oft ist es notwendig Daten vom übergeordneten Element (einem Prozessdokument) in ein untergeordnetes Element (ein Subprozessdokument oder eine dynamische Tabellenzeile) zu kopieren.
Beispiel:
- Ein Abweichungsprozess dient der Dokumentation, Analyse und Behandlung dieser Abweichung
- Eine Subprozesstabelle ermöglicht das Auslösen von Korrektur- und Vorbeugemassnahmen
- Wir möchten, dass einige Daten (z. B. Art und Beschreibung des Problems, Analyseergebnisse usw.) auf dem Aktionsprozessdokument sichtbar sind
Die beiden im Folgenden vorgestellten Methoden erlauben es, diese Kopie der Daten im Rahmen einer Subprozesstabelle oder einer dynamischen Tabelle zu erstellen. Im letzten Teil werden wir die beiden Methoden vergleichen.
Methode 1: Verwendung von Inter-Ressource-Subscriptions
Eine Inter-Ressource-Subscription ist ein Datenfluss zwischen einem übergeordneten Dokument und einem untergeordneten Dokument. Die Verwaltung der Inter-Ressource-Subscriptions erfolgt im Visiativ Process Studio, auf der Ebene der Anwendung.
Wenn Sie eine neue Inter-Ressource-Subscription erstellen, müssen Sie ihm einen Namen geben. Dies ist ein Systemname und sollte keine Leerzeichen enthalten. Da eine Inter-Ressource-Subscription mit einer bestimmten Prozessversion verknüpft ist, empfehlen wir den Prozessnamen und die Versionsnummer in den Subscription-Namen aufzunehmen.
Sie müssen dann den ursprünglichen Prozess auswählen, zu dem das übergeordnete Dokument gehören soll.
Anschliessend müssen Sie den Zielprozess bzw. die dynamische Tabelle auswählen, zu dem das Zieldokument der Datenkopie gehören soll.
Achtung: Da eine Subscription mit bestimmten Prozessversionen verknüpft ist, dürfen Sie nicht vergessen die Subscriptions neu anzulegen, wenn Sie neue Versionen Ihrer Prozesse erstellen.
Sobald die Subscription erstellt ist, können Sie die Datenkopierregeln erstellen. Mit einer Regel können Sie das Quellfeld des übergeordneten Dokuments und das Zielfeld des untergeordneten Dokuments definieren.
Natürlich müssen die Quell- und Zielfelder vom gleichen Typ sein. Es ist möglich, mehrere Kopien von Feldern innerhalb derselben Subscription zu definieren.
Sobald dies geschehen ist, werden Ihre Felder aus dem übergeordneten Dokument automatisch in das untergeordnete Dokument kopiert.
Achtung: diese Kopie wird nur durchgeführt, wenn das untergeordnete Dokument aus dem übergeordneten Dokument erstellt wird. Wenn der Wert eines kopierten Feldes im übergeordneten Dokument nach der Erstellung des untergeordneten Dokuments geändert wird, behält das Feld im untergeordneten Dokument seinen ursprünglichen Wert.
Die Feldkopie wird im Back-end durchgeführt. So wird die Regel der Feldkopie sowohl durch die Erstellung von Dokumenten aus der grafischen Oberfläche heraus ausgeführt als auch durch die Ausführung bestimmter Entwicklungen, Webservice-Aufrufe oder die Erstellung von Dokumenten aus dem Visiativ ETL.
Methode 2: Verwendung der Formel
Um Felder aus dem übergeordneten Dokument in das untergeordnete Dokument zu kopieren, können Sie auch Formeln verwenden.
Zeigen Sie in Ihrem untergeordneten Dokument im Formular (dynamisches Tabellenformular oder Formular für den ersten Schritt des Prozesses) Ihre Zielfelder an. Setzen Sie diese Felder auf schreibgeschützt.
Füllen Sie in Ihren untergeordneten Feldern eine Formel mit der folgenden Formelsyntax:
iResource.parentInstance.values.parent_field_system_name
Ersetzen Sie parent_field_system_name durch den Systemnamen Ihres Feldes im übergeordneten Dokument.
Beispiel: iResource.parentInstance.values.sys_Reference
Wenn Sie Ihr Kind-Dokument erstellen, wird Ihr Formular angezeigt und die Formel wird ausgewertet. Jedes Mal, wenn Sie das untergeordnete Dokument öffnen, wird also der Wert des übergeordneten Dokuments kopiert. Das Kopieren erfolgt nicht nur zum Zeitpunkt der Erstellung.
Achtung: Die Formel wird auf dem Front-end ausgeführt. Wenn Dokumente durch Webservice, ETL oder andere spezielle Entwicklungen erstellt werden, werden sie nicht ausgewertet und die Feldkopie wird nicht durchgeführt.
Auch wenn sich der Wert des Feldes im übergeordneten Dokument ändert, muss das Formular des untergeordneten Dokuments geöffnet werden, damit der Wert im untergeordneten Dokument aktualisiert wird.
Hinweis: Weitere Formeln zur Verwendung auf Feldern finden Sie im Visiativ Process Designer Guide im Anhang “Beispiele für Variablen”.
Vergleich der zwei Methoden
Beide Methoden erlauben das Kopieren von Feldern, haben aber nicht die gleichen Funktionen. Nachfolgend finden Sie eine Übersichtstabelle:
Übersichtstabelle
Inter-Ressource-Subscription | Formel | |
---|---|---|
Ausführungsmodus | Back-end | Front-end |
Zeitpunkt der Kopie | Nur bei der Erstellung der Kind-Ressource | Sobald die Formel ausgewertet ist (Erfordert die Anzeige des Formulars, das das Feld enthält, auf dem die Kopierformeln platziert sind) |
Mit einer Version verknüpft? | Ja |
Nein Da die Formel auf einem Formularfeld platziert ist, wird sie automatisch dupliziert, wenn eine neue Prozessversion erstellt wird |
Vorteile |
|
|
Nachteile |
|
|
Die Inter-Ressource-Subscriptions sind der produkthistorische Weg, um diese Datenkopie zu erreichen. Die Möglichkeit Formeln zu verwenden kamen später. Diese letzte Methode ist moderner und wir raten Ihnen Ihre Feldkopien daher mit Formeln zu erstellen, wenn die Ausführungsbedingungen dies zulassen.
Autor des Artikels
Thomas Paumier, Business Consultant Manager bei Visiativ Solutions Switzerland