Convertir des scripts d'outils d'analyse au format Unicode

Si vous migrez de l'édition non Unicode à l'édition Unicode d'Analytics, les scripts classiques et les scripts d'outil d'analyse existants sont convertis automatiquement au format Unicode. Cependant, vous devez vérifier que la logique des scripts reste identique lorsqu'elle est appliquée aux données Unicode à deux octets.

Qu'est-ce qu'Unicode ?

Unicode est une norme standard de texte codé qui utilise deux octets ou plus pour représenter chaque caractère. Les caractères de tous les langages sont contenus dans un jeu de caractères unique. Les éditions au format Unicode des produits Galvanize vous permettent d'afficher et d'utiliser les fichiers et les bases de données contenant des données codées en Unicode dans toutes les langues vivantes.

Remarque

Analytics et le Moteur AX prennent en charge les données Unicode codées en tant que petit-boutiste (LE). Ces produits ne peuvent pas être utilisés pour analyser des données codées en tant que gros-boutiste (BE).

Migration vers Analytics Exchange édition Unicode

  • le cryptage des scripts Unicode n'est pas pris en charge actuellement.
  • les fichiers de projet et les fichiers traces Analytics sont codés sous forme de données Unicode (UTF-16 LE) et ne peuvent pas être utilisés avec l'édition non Unicode d'Analytics.
  • lorsque vous utilisez Analytics pour définir des fichiers image d'impression et des fichiers délimités qui contiennent du texte au format ASCII ou EBCDIC, les champs de la table Analytics contenant ces données sont de type Unicode par défaut.

Modifications de script d'analyse de données requises

Mettre à jour les paramètres indiquant une valeur en octets

Les caractères de l'édition non Unicode d'Analytics présentent une longueur d'un octet. Les caractères de l'édition Unicode - s'il s'agit de données Unicode - présentent une longueur de deux octets. Lorsque vous indiquez une longueur de champ ou une position de départ en octets dans l'édition non Unicode d'Analytics, le nombre d'octets est égal au nombre de caractères. Cela ne se vérifie pas dans les données Unicode de l'édition Unicode d'Analytics.

Pour convertir des scripts d'outils d'analyse afin de les utiliser dans Analytics Unicode, vous devez ajuster la valeur numérique des paramètres indiquant la longueur de champ ou la position de départ en octets. Par exemple, dans le cas d'une commande IMPORT DELIMITED indiquant une valeur WID de 7 dans Analytics non Unicode, vous devez doubler la valeur WID sur 14 pour avoir le même résultat dans Analytics Unicode.

En outre, dans le cas de données Unicode, indiquez une position d'octet de départ impair pour les champs et un nombre d'octets pair pour les longueurs de champ. Indiquer une position de départ avec un chiffre pair ou une longueur de champ impaire peut entraîner l'affichage incorrect des caractères.

Recréer toutes les instances de IMPORT PRINT et de IMPORT DELIMITED

Vous devez recréer toutes les instances des commandes IMPORT PRINT et IMPORT DELIMITED en important le fichier de données source à l'aide de l'Assistant de définition des données dans la version Unicode d'Analytics et en réimportant les projets dans AX Serveur. L'utilisation de l'Assistant de définition de données garantit la validité de l'ensemble de la syntaxe.

Modifier toutes les instances des fonctions ZONED( ) et EBCDIC( )

Vous devez modifier toutes les instances des fonctions ZONED() et EBCDIC() comme suit pour que les valeurs ASCII renvoyées par les fonctions soient correctement converties en données Unicode :

  • Les champs calculés entourent la fonction BINTOSTR() autour des instances ZONED() ou EBCDIC()
  • Les expressions statiques entourent la fonction BINTOSTR() autour des instances ZONED()
BINTOSTR(ZONED(%résultat%; 5); ‘A’)

Modifier toutes les instances de la commande OPEN FORMAT

Vous devez modifier toutes les instances de la commande OPEN FORMAT. Vous devez utiliser le paramètre SKIP pour ignorer les deux premiers octets du fichier Unicode que vous ouvrez. Cela est nécessaire car les deux premiers octets des fichiers codés UTF-16 sont réservés sous forme de marques d'ordre d'octet et sont distincts du texte dans le fichier.

Non Unicode

OPEN "ascii_test.txt" FORMAT table_modèle CRLF 
DEFINE FIELD enreg_complet ASCII 1 10

Unicode

OPEN "utf-16_test.txt" FORMAT table_modèle CRLF SKIP 2 
DEFINE FIELD enreg_complet UNICODE 1 20

Vérifier les scripts d'outil d'analyse convertis

Vérifiez que les versions Unicode des scripts d'outil d'analyse produisent des résultats identiques aux résultats générés par les scripts d'outil d'analyse qui ne sont pas au format Unicode. Le meilleur moyen pour le faire consiste à utiliser un outil Diff qui compare les fichiers traces générés pendant l'analyse. L'outil Diff identifie les différences entre les fichiers.

Que faire si les résultats ne sont pas identiques ?

Si vous ne pouvez pas obtenir les mêmes résultats avec la version Unicode d'un script d'outil d'analyse qu'avec sa version non Unicode, vous devrez peut-être isoler le problème en comparant les sorties de la trace des scripts à chaque étape de l'analyse.