Ausführen als
Ereignisaktion - Kurzfassung
Ändert den Anmeldekontext vorübergehend, um einen Block von Ereignisaktionen auszuführen.
Die Ereignisaktion Ausführen als definiert vorübergehend einen abweichenden Anmeldekontext (mit den Merkmalen Benutzer, Rolle, Firma) für die Ausführung eines Blocks von Ereignisaktionen.
In der Konfiguration nicht explizit spezifizierte Merkmale, werden aus dem bisherigen Anmeldekontext übernommen. Der Anmeldekontext geht ursprünglich entweder auf die aktuelle interaktive Sitzung oder ein per Schnittstelle definiertes Lobster_data Login zurück. Der bisherige Anmeldekontext berücksichtigt aber ggf. vorherige Verwendungen von Ausführen als, sofern diese im Kontext der aktuellen Verwendung noch anwendbar sind. Einerseits kann Ausführen als innerhalb derselben Ereignisbehandlung durch "Verschachteln" kaskadierend eingesetzt werden (s. Beispiel unten). Andererseits gilt der abweichende Anmeldekontext auch für Ereignisse, die z. B. per Eigenes Aktionsevent auslösen (Aktion) im Ausführen als-Block ausgelöst werden. Dadurch kann sich eine Kaskade von Ausführen als-Ereignisaktionen, die den Anmeldekontext ggf. stufenweise anpasst, auch über unterschiedliche Ereignisbehandlungen erstrecken.
Der abweichende Anmeldekontext wirkt sich während der Ausführung der Ereignisaktionen im Ausführen als-Block auf folgende Aspekte aus:
Zugriffsberechtigungen (abhängig von der verwendeten Rolle oder auch dem Zusammenspiel von Besitz/Firma und Firmenfreigaben)
Rückgabewerte von Regeln und Wertauflösern, die sich unmittelbar auf die Sitzungsparameter "Benutzer", "Firma" und "Rolle" beziehen:
direkt zu diesen korrespondierende Daten im Rückgabewert von Info der Session
Zuweisungen für die Felder "Besitzer" (ownerId), "Erstellt von" (creatorId) und "Zuletzt geändert von ID" (lastModifierId) beim Erstellen von Entitäten (s. folgender Hinweis)
►HINWEIS◄ Im Unterschied zum Erstellen schlägt beim Ändern von Entitäten immer der ursprüngliche Anmeldekontext durch, wenn das Feld "Zuletzt geändert von ID" (lastModifierId) ausgefüllt wird. Allerdings ist für die vorherige Prüfung der Zugriffsberechtigung für das Ändern trotzdem der im Kontext der Ausführen als-Ereignisaktion anwendbare abweichenden Anmeldekontext ausschlaggebend.
ACHTUNG
Die folgenden Aspekte werden durch den abweichenden Anmeldekontext in einer Ausführen als-Ereignisaktion ausdrücklich nicht beeinflusst:
Sprache: Die Sprache der originären Anmeldung, mit der die laufende Client-Sitzung tatsächlich gestartet wurde, unverändert als Aktuelle Sprache.
Default-Zeitzone: Optionale Einstellungen für die Default-Zeitzone werden ausschließlich vom Benutzerkonto und/oder Firmenkonto der originären Anmeldung (mit dem Stand zum Zeitpunkt des Logins!) berücksichtigt.
Sobald die innerhalb eines Ausführen als-Blocks angestoßenen Abläufe komplett abgearbeitet sind, fällt der Kontext automatisch wieder auf den vorher gültigen Anmeldekontext zurück.
Konfiguration
Die Parameter Als Benutzer, Als Rolle und Als Firma können optional verwendet werden, um Abweichungen vom bisherigen Anmeldekontext durch statische Zuweisungen selektiv zu übersteuern. Im obigen Beispiel werden die Rolle und die Firma übersteuert, während der Benutzer aus dem bisherigen Anmeldekontext beibehalten wird.
Beim Konfigurieren sind dabei immer nur die Benutzer, Rollen und Firmen zur Auswahl, für die innerhalb der Sitzung mindestens Lesezugriff besteht. Verweist die Auswahl in einer bestehenden Konfiguration auf ein in der aktuellen Sitzung nicht verfügbares Ziel erscheint dieses als "versteckt", wie oben für den Parameter Als Rolle dargestellt. Der bestehende Wert kann unverändert beibehalten, durch eine der effektiv auswählbaren Optionen ersetzt oder auch gelöscht werden. Es ist dagegen nicht möglich, eine "versteckte Option" innerhalb derselben Bearbeitungssitzung zuerst ab- und dann wieder auszuwählen.
►HINWEIS◄ Im Unterschied zu einem interaktiven Anmeldevorgang verzichtet die Ausführen als-Ereignisaktion nicht nur auf die Passworteingabe sondern außerdem auf folgende Überprüfungen für den effektiv anwendbaren abweichenden Anmeldekontext:
Ob das im Parameter Als Benutzer ausgewählte Konto "Aktiv" (s. Benutzer) - also für eine interaktive Anmeldung verfügbar - ist, wird nicht überprüft.
Ob eine Firma oder Rolle dem effektiv damit kombinierten Benutzer per Feld "Firmen" bzw. "Rollen" (s. Benutzer) explizit zugewiesen - also für eine interaktive Anmeldung verfügbar - ist , wird nicht überprüft.
Im Ausführen als-Block unterhalb der Parameter können Ereignisaktionen über das
-Symbol (s. oberer Screenshot) hinzugefügt werden.
Beispiel
Eine Ereignisbehandlung soll beim "Erstellen" (s. Allgemein (Ereignisse)) von Geschäftsobjekten des Typs Bestellungen prüfen, ob die dabei im Referenzattribut "Beleg-Nr." angegebene Referenznummer im Kundenkreis der übergeordneten Firma "Xflow AG" bereits "aktenkundig" ist oder nicht. Abhängig davon, ob eine Bestellung als Duplikat zu einer bereits erstellten Bestellung eingestuft wird oder nicht, sollen spezifische weitere Schritte erfolgen werden, die im gegebenen Kontext nur mit den Berechtigungen der Rolle "Super user limited" zuverlässig ausführbar sind.
Es ist wichtig zu berücksichtigen, dass die aktuell angemeldete Firma, auf deren Veranlassung eine neue Bestellung erstellt werden soll, nicht unbedingt über den für diese Prüfung erforderlichen Lesezugriff auf sämtliche hinsichtlich der "Beleg-Nr." möglicherweise konkurrierenden Bestellungen verfügt. Dieser soll im gegebenen Beispiel nur für die übergeordnete Firma ("Xflow AG") gewährleistet sein, aus deren Perspektive die Auswertung deshalb erfolgen muss.
Im Beispiel rechts wird die Ereignisaktion Ausführen als kaskadierend in zwei Stufen eingesetzt:
|
|