Die Frage, ob das ein Fehler ist, ist abhängig vom Standpunkt.
Aus Sicht des Herstellers ist dies kein Fehler, da eine Systemaktivität bei der Ausführung nicht einfach Zeilen in Untertabellen löschen darf. Das ist dann auch erst einmal grundsätzlich richtig, da die Systemaktivität nicht einfach alle Untertabellen leeren darf. Sie haben vielleicht Untertabellen im Prozess, die mit der Systemaktivität nichts zu tun haben und die demzufolge auch nicht geleert werden dürfen. Man könnte eventuell eine Konfiguration vorsehen, über die sich steuern lässt, wie die Systemaktivität mit den von ihr benutzten Untertabellen umgehen soll, aber das wäre eher ein Featurewunsch.
Um das Problem im JobRouter anzugehen, ist zunächst zu unterscheiden, wo der Fehler im Systemaktivitätsschritt aufgetreten ist.
Variante 1: Die Systemaktivität wurde korrekt ausgeführt und bei der Verarbeitung von Regeln ist ein Fehler aufgetreten. In diesem Fall sollte - nach der Korrektur - der Schritt nicht reaktiviert, sondern erneut gesendet werden. Diese Option steht ebenfalls im Menü der Schrittübersicht zur Verfügung. Damit wird nur das eigentliche Senden und damit verbunden die Regeln neu ausgeführt. Das Ergebnis der Systemaktivität bleibt unverändert.
Variante 2: Reaktivieren des Schrittes in der Schrittübersicht, weil es einen Fehler oder eine Konfigurationsänderung der Systemaktivität gab. Dabei wird sowohl die Systemaktivität als auch das Senden (inkl. Regeln) neu ausgeführt und es kommt ggf. zur beschriebenen Vervielfachung von Datensätzen in Untertabellen.
Um die Variante 2 sinnvoll zu behandeln, müssen Sie den vorherigen Schritt erneut senden oder ggf. auch reaktivieren. Damit beheben Sie grundsätzlich das Problem. Je nach Komplexität des Prozesses ist es aber nicht immer leicht, den vorherigen Schritt zu reaktivieren. Daher bietet sich ein möglicher Workaround an:
Setzen Sie vor die Systemaktivität einen leeren Entscheidungsschritt, den Sie z.B. mit "Reaktivierungspunkt" benennen. Dieser hat die Systemaktivität als Folgeschritt, alle vorherigen Pfade verweisen auf diesen Reaktivierungspunkt. Im Normalfall wird der Schritt unbemerkt durchlaufen. Sollte es in der Systemaktivität ein Problem geben, reaktivieren Sie den Schritt "Reaktivierungspunkt" und die Systemaktivität wird sauber ausgeführt.