Während ein Datensatz geöffnet ist, gelten die folgenden vier Ausführungspunkte für Hooks:
Vor dem Festschreiben von Änderungen in der Datenbank oder wenn eine Validierung von einem ClearQuest Web- oder RCP-Client angefordert wird, validiert die Rational ClearQuest-Software den Datensatz. Diese Validierung erfolgt durch das Ausführen von Hooks in der folgenden Reihenfolge:
Sie können die Zugriffssteuerung für Aktionen ändern. Dies gilt auch für Aktionen, die durch das Anwenden von Paketen zu Ihrem Schema hinzugefügt wurden. Alle Begrenzungen der Zugriffssteuerung, die für Basisaktionen festgelegt werden, gelten auch für alle anderen Aktionen. Für verschachtelte Aktionen wird kein Hook für Zugriffssteuerung ausgeführt.
Wenn ein Hook für geänderten Feldwert die Methode "SetFieldValue" für das Objekt "Entity" aufruft, wird der Hook "VALUE_CHANGED" für dieses Feld ausgeführt, sobald "SetFieldValue" aufgerufen wird.
Bestimmte Hooks werden nicht ausgeführt, solange eine verschachtelte Aktion ausgeführt wird. Dies gilt für Hooks für Zugriffssteuerung und für alle Benachrichtigungs-Hooks. Weitere Informationen hierzu finden Sie in den Abschnitten Aktionen und Zugriffssteuerung und Hooks in verschachtelten Aktionen in der Veröffentlichung IBM Rational ClearQuest API-Referenz.
Wenn ein Benutzer einen Datensatz bearbeitet, werden die Hooks in folgender Reihenfolge ausgeführt:
Ist die Option Limit to list aktiviert und gibt der Benutzer einen nicht zulässigen Wert ein, wird das Feld als ungültig markiert. Nur wenn der Benutzer einen zulässigen Wert eingibt, wird der nächste Hook ausgeführt.
Wenn ein Hook für geänderten Feldwert die Methode "SetFieldValue" aufruft, um den Wert eines anderen Felds zu ändern, wird der Hook für geänderten Feldwert des anderen Felds sofort ausgeführt.
Wenn Sie abhängige Felder mit der Option Recalculate Choice list verwenden, wird zuerst der Hook für Feldvalidierung und danach der Hook für Feldauswahlliste ausgeführt, bis alle geänderten Felder festgelegt und validiert sind.
Feld-Hooks werden nur ausgeführt, wenn der Benutzer die Aktion "Submit" aufruft, es sei denn, das Feld ist als Feld mit abhängigen Feldern gekennzeichnet. Siehe Mit Hooks eine Websitzung erkennen.
Vor dem Festschreiben von Änderungen in der Datenbank validiert Rational ClearQuest den Datensatz. Diese Validierung erfolgt durch das Ausführen von Hooks in der folgenden Reihenfolge:
Der Hook für Festschreibung wird nach dem Aktualisieren der Datenbank mit den Änderungen des aktuellen Datensatzes, aber noch vor dem Festschreiben der Aktualisierungstransaktion in der Datenbank ausgeführt. Das bedeutet, ein Hook für Festschreibung kann nicht zum Ändern des aktuellen Datensatzes verwendet werden (z. B. können Sie mit einem Festschreibungs-Hook keine Änderungen an einem Feld vornehmen).
Die Verarbeitungsvorgänge in einem Hook für Festschreibung erfolgen, während Sperren in der Datenbank aktiv sind. Diese Sperren hindern möglicherweise andere Benutzer daran, Abfragen auszuführen, neue Datensätze zu erstellen oder vorhandene Datensätze zu ändern. Unter dem Leistungsaspekt ist es sinnvoll, die Verarbeitungsvorgänge in einem Hook für Festschreibung auf ein Minimum zu reduzieren.
Verwenden Sie einen Hook für Festschreibung nur für Aktionen an anderen Datensätzen, die Bestandteil derselben Datenbanktransaktion wie die Hauptaktion sein sollen (z. B. zum Beheben eines Fehlerduplikats, wenn der übergeordnete Fehler behoben wird). Stellen Sie sicher, dass die entsprechenden Aufrufe im richtigen Kontext stehen. Beispielsweise sollte Revert nicht aus einem Hook für Festschreibung und Commit nicht aus einer anderen Aktion als einem Hook für Festschreibung aufgerufen werden.
Nachdem ein Datensatz validiert wurde, wird er in der Datenbank festgeschrieben von Hooks, die in der folgenden Reihenfolge ausgeführt werden:
Weitere Informationen hierzu finden Sie im Abschnitt Vorhandenen Datensatz bearbeiten in der Veröffentlichung IBM Rational ClearQuest API-Referenz.