Datensatzscripts sind ein generischer Hook-Typ, der als Antwort auf ein Ereignis in einem Formular oder von anderen Hooks aufgerufen wird. Sie können ein Script schreiben, das benutzerdefiniertes Verhalten im Kontext eines Datensatzes ausführt. Die Scripts werden im Kontext des aktuell ausgewählten Datensatzes ausgeführt. Eine Datensatzscript-Subroutine bezieht sich speziell auf einen Satztyp.
In der Regel werden Datensatzscripts zum Implementieren einer Aktion verwendet, die als Reaktion auf das Klicken auf einen Druckknopf oder einen Kontextmenüeintrag ausgeführt wird, der einem bestimmten Feld in einem Formular zugeordnet ist. Beispielsweise kann ein Datensatzscript Daten über den aktuellen Datensatz an ein anderes System senden.
Sie haben drei Möglichkeiten, ein Datensatzscript auszuführen:
Beispielsweise ermöglicht das Datensatzscript 'Build_Properties' im Schema 'TeamTest' Benutzern das Anzeigen der Eigenschaften des ausgewählten Builds. Das Script ist einem Knopf zugeordnet, der das Script ausführt. Anschließend ruft das Datensatzscript 'Build_Properties' die Build-Informationen aus dem Rational ClearQuest-Depot ab und zeigt sie in einem Fenster an.
Alle Datensatzscripts verwenden dieselbe Syntax:
Function RecordName_HookName(param) ' param As Variant ' RecordName_HookName As Variant ' ... End Function
Beim Aufrufen eines Datensatzscripts von einem anderen Hook aus ist der an den Hook übergebene Parameter eine einfache Variante mit den entsprechenden Daten. Gibt der Hook Informationen an den aufrufenden Hook zurück, geben Sie diese Informationen in einer Variante zurück.
Bei Zuordnung zu einem Formularsteuerelement enthält der an die Methode übergebene Parameter eine Instanz der Klasse 'EventObject'. Diese Instanz enthält Informationen zu dem Ereignis, das zum Aufrufen des Hooks geführt hat. (Siehe Formularsteuerelementereignisse.) Rational ClearQuest erwartet keinen Rückgabewert von Datensatzscripts, die Formularsteuerelementen zugeordnet sind. Ein Rückgabewert ungleich null von einem Datensatz-Hook wird als Fehler interpretiert und kann vom Rational ClearQuest-Client in einem Nachrichtenfenster angezeigt werden.
Datensatzscripts können Druckknöpfen, Textfeldern und Listen zugeordnet werden. Bei Zuordnung zu einem Knopf wird nach Klicken auf den Knopf automatisch der Hook ausgeführt. Bei Zuordnung zu Textfeldern und listenbezogenen Steuerelementen wird der Hook zum Kontextmenü des Steuerelements hinzugefügt.
Sie können ein Datensatzscript auch einer Aktion vom Typ 'RECORD_SCRIPT_ALIAS' zuordnen. Diese Zuordnung gibt Ihnen die Möglichkeit, einen benutzerdefinierten Knopf in das Aktionsmenü eines Rational ClearQuest-Formulars einzufügen.
Rational ClearQuest Web prüft den Rückgabewert eines durch einen Druckknopf aufgerufenen Datensatzscripts. Ist der Rückgabewert eine Zeichenfolge, wird diese als Fehlernachricht interpretiert, und der Hook schlägt fehl.
Wenn Sie den Rückgabewert der Funktion des Datensatzscripts nicht explizit festlegen, wird ein Nullwert oder ein leerer Wert zurückgegeben, der anzeigt, dass der Hook erfolgreich ausgeführt wurde.
Wählen Sie zum Aktivieren von Datensatz-Hooks für das Web die Option 'Enable for web' auf der Registerkarte 'Extended' der Anzeige mit den Eigenschaften des Steuerelements aus.
In Rational ClearQuest Web werden Datensatz-Hooks auf dem Rational ClearQuest-Webserver ausgeführt. Wegen der Ausführung auf dem Server sollten Sie keine Windows-Routinen aufrufen, die das Anzeigen eines Fensters auslösen. Das Fenster würde auf dem Server und nicht auf dem Client angezeigt werden. Der Rational ClearQuest-Webserver legt beim Starten einer Serversitzung einen Wert 'Session.NameValue' mit der Bezeichnung 'CQ_WEB_SESSION' fest, damit Ihre Scripts für das Web aktiviert werden können.
Wenn ein Datensatzscript durch ein Formularsteuerelement ausgelöst wird, übergibt Rational ClearQuest ein Objekt 'EventObject' als Parameter an das Datensatzscript. Dieses Objekt enthält Informationen über den Typ des aufgetretenen Objekts. Verschiedene Steuerelemente können verschiedene Ereignistypen generieren (z. B. das Klicken auf einen Knopf, das Auswählen von Elementen usw.). Sie müssen anhand der Informationen im Objekt 'EventObject' festlegen, wie das Ereignis behandelt wird.
Für Formularsteuerelemente werden die folgenden Ereignistypen generiert:
Die folgende Tabelle enthält den für jedes Steuerelement unterstützten Ereignistyp und die vom Objekt 'EventObject' bereitgestellten Zusatzinformationen. Die in der Spalte für den unterstützten Ereignistyp aufgelisteten Konstanten sind Bestandteil des nummerierten Typs 'EventType'.
| Steuerelementtyp | Unterstützter Ereignistyp | Weitere Informationen |
|---|---|---|
| Druckknopf | AD_BUTTON_CLICK | Name des Knopfs |
| Kombinationsfeld | AD_CONTEXMENU_ITEM_SELECTION | Nullzeichenfolge |
| Dropdown-Listenfenster | AD_CONTEXMENU_ITEM_SELECTION | Nullzeichenfolge |
| Listenfenster | AD_CONTEXMENU_ITEM_SELECTION | Aktuelle Feldwertauswahl |
| Listensicht | AD_CONTEXMENU_ITEM_SELECTION | Aktuelle Feldwertauswahl |
| Textfeld | AD_CONTEXMENU_ITEM_SELECTION | Aktuelle Feldwertauswahl |
| Dropdown-Kombinationsfeld | AD_CONTEXMENU_ITEM_SELECTION | Nullzeichenfolge |