Conversión de scripts de estudios analíticos a Unicode
Si está migrando de la edición no Unicode a la edición Unicode de Analytics, los scripts de estudios analíticos y los scripts comunes existentes se convierten automáticamente a Unicode. Sin embargo, debe verificar que la lógica de los scripts continúe siendo la misma al aplicarlos en datos Unicode de dos bytes.
¿Qué es Unicode?
Unicode es un estándar de codificación de texto que utiliza dos o más bytes para representar cada carácter y los caracteres de todos los idiomas están incluidos en un único conjunto de caracteres. Las ediciones Unicode de los productos de Diligent le permiten ver y trabajar con archivos y bases de datos que contienen datos codificados en Unicode en todos los idiomas modernos.
Nota
Analytics y el Agente de Robots admiten datos Unicode con la codificación little-endian (LE). Estos productos no se pueden utilizar para analizar datos con la codificación big-endian (BE).
Cambios necesarios en los scripts de estudios analíticos
Actualice los parámetros que especifiquen un valor en bytes
Los caracteres de la edición no Unicode de Analytics tienen una longitud de un byte. Los caracteres de la edición Unicode, si son datos Unicode, tienen una longitud de dos bytes. Al especificar la longitud del campo o la posición inicial en bytes de la edición no Unicode de Analytics, la cantidad de bytes equivale a la cantidad de caracteres. Esto no ocurre con los datos Unicode de la edición Unicode de Analytics.
A fin de convertir los scripts para que sean utilizados en Analytics Unicode, debe ajustar el valor numérico de todos los parámetros que especifican la longitud de un campo o la posición inicial en bytes. Por ejemplo, para un comando IMPORT DELIMITED que especifica un valor WID de 7 en Analytics no Unicode, debe duplicar el valor WID a 14 para producir el mismo resultado en Analytics Unicode.
Además, para los datos Unicode, especifique una posición inicial de bytes impar para los campos y una cantidad par de bytes para la longitud de los campos. Si especifica una posición de inicio par o una longitud impar, es posible que los caracteres no se vean correctamente.
Recree todas las instancias de IMPORT PRINT e IMPORT DELIMITED
Debe recrear todas las instancias de los comandos IMPORT PRINT e IMPORT DELIMITED:
-
Importe el archivo de origen de datos mediante el Asistente de Definición de Datos en la versión Unicode de Analytics.
El uso del Asistente de Definición de Datos garantiza la validez de toda la sintaxis.
-
Actualice el script mediante la sintaxis de importación del log.
-
Para los scripts de estudios analíticos, vuelva a confirmar y enviar el script a Robots.
Cambie todas las instancias de las funciones ZONED( ) y EBCDIC( )
Debe cambiar todas las instancias de las funciones ZONED() y EBCDIC() como se indica a continuación para que los valores ASCII que regresan las funciones se conviertan correctamente en datos Unicode:
- Campos calculados coloque la función BINTOSTR() rodeando las instancias de ZONED() o EBCDIC()
- Expresiones estáticas coloque la función BINTOSTR() rodeando las instancias de ZONED()
BINTOSTR(ZONED(%resultado%; 5); 'A')
Cambie todas las instancias del comando OPEN FORMAT.
Debe modificar todas las instancias del comando OPEN FORMAT. Debe usar el parámetro SKIP para saltear los primeros dos bytes del archivo Unicode que está abriendo. Esto es necesario porque los dos primeros bytes de los archivos con codificación UTF-16 están reservados como marcas de orden de byte y están separados del texto del archivo.
No Unicode
OPEN “prueba_ascii.txt” FORMAT tabla_plantilla CRLF
DEFINE FIELD reg_completo ASCII 1 10
Unicode
OPEN ““prueba_utf-16.txt” FORMAT tabla_plantilla CRLF SKIP 2
DEFINE FIELD reg_completo UNICODE 1 20
Verificación de los scripts de estudios analíticos convertidos
Verifique que las versiones Unicode de los scripts de estudios analíticos produzcan resultados idénticos a los que se obtienen con los scripts de estudios analíticos no Unicode. La mejor manera de hacerlo consiste en utilizar la herramienta Diff para comparar los archivos de log que se crean en el análisis. La herramienta Diff identifica cualquier diferencia que exista entre los archivos.
¿Qué ocurre si no se obtienen los mismos resultados?
Si no puede obtener los mismos resultados con la versión Unicode de un script de estudio analítico que con la versión no Unicode, tal vez pueda aislar el problema por medio de la comparación de los log que crean los scripts en cada paso del análisis.