Hooks in verschachtelten Aktionen

Verschachtelte Aktionen unterscheiden sich von primären Aktionen dadurch, dass Zugriffssteuerungs- und Benachrichtigungs-Hooks für diesen Aktionstyp nicht ausgeführt werden.

Der Zugriffssteuerungs-Hook wird nicht ausgeführt, wenn ein Hook eine verschachtelte Aktion startet. Da alle Hooks mit Superuser-Berechtigung ausgeführt werden, ist bereits die höchste Berechtigungsstufe (SuperUser) erreicht. Deshalb ist es nicht erforderlich, den Zugriffssteuerungs-Hook für die verschachtelte Aktion auszuführen.

Der Zugriff auf eine verschachtelte Aktion wird auch dann erteilt, wenn kein Zugriffssteuerungs-Hook ausgelöst wird.

Benachrichtigungs-Hooks werden für eine verschachtelte Aktion nicht standardmäßig ausgeführt. Benachrichtigungs-Hooks werden zum Senden von E-Mails verwendet. Würde von jeder verschachtelten Aktion eine E-Mail gesendet, wäre das Ergebnis eine große Anzahl E-Mails für einen Vorgang, den der Benutzer als eine Aktion ansieht. Sie können dieses Verhalten außer Kraft setzen und die Ausführung von Benachrichtigungs-Hooks durch verschachtelte Aktionen zulassen, indem Sie die Sitzungsvariable CQHookExecute auf den Wert 1 setzen.

Die Sitzungsvariable CQHookExecute kann mit dem folgenden Code gesetzt werden:

Innerhalb eines Festschreibungs-Hooks wird die Festschreibung auf Datenbankebene nicht ausgeführt, wenn die verschachtelte Aktion festgeschrieben ist, sondern mit der Festschreibung der äußeren Ebene kombiniert, sodass alle Änderungen als eine atomare Transaktion eingefügt werden.

Bei allen anderen Hook-Typen wird die verschachtelte Aktion unabhängig von der Festschreibung der äußeren Ebene auf Datenbankebene festgeschrieben. Die einzige Möglichkeit, die in einer verschachtelten Aktion vorgenommenen Änderungen mit den Änderungen an der Aktion der obersten Ebene in einer einzigen Datenbanktransaktion zu kombinieren, besteht darin, die verschachtelte Aktion in einen Festschreibungs-Hook einzufügen.

Informationen zur Ausführungsreihenfolge von Hooks und dem Zeitpunkt der Festschreibung eines Datensatzes finden Sie in der Onlinehilfe für Schema-Entwickler von Rational ClearQuest. Lesen Sie zum Setzen von Feldwerten die Informationen zur Methode SetFieldValue des Entity-Objekts.


Feedback