Der lokale Zeichensatz ist die Gruppe der Zeichen, die in der Befehlszeilen-Shell des Clientbetriebssystems eingegeben oder angezeigt werden können. Auf dem UNIX-System wird der lokale Zeichensatz durch die Umgebungsvariable LANG gesteuert. Unter Windows wird er mit den Einstellungen der Regions- und Sprachoptionen gesteuert.
In Versionen von Rational ClearQuest vor Version 7.0 waren Schreiboperationen nur dann zulässig, wenn der lokale Zeichensatz mit der Rational-ClearQuest-Datencodepage übereinstimmte. Waren die Einstellungen nicht identisch, wurden nur Leseoperationen zugelassen. Der Nur-Lesen-Modus war erforderlich, weil diese Rational-ClearQuest-Anwendungen nicht die Rational-ClearQuest-Datencodepage für die Datenbankgruppe, sondern den lokalen Zeichensatz des Clients oder Webservers verwenden, um Daten in die Datenbank zu schreiben.
Ab Version 7.0 verarbeitet Rational ClearQuest Daten in Unicode, und die Anwendungen verwenden an Stelle des lokalen Zeichensatzes die Rational-ClearQuest-Datencodepage, um Daten in die Datenbanken zu schreiben. Diese Anwendungen können sogar dann eine Verbindung zur Rational-ClearQuest-Datenbank im Schreib-/Lesemodus herstellen, wenn der lokale Zeichensatz nicht mit der Rational-ClearQuest-Datencodepage übereinstimmt.
Der Zeichensatz der Anbieterdatenbank wird bei Oracle als character set oder als charset (beides "Zeichensatz), für IBM DB2 als code page (Codepage) oder code set (codierter Zeichensatz) und bei SQL Server code page (Codepage) oder collation (Sortierung) genannt.
Beginnend mit Rational ClearQuest Version 7.1.1 können Sie für Oracle- und DB2-Datenbankgruppen eine Ratinal-ClearQuest-Datencodepage in UTF-8 auswählen. Eine UTF-8-Datencodepage ermöglicht die Speicherung mehrsprachiger Zeichen in Benutzerdatenbanken. Wenn Sie UTF-8 als Datencodepage angeben, arbeiten Sie mit einer Implementierung mit gemischten lokalen Zeichensätzen, es sei denn die lokale Codepage des Betriebssystems ist ebenfalls UTF-8. Letzteres ist keine Option auf Windows-Systemen.
Scripts und Hooks, die für eine Implementierung mit gemischten lokalen Zeichensätzen oder für eine Umgebung mit mehrsprachigen UTF-8-Datenbanken geschrieben werden, müssen ClearQuest-Zeichendaten verarbeiten, die möglicherweise im lokalen Zeichensatz nicht enthalten sind. Diese Scripts und Hooks müssen mit einer Unterstützung von Unicode codiert sein, damit die beschriebene Funktionalität in solchen Umgebungen voll genutzt werden kann.
Designer enthält nun eine neue Einstellung namens Unicode Aware. Für Version 7.0 geschriebene Hooks können angeben, ob die Zeichenfolgen, die von Aufrufen der Rational-ClearQuest-API zurückgegeben werden, nur Zeichen im lokalen Zeichensatz enthalten dürfen (RETURN_STRING_LOCAL) oder aber aus beliebigen Unicode-Zeichen bestehen können (RETURN_STRING_UNICODE). Außerdem sind neue API-Funktionen verfügbar, mit denen der Modus für Rückgabezeichenfolgen gesteuert werden kann. Im Modus RETURN_STRING_LOCAL gibt ein API-Aufruf eine Ausnahmebedingung zurück, wenn die Rückgabezeichenfolge Zeichen enthält, die mit dem lokalen Zeichensatz nicht dargestellt werden können. Im Modus RETURN_STRING_UNICODE gibt ein API-Aufruf alle Zeichen ohne Fehler zurück.
Um sicherzustellen, dass Hooks und Scripts alle Daten in einer Implementierung mit gemischten Zeichensätzen oder einer UTF-8-Implementierung verarbeiten, müssen Sie den Modus auf RETURN_STRING_UNICODE setzen und die möglicherweise zurückgegebenen Unicode-Zeichen korrekt verarbeiten. Es ist jedoch noch nicht ausreichend, lediglich den Modus für Rückgabezeichenfolgen auf RETURN_STRING_UNICODE zu setzen. Zusätzlich müssen Sie prüfen, ob Ihr Code Unicode-Zeichen korrekt verarbeiten kann. Die im Folgenden aufgeführten Richtlinien sind hilfreich. Letztlich ist es jedoch erforderlich, dass Sie die geeigneten Unicode-Programmiertechniken für die Scripting-Sprache verwenden.
Bei einem Upgrade auf Version 7.0 haben diese Änderungen keine Auswirkung auf ein vorhandenes Schema, wenn alle lokalen Zeichensätze in der Umgebung mit der Rational-ClearQuest-Datencodepage übereinstimmen, was in älteren Versionen üblich war. Der Standardmodus ist RETURN_STRING_LOCAL. Dieser Modus ermöglicht Hooks und Scripts bei solchen Umgebungen dieselbe Funktionsweise wie zuvor.
Wenn Sie Version 7.0 in einer Umgebung implementieren, in der lokale Zeichensätze nicht mit der Rational-ClearQuest-Datencodepage übereinstimmen, müssen Sie sicherstellen, dass Ihre Scripts Unicode-Zeichensätze für Rational-ClearQuest-Software verarbeiten könnnen, den Rückgabemodus auf RETURN_STRING_UNICODE setzen und für Pakete ein Upgrade auf Version 7.0 durchführen. Eine Liste der Rational-ClearQuest-Pakete, die Unicode unterstützen, finden Sie in Tabelle 1. Scripts, die Unicode nicht verarbeiten können, werden zwar ausgeführt, aber es wird ein Fehler zurückgegeben, wenn das System versucht, Zeichendaten an das Script zurückzugeben, die nicht im lokalen Zeichensatz enthalten sind. Solche Scripts können eingesetzt werden, solange die von ihnen verarbeiteten Daten auf den lokalen Zeichensatz des Clients oder des Webservers beschränkt bleiben.
Paket | Modus für Rückgabezeichenfolgen |
---|---|
AMWorkActivitySchedule | RETURN_STRING_UNICODE |
ATStateTypes | RETURN_STRING_UNICODE |
Attachments | RETURN_STRING_UNICODE |
AuditTrail | RETURN_STRING_UNICODE |
BTStateTypes | RETURN_STRING_UNICODE |
BuildTracking | RETURN_STRING_UNICODE |
CQTM | RETURN_STRING_UNICODE |
Customer | RETURN_STRING_UNICODE |
DeploymentTracking | RETURN_STRING_UNICODE |
DTStateTypes | RETURN_STRING_UNICODE |
RETURN_STRING_UNICODE | |
EnhancementRequest | RETURN_STRING_UNICODE |
eSignature | RETURN_STRING_UNICODE |
History | RETURN_STRING_UNICODE |
Notes | RETURN_STRING_UNICODE |
Project | RETURN_STRING_UNICODE |
Resolution | RETURN_STRING_UNICODE |
TPM | RETURN_STRING_UNICODE |
ClearQuest verarbeitet alle Daten als Unicode-Zeichen. Schema-Hooks (Perl und Visual Basic) und andere Anwendungen oder Integrationen der Rational-ClearQuest-API sind jedoch möglicherweise nicht für die Verarbeitung von Unicode-Zeichen codiert. In Version 7.0 kann dieses Problem mit dem Modus für die Rückgabezeichenfolge gelöst werden. Für Hook-Code kann im Script-Editor von Rational ClearQuest Designer die Einstellung Unicode Aware festgelegt werden. Damit wird festgelegt, dass das Script im Modus RETURN_STRING_UNICODE für Rückgabezeichenfolgen ausgeführt wird. (Wählen Sie hierzu das Markierungsfeld Unicode Aware aus.) Es besteht die Möglichkeit, die Methode SetPerlReturnStringMode oder SetBasicReturnStringMode mit Scripts aufzurufen, um den Modus für Rückgabezeichenfolgen auf RETURN_STRING_UNICODE zu setzen.
Durch den Modus für Rückgabezeichenfolgen wird die Zeichendarstellung bei der Rückgabe von Zeichen durch die Rational-ClearQuest-API für Perl oder COM entweder eingeschränkt (RETURN_STRING_LOCAL) oder in vollem Umfang zugelassen (RETURN_STRING_UNICODE) .
Es hat sich bewährt, Hooks und Scripts zu schreiben, die Unicode-Zeichen verarbeiten können. RETURN_STRING_LOCAL wird als Standardmodus für Rückgabezeichenfolgen bereitgestellt, damit vorhandene Hooks und Scripts aus älteren Versionen von ClearQuest unverändert ausgeführt werden können. Selbst wenn Sie Unicode gegenwärtig nicht benötigen, sollten Sie vorhandene Hooks und Scripts dennoch nach und nach modifizieren, damit diese im Modus RETURN_STRING_UNICODE verwendet werden können.
In Schritt 2 wird standardmäßig eine Ausnahmebedingung ausgelöst, wenn das Rational-ClearQuest-API-Script eine Zeichenfolge mit Zeichen zurückgibt, die nicht im lokalen Zeichensatz enthalten sind. Die Ausnahmebedingung dient dazu, fehlerhafte Daten zu verhindern. Nachdem Sie geprüft und festgestellt haben, dass der Code Unicode-Zeichen verarbeiten kann, können Sie den Modus für Rückgabezeichenfolgen auf RETURN_STRING_UNICODE setzen. Hierzu verwenden Sie entweder die Rational-ClearQuest-API oder den Script-Editor von Designer. Wenn Sie diese Änderung vornehmen, gibt die Rational-ClearQuest-API für Perl in Schritt 2 die Feldwertzeichenfolge als UTF8 (UNICODE) zurück, falls die Zeichenfolge Daten umfasst, die nicht im lokalen Zeichensatz enthalten sind. Die Rational-ClearQuest-API für VBScript, Visual Basic oder COM gibt uneingeschränkt Unicode-Zeichen zurück. Zeichen, die im lokalen Zeichensatz nicht darstellbar sind, können dann an den Hook bzw. das Script zurückgegeben werden, damit sie als Unicode-Zeichen verarbeitet werden.
Im Modus RETURN_STRING_LOCAL können Operationen wie beispielsweise die Ausführung von Abfragen stattfinden, wobei die Abfrageergebnisse Unicode-Zeichen enthalten können. Eine Ausnahmebedingung wird nur dann generiert, wenn Daten von einer Methode der Rational-ClearQuest-API aus dieser Ergebnisliste extrahiert werden und die vom API-Aufruf zurückgegebenen Zeichen nicht den lokalen Zeichensatz verwenden. Beispielsweise kann eine Integration oder eine externe Anwendung eine Änderungsanforderung verarbeiten, wenn die Daten, die an die Integration zurückgegeben werden, nur Zeichen aus dem lokalen Zeichensatz enthalten. Der Integrationscode muss die Ausnahmebedingung verarbeiten, die durch eine Methode der Rational-ClearQuest-API ausgelöst wird, wenn die zurückgegebenen Zeichen im lokalen Zeichensatz nicht enthalten sind. Falls die Integrations-API mit dem Modus RETURN_STRING_UNICODE konfiguriert ist, wird die Ausnahmebedingung nicht ausgelöst. Die Anwendung muss jedoch alle zurückgegebenen Unicode-Zeichen korrekt verarbeiten. Sowohl im Modus RETURN_STRING_LOCAL als auch im Modus RETURN_STRING_UNICODE werden Ausnahmebedingungen außerdem dann an die aufrufende Integration oder Anwendung zurückgegeben, falls die Anwendung Daten schreibt, die in der Rational-ClearQuest-Datencodepage nicht dargestellt werden können.
Weitere Informationen finden Sie im Abschnitt Setting the return string mode for hooks and scripts in der Hilfe zu IBM Rational ClearQuest API Reference.
Einige Pakete oder Schemas sind konzeptionsgemäß nicht in der Lage, Unicode-Zeichen oder vom lokalen Zeichensatz abweichende Zeichen zu verarbeiten. Die Unterstützung, die von den einzelnen Scripts in einem Paket bereitgestellt wird, ist im Script-Editor von Rational ClearQuest Designer angegeben (das Markierungsfeld Unicode Aware ist ausgewählt). Die Schemas "DefectTracking" und "Common" unterstützen Unicode. Ein Schema, in dem ein Paket enthalten ist, das Unicode-Zeichen nicht unterstützt, kann jedoch nicht in einer Implementierung mit gemischten Zeichensätzen verwendet werden. Weitere Informationen enthält Tabelle 1.
Sie können Hooks bearbeiten oder hinzufügen, die auf Paketfelder zugreifen. Diese Hooks gelten als Bestandteil des Pakets. Solche Hooks übernehmen die Standardunterstützung für Unicode aus dem Paket, aber diese korrekte Einstellung für den Hook wird von Designer nicht angezeigt.
Falls alle Clients, die mit einer Datenbankgruppe verbunden sind, lokale Zeichensätze aufweisen, die mit der Datencodepage übereinstimmen, müssen Sie diese Aspekte nicht berücksichtigen. Weitere Informationen zu Zeichendarstellungen und Codepageeinstellungen finden Sie in der Onlinehilfe "Rational ClearQuest verwalten".