Analyseskripts in Unicode konvertieren
Wenn Sie von der Nicht-Unicode- auf die Unicode-Edition von Analytics migrieren, werden bestehende normale Skripts und Analyseskripts automatisch auf Unicode konvertiert. Sie müssen aber überprüfen, dass die Logik der Skripts bei der Anwendung auf Doppelbyte-Daten in Unicode identisch bleibt.
Was ist Unicode?
Unicode ist ein Standard zum Codieren von Text. Jedes Zeichen wird mit zwei oder mehr Bytes dargestellt und die Zeichen aller Sprachen sind in einem einzelnen Zeichensatz enthalten. Die Unicode-Versionen von Galvanize-Produkten ermöglichen Ihnen das Anzeigen und Arbeiten mit Dateien und Datenbanken, die Unicode-Daten in allen modernen Sprachen enthalten.
Hinweis
Analytics und die AX Engine unterstützen nach dem „Little-Endian“-Standard (LE) codierte Unicode-Daten. Diese Produkte können nicht verwendet werden, um nach dem „Big-Endian“-Standard (BE) codierte Daten zu analysieren.
Migration auf Unicode in Analytics Exchange
- Eine Verschlüsselung von Unicode-Skripts wird nicht unterstützt.
- Analytics-Projektdateien und Protokolldateien werden als Unicode-Daten (UTF-16 LE) codiert und können mit der Nicht-Unicode-Edition von Analytics nicht verwendet werden.
- Wenn Sie Analytics zum Definieren von Druckdateien und Dateien mit Trennzeichen mit ASCII- oder EBCDIC-codiertem Text verwenden, wird den Feldern in der Analytics-Tabelle, in denen diese Daten enthalten sind, standardmäßig der Unicode-Datentyp zugewiesen.
Notwendige Änderungen von Analyseskripts
Aktualisieren Sie Parameter, die einen Wert in Bytes angeben.
Zeichen in der Nicht-Unicode-Edition von Analytics haben eine Länge von einem Byte. Zeichen in der Unicode-Edition weisen eine Länge von zwei Bytes auf, falls es sich um Unicode-Daten handelt. Wenn Sie in der Nicht-Unicode-Edition von Analytics eine Feldlänge oder Startposition in Bytes festlegen, entspricht die Länge in Bytes der Anzahl von Zeichen. In der Unicode-Edition von Analytics stimmt das für Unicode-Daten nicht.
Um Analyseskripts zur Nutzung mit Unicode-Analytics zu konvertieren, müssen Sie den numerischen Wert aller Parameter anpassen, die eine Feldlänge oder Startposition in Bytes festlegen. Wenn ein Befehl IMPORT DELIMITED beispielsweise für WID in Nicht-Unicode-Analytics einen Wert von 7 festlegt, müssen Sie diesen WID-Wert auf 14 abändern, um in Unicode-Analytics dasselbe Ergebnis zu erhalten.
Geben Sie darüber hinaus für Unicode-Daten bei Feldern eine ungerade Byte-Startposition und bei Feldlängen eine gerade Byte-Anzahl an. Wenn Sie eine gerade Startposition oder eine ungerade Länge festlegen, werden Zeichen unter Umständen falsch angezeigt.
Alle Instanzen von IMPORT PRINT und IMPORT DELIMITED erneuern
Sie müssen alle Instanzen der Befehle IMPORT PRINT und IMPORT DELIMITED erneuern, indem Sie die Quelldatendatei mit dem Assistent für Datendefinition in der Unicode-Edition von Analytics importieren und die Projekte erneut in AX Server importieren. Die Verwendung des Assistenten für Datendefinition stellt sicher, dass die Syntax gültig ist.
Alle Instanzen von ZONED( )- und EBCDIC( )-Funktionen ändern
Sie müssen alle Instanzen der Funktionen ZONED() und EBCDIC() wie folgt ändern, sodass die durch die Funktionen zurückgegebenen ASCII-Werte korrekt in Unicode-Daten konvertiert werden:
- Für Kalkulationsfelder umschließen Sie die ZONED( )- oder EBCDIC( )-Instanzen durch die BINTOSTR( )-Funktion.
- Für statische Ausdrücke umschließen Sie die ZONED( )-Instanzen durch die BINTOSTR( )-Funktion.
BINTOSTR(ZONED(%result%; 5); ‘A’)
Alle Instanzen des OPEN FORMAT-Befehls ändern
Sie müssen alle Instanzen des OPEN FORMAT-Befehls ändern. Sie müssen den Parameter SKIP verwenden, um die ersten zwei Bytes der Unicode-Datei zu überspringen, die Sie öffnen. Dies ist notwendig, da die ersten zwei Bytes von UTF-16-kodierten Dateien Bytereihenfolgemarken darstellen und von dem Dateitext getrennt sind.
Nicht-Unicode
OPEN "ASCII_Test.txt" FORMAT Vorlagentabelle CRLF DEFINE FIELD alle_recs ASCII 1 10
Unicode
OPEN "UTF-16_Test.txt" FORMAT Vorlagentabelle CRLF SKIP 2 DEFINE FIELD alle_recs UNICODE 1 20
Konvertierte Analyseskripts überprüfen
Sie müssen überprüfen, dass die Unicode-Versionen der Analyseskripts dieselben Ergebnisse liefern wie die Nicht-Unicode-Analyseskripts. Hierzu eignet sich am besten ein Diff-Tool für den Vergleich der durch die Analysen erstellten Protokoll-dateien. Das Diff-Tool erkennt alle Unterschiede zwischen den Dateien.
Was mache ich, wenn die Ergebnisse nicht gleich sind?
Wenn Sie mit der Unicode-Version eines Analyseskripts nicht dieselben Ergebnisse wie mit der Nicht-Unicode-Version erhalten, können Sie das Problem unter Umständen eingrenzen, indem Sie die Protokollausgaben der Skripts für jeden Schritt der Analyse vergleichen.