Al escribir un script en Analytics, con frecuencia es necesario tener en cuenta valores que cambian o varían. Por ejemplo:

  • Configuración del script Usted desea contar con una forma sencilla de personalizar valores en la lógica de un script, como los nombres de una tabla o un campo, sin que sea necesario actualizar cada instancia de un valor

  • Entrada de los usuarios Cuando los usuarios ejecutan un script, desean personalizar los valores de entrada, como los rangos de fechas o las cantidades que representan un umbral

  • Almacenamiento temporal La lógica de un script requiere que se almacene de manera temporal un valor que se actualiza de forma continua a medida que el script avanza, como un contador o un total acumulado

Las variables se usan para estos y otros fines.

Podemos imaginar las variables como un contenedor con nombre que almacena un valor que puede cambiar. El valor puede cambiar, pero el nombre de la variable no lo hace. Como creador del script, usted utiliza el nombre fijo de la variable a lo largo de toda la lógica del script. Al ejecutar el script, este no procesa el nombre de la variable, sino que accede al valor actualmente almacenado en la variable y lo procesa.

En el ejemplo siguiente, v_fecha_de_inicio y v_fecha_de_finalización son nombres de variables, y las fechas son los valores que contienen las variables.

Ventajas de las variables

Es posible usar variables en lugar de valores literales a lo largo de un script. Al reemplazar los nombres de tabla, nombres de campo, valores de texto, números y fechas reales por variables que hacen referencia a estos elementos, se incrementa notablemente la flexibilidad del script. En lugar de escribir un script que solo funciona en una situación muy específica, puede escribir un script que se puede utilizar en una cantidad ilimitada de situaciones.

¿Cómo y dónde se pueden usar las variables?

Al igual que los elementos literales a los cuales hacen referencia, las variable se pueden crear, renombrar, actualizar, eliminar, usar en cálculos y en una variedad de expresiones, exportar y extraer. En otras palabras, se pueden utilizar en cualquier lugar en el que el elemento literal resultaría válido.

¿Cómo se crea una variable?

Puede crear una variable con un comando de Analytics: el comando ASSIGN o uno de varios otros comandos. En general, el comando se incluye en un script, pero también puede crear una variable manualmente introduciendo el comando ASSIGN en la línea de comandos de Analytics.

Ejemplo

Usted desea que un script tenga un rango de fechas personalizable. Para eso, crea variables de fecha de inicio y fecha de finalización.

En el siguiente ejemplo, una variable con el nombre v_fecha_de_inicio actualmente contiene el valor de fecha `20210101` y una variable con el nombre v_fecha_de_finalización actualmente contiene el valor de fecha`20210331`.

Puede usar estas dos variables para almacenar cualquier fecha de inicio y de finalización que especifique un usuario. En la lógica del script, usted especifica v_fecha_de_inicio y v_fecha_de_finalización donde sea que se necesiten las fechas. Pero cuando se ejecuta el script, este utiliza las fechas reales que especificó el usuario.

ASSIGN v_fecha_de_inicio = `20210101`
ASSIGN
v_fecha_de_finalización = `20210331`

Consejo

Puede crear una de estas variables copiando el comando ASSIGN y sus parámetros en la línea de comandos de Analytics y pulsando Intro. En el Navegador, abra la ficha Variables para ver el resultado.

Si el cuadro de texto Línea de comandos no está visible, seleccione Ventana > Línea de comandos.

Al trabajar con variables, es sumamente útil poder ver las variables que existen en un proyecto de Analytics y sus valores actuales. Existen dos métodos para poder mostrar las variables y sus valores:

  • la ficha Variables

  • el comando DISPLAY VARIABLES

La ficha Variables

La ficha Variables del Navegador, hace un seguimiento de la creación de variables y la asignación de valores a las variable en tiempo real. La ficha de solo lectura muestra los nombres, los tipos de datos y los valores actuales de todas las variables de un proyecto de Analytics. Los nombres se indican en orden alfabético.

Si recorre un script línea por línea, las variables definidas en el script o las variables generadas por el sistema aparecen en la ficha Variables en el momento de su creación. Si la variable ya existe, el valor se actualiza de forma dinámica, según la lógica del script. (En el Editor de scripts, use la opción Paso para recorrer un script).

Poder ver exactamente qué cambios se están realizando con las variables del script, a medida que estos ocurren, es una herramienta de diagnóstico importante. Esta capacidad le permite detectar errores en el script que podrían ser difíciles de encontrar si solo se examinara la sintaxis del script.

Si ejecuta un script, se muestran todos los cambios asociados con las variables en la ficha Variables cuando se llega a un salto o cuando finaliza el script.

El comando DISPLAY VARIABLES

El comando DISPLAY VARIABLES muestra los nombres, los tipos de datos y los valores actuales de todas las variables de un proyecto de Analytics. Los nombres aparecen en el orden cronológico inverso según el momento de creación de la variable o de la actualización más reciente.

DISPLAY nombre_variable devuelve la información asociada a una única variable.

Puede usar el comando DISPLAY VARIABLES de dos maneras diferentes:

  • Estado actual de las variables del proyecto Escriba DISPLAY VARIABLES en la línea de comandos y presione Intro.

    En la pantalla se muestran todas las variables del proyecto y sus valores actuales en orden cronológico inverso.

  • Estado de las variables del proyecto en diferentes lugares de un script Agregue DISPLAY VARIABLES a un script en el lugar o los lugares del script en los que desee captar el estado de las variables del proyecto. También puede usar un punto de quiebre pare este fin. La diferencia es que un punto de quiebre detiene la ejecución del script, mientras que el comando DISPLAY VARIABLES no lo hace.

    Una vez que se complete el script, haga clic en la entrada DISPLAY VARIABLES correspondiente del registro de comandos. En la pantalla, se muestra en orden cronológico inverso el estado de las variables del proyecto en el lugar del script que usted especificó.

Nota

No puede usar el comando DISPLAY VARIABLES dentro de un comando GROUP.

Si está familiarizado con otros lenguajes de programación o creación de scripts, entonces ya estará familiarizado con las variables y sus muchos usos. A continuación, se describen las principales características de las variables de ACLScript.

Si recién se inicia en la creación de scripts y variables, la siguiente información tendrá más sentido una vez que comience a trabajar con variables.

1.  Una variable se crea automáticamente al asignar un valor

2.  Existen distintos métodos para crear una variable

3.  El tipo de datos de una variable se especifica automáticamente

4.  Los nombres de las variables son flexibles y cuentan con algunas restricciones

5.  Una variable tiene un alcance global

6.  Una variable continúa existiendo hasta que se cierra el proyecto de Analytics

7.  Las variables se pueden eliminar de forma explícita

8.  Las variables del sistema se crean automáticamente por medio de algunos comandos de Analytics.

1.  Una variable se crea automáticamente al asignar un valor

Una variable se crea (declara) automáticamente al asignar un valor inicial a la variable con nombre. La asignación de un valor inicial a una variable también se conoce como "inicialización de una variable".

En el siguiente ejemplo, la variable v_tabla_de_entrada se crea automáticamente al utilizar el comando ASSIGN para asignar el valor "Trans_Cp" a la variable. En otras palabras, la creación de la variable y la asignación de un valor a la variable (declaración e inicialización) ocurren en un solo paso

ASSIGN v_tabla_de_entrada = "Trans_Cp"

¿Cuándo y dónde debe crear una variable?

Puede crear una variable en cualquier parte de un script, siempre que la creación de la variable sea anterior a su primer uso.

Lo más conveniente es crear todas las variables de entrada del usuario y las variables de configuración del script al inicio del script. Si sigue este enfoque, un usuario puede introducir todos los valores de entrada necesarios al inicio del script y después dejar que se ejecute el script. También puede estar seguro de que todas las variables de configuración del script necesarias se encuentren en una ubicación única y organizada, al principio del script.

Las variables que no necesitan de información del usuario o una configuración previa se pueden crear en el lugar del script en el que se las necesita.

Si es necesario, puede asignar un valor en blanco a una variable de carácter o fechahora, de modo que la variable exista pero, inicialmente, esté vacía.

ASSIGN v_tabla_de_entrada = ""
ASSIGN
v_lista_todos_campos = BLANKS(20000)
ASSIGN
v_fecha_de_inicio = `19000101`

2.  Existen distintos métodos para crear una variable

La forma de crear una variable depende de cómo tiene pensado utilizarla.

Uso Método de creación

Configuración del script

Almacenamiento temporal

Otros usos durante el transcurso de un script

 

Comando ASSIGN

Utilice el Comando ASSIGN en una línea independiente para declarar e inicializar una variable. El tipo de datos de un valor asignado dictamina el tipo de datos de la variable.

Nota

Es conveniente especificar explícitamente la palabra clave ASSIGN porque hace que los scripts sean más fáciles de leer y de comprender. Sin embargo, puede omitir la palabra clave ASSIGN y simplemente especificar:

nombre_variable = valor_variable

Entrada del usuario

Comando ACCEPT

Utilice el Comando ACCEPT para crear un cuadro de diálogo básico que les pida interactivamente a los usuarios uno o más valores de entrada para el script. Cada valor de entrada, sin importar lo que represente, se almacena en una variable de caracteres con nombre.

Consulte también Crear scripts interactivos.

Comando DIALOG

Utilice el Comando DIALOG y el Generador de diálogos asociado para crear uno o más cuadros de diálogo avanzados que les pida interactivamente a los usuarios uno o más valores de entrada para el script. Cada valor de entrada se almacena en una variable con nombre. La mayoría de las opciones de entrada utilizan una variable de carácter.

Además de las opciones que ofrece el comando ACCEPT, el comando DIALOG le brinda más opciones, como casillas de verificación, botones de radio y listas desplegables.

Consulte también Crear scripts interactivos.

Etiqueta PARAM, etiqueta TABLE, etiqueta FIELD

Para la entrada de información de los usuarios en scripts que se ejecutan en Robots, cree un encabezado de estudio analítico y use la Etiqueta PARAM, la Etiqueta TABLE o la Etiqueta FIELD.

La etiqueta PARAM es el método de creación de variables que requiere que usted especifique explícitamente un tipo de datos para la variable asociada.

La etiqueta TABLE y la etiqueta FIELD almacenan valores de entrada en una variable de caracteres.

Entrada de credenciales

Comando PASSWORD

Utilice el Comando PASSWORD para crear un cuadro de diálogo que les pida a los usuarios, de manera interactiva, una contraseña, un token y otra información sensible. El comando PASSWORD ofrece la entrada segura de datos y el almacenamiento cifrado del valor de credenciales en una ubicación protegida de la memoria.

Como parte del manejo seguro de las credenciales, la variable que contiene la información sensible no se muestra y no se puede mantener de forma directa.

Consulte también Crear scripts interactivos.

También puede usar el comando SET PASSWORD para especificar directamente una contraseña sin que el usuario tenga que introducir información. Sin embargo, la contraseña aparece en texto sin formato en el script.

Etiqueta PASSWORD

Para la entrada de credenciales en scripts que se ejecutan en Robots, cree un encabezado de estudio analítico y use la Etiqueta PASSWORD.

3.  El tipo de datos de una variable se especifica automáticamente

Al usar el comando ASSIGN, el tipo de datos del valor que se asigna a la variable dictamina el tipo de datos de la variable. Este proceso se conoce como "escritura implícita". En la mayoría de los casos, los tipos de datos de variables no se especifican explícitamente en Analytics.

Consejo

Preste mucha atención a los tipos de datos de las variables de los scripts que escribe. Una causa común de errores en los scripts es la falta de correspondencia entre los tipos de datos de una variable y la forma en la que usted está utilizando la variable. Si desea obtener más información, consulte La importancia de los tipos de datos de una variable.

Los tipos de valores que puede asignar a una variable

Puede asignar un valor literal a una variable o puede asignar un campo a una variable y la variable se inicializa con el valor del campo del registro actualmente seleccionado. También puede asignar el valor actual de una variable a otra variable.

Los tipos de datos de los valores

En Analytics, cada valor de datos es uno de los siguientes tipos (o categorías):

  • Carácter

  • Numérico

  • Fechahora

  • Lógico

El tipo de datos de un valor se establece de una de las siguientes maneras:

  • Valor literal El tipo de datos de un valor literal se establece por la presencia o la ausencia de calificadores que encierren al valor y por los caracteres alfanuméricos que conforman el valor.

  • Campo El tipo de datos de los valores de un campo se establecen por el tipo de datos del campo.

  • Variable El tipo de datos de la variable "desde" y el valor que esta contiene ya está ajustado y se convierte en el tipo de datos de la variable "hasta". En general, una vez que cree una variable, no cambiará los tipos de datos; no obstante, nada impide que lo haga.

Ejemplos del uso del comando ASSIGN para crear variables de diferentes tipos de datos

Nota

Cuando usa el comando ACCEPT para crear una variable, o la mayoría de las opciones del comando DIALOG, la variable tiene un tipo de datos de caracteres sin importar cuál sea el tipo de valor que contiene.

Tipo de datos de la variable y valor Ejemplo

Carácter

Un valor de carácter puede incluir caracteres alfanuméricos y caracteres especiales.

Un valor de carácter literal se debe encerrar entre comillas simples o dobles.

Si un valor de carácter contiene comillas, debe hacer lo siguiente:

  • Si contiene comillas dobles, encierre todo el valor con comillas simples.
  • Si contiene comillas simples, encierre todo el valor con comillas dobles.

Ejemplo de carácter

Asigna el valor de carácter "Número_de_proveedor" a la variable v_tabla_de_entrada.

ASSIGN v_tabla_de_entrada = "Número_de_proveedor"

Asigna el valor del campo de caracteres Número_de_proveedor en el registro actualmente seleccionado a la variable v_identificador.

ASSIGN v_identificador = Número_de_proveedor

Nota

Es importante comprender la diferencia entre asignar un nombre de campo calificado y no calificado a una variable.

Si asigna "Número_de_proveedor", asigna la cadena de caracteres real que conforma el nombre del campo.

Si asigna Número_de_proveedor, asigna uno de los valores incluidos en el campo Número_de_proveedor.

Numérico

Un valor numérico puede incluir números del 0 al 9, un separador decimal y un signo negativo.

Un valor numérico literal no se debe encerrar entre calificadores.

Ejemplo numérico

Asigna el valor numérico 1000 a la variable v_cantidad_mín.

ASSIGN v_cantidad_mín = 1000

Asigna el valor del campo numérico Importe_factura en el registro actualmente seleccionado a la variable v_total_acumulado.

ASSIGN v_total_acumulado = Importe_factura

Fechahora

Un valor de fechahora puede ser una fecha, una hora o una fechahora. El valor debe utilizar un formato admitido por Analytics.

Si desea obtener más información sobre los formatos de fechahora admitidos, consulte Formato de literales de fechahora.

Los valores de fechahora literales se deben encerrar entre acentos graves (` `).

Nota

Analytics también admite valores de fechahora que utilizan el tipo de datos de carácter. Si desea obtener más información, consulte Algunas palabras sobre los valores de fechahora.

Ejemplo de fechahora

Asigna el valor de fecha `20210101` a la variable v_fecha_de_inicio.

ASSIGN v_fecha_de_inicio = `20210101`

Asigna el valor del campo de fechahora Fecha_factura en el registro actualmente seleccionado a la variable v_fecha.

ASSIGN v_fecha = Fecha_factura

Lógico

Un valor lógico puede ser T o F.

Un valor lógico literal no se debe encerrar entre calificadores.

Ejemplo lógico

Asigna el valor lógico T a la variable v_T1.

ASSIGN v_T1 = T

Asigna el valor del campo lógico Aprobado en el registro actualmente seleccionado a la variable v_aprobado.

ASSIGN v_aprobado = Aprobado

4.  Los nombres de las variables son flexibles y cuentan con algunas restricciones

En general, puede asignarle a la variable el nombre que mejor se adapte a su propósito.

Convenciones voluntarias

Las siguientes convenciones voluntarias hacen que sea más fácil leer y comprender los scripts:

  • Asigne a las variables nombres descriptivos y fáciles de comprender que se relacionen de manera directa con el rol que desempeñan en un script. Es mejor tener un nombre un poco más extenso y claramente descriptivo que uno más breve y críptico que no permita comprender claramente el propósito de la variable.

  • Adopte una convención general de asignación de nombres, como la de colocar una v_ antes del nombre de cada variable.

Restricciones impuestas

Analytics impone las siguientes restricciones a los nombres de las variables:

  • Longitud máxima de 31 caracteres

  • Caracteres válidos Caracteres alfanuméricos y carácter de guion bajo ( _ ). El nombre no puede contener ningún carácter especial ni espacios. Tampoco puede comenzar con un número.

    Nota

    No utilice caracteres no ingleses, como é , en los nombres de las variables que se utilizarán en la sustitución de variables. Los nombres de las variables con caracteres no ingleses impiden la correcta sustitución de la variable.

    Es posible que las versiones de este tema de Ayuda que no sean en inglés (por ejemplo, la versión en francés) muestren nombres de variables con caracteres acentuados. Asegúrese de que, en el script real, no haya ningún carácter acentuado en los nombres de las variables que se utilizarán para la sustitución de variables.

  • Exclusividad Los nombres de las variables deben ser exclusivos dentro de un proyecto de Analytics porque las variables funcionan de manera global a lo largo de todo el proyecto

Los nombres de las variables no distinguen entre mayúsculas y minúsculas. En ACLScript, v_fecha_de_inicio y v_Fecha_de_Inicio son la misma variable.

5.  Una variable tiene un alcance global

Las variables creadas en un script de Analytics están disponibles para todas las partes subsiguientes del script. También están disponibles para cualquier otro script del proyecto de Analytics. Este comportamiento resulta útil si desea usar una variable en un script secundario que se define en un script principal.

ACLScript no admite el alcance local de las variables.

6.  Una variable continúa existiendo hasta que se cierra el proyecto de Analytics

Las variables permanecen en la memoria de su computadora hasta que se cierra el proyecto de Analytics que las contiene o hasta que se las elimina de manera explícita.

Si desea que una variable continúe existiendo después de cerrar un proyecto y que esté a su disposición cuando reabra el proyecto, puede crear una variable permanente. Para crear una variable permanente, coloque un guion bajo antes del nombre de la variable. Por ejemplo, _v_fecha_de_inicio. Tanto la variable como el valor que esta contiene continúan existiendo. La única forma de deshacerse de una variable permanente consiste en eliminarla de manera explícita.

Nota

No se admiten variables permanentes en scripts que se ejecutan en Robots.

7.  Las variables se pueden eliminar de forma explícita

Para eliminar explícitamente una o todas las variables de un proyecto de Analytics, use el comando DELETE en la línea de comandos o en un script.

Si desea eliminar una variable en particular:

DELETE nombre_variable OK

Si desea eliminar explícitamente todas las variables:

DELETE ALL OK

¿Qué se elimina?

Al eliminar una variable, usted está eliminando el contenedor con nombre y el valor que este contiene únicamente de la memoria de su computadora.

La eliminación de una variable no afecta nada relacionado con la variable en un script. Puede restaurar la variable en la memoria ejecutando manualmente el comando ASSIGN en la línea de comandos o ejecutando el script que contiene la asignación de la variable.

La eliminación de una variable y su valor no afecta nada de lo relacionado con el valor que exista por fuera de la variable, como una tabla de Analytics.

Ejemplo

Los siguientes dos ejemplos muestran de qué manera la variable y el elemento al que esta hace referencia son entidades independientes. La eliminación de una de ellas no afecta a la otra.

Nota

Los ejemplos utilizan sustitución de variables para reemplazar el nombre de la variable por el contenido de la variable.

En el primer ejemplo, la eliminación de la variable v_tabla_de_prueba elimina el valor de la variable "Totales_acumulados" pero no elimina la tabla Totales_acumulados.

ASSIGN v_tabla_de_prueba = "Totales_acumulados"

COMMENT Se ejecuta correctamente

OPEN
%v_tabla_de_prueba%

COMMENT Eliminar la variable

DELETE
v_tabla_de_prueba OK

COMMENT Se ejecuta correctamente

OPEN
Totales_acumulados

En el segundo ejemplo, la eliminación de la tabla Totales_acumulados no tiene ningún efecto sobre la variable v_tabla_de_prueba, aunque el valor de la variable ahora hace referencia a una tabla que no existe.

ASSIGN v_tabla_de_prueba = "Totales_acumulados"

COMMENT Se ejecuta correctamente

OPEN
%v_tabla_de_prueba%

COMMENT Eliminar la tabla a la cual hace referencia la variable

DELETE
FORMAT %v_tabla_de_prueba% OK

COMMENT Falla con el error "Tabla 'totales_acumulados' inválida"

OPEN
%v_tabla_de_prueba%

8.  Las variables del sistema se crean automáticamente por medio de algunos comandos de Analytics.

Al ejecutar determinados comandos de Analytics, se crean automáticamente variables del sistema. Por ejemplo, el comando COUNT genera la variable del sistema COUNTn, que contiene la cantidad de registros que se contaron. Puede usar estas variables, y los valores que estas contienen, en partes posteriores de un script.

Por ejemplo, este script finaliza automáticamente si el usuario selecciona una tabla que no contiene registros:

ACCEPT "Seleccionar una tabla de entrada:" FIELDS "xf" TO v_tabla_de_entrada
OPEN
%v_tabla_de_entrada%
COUNT

PAUSE
"La tabla que seleccionó no contiene registros. Se finalizará el script." IF COUNT1 = 0
ESCAPE
IF COUNT1 = 0
DO
SCRIPT resumir_transacciones

Si desea obtener más información, consulte Las variables del sistema creadas por comandos de Analytics.

Cuando una función o un comando de Analytics hace referencia a una variable, los tipos de datos de la variable deben coincidir con el tipo de datos aceptado por el comando o la función. Si los tipos de datos no coinciden, obtendrá un error y el procesamiento del comando o de la función no se podrá completar correctamente.

Para evitar un error en estas situaciones, puede usar funciones de Analytics para convertir el valor almacenado de una variable en un tipo de datos que se pueda utilizar. Por ejemplo, esta expresión convierte una fecha almacenada en una variable de caracteres en el tipo de datos de fechahora:

CTOD(v_fecha_en_caracteres)

Esta expresión convierte un número almacenado en una variable de caracteres en datos de tipo numérico:

VALUE(v_número_en_caracteres; 2)

Si desea obtener más información, consulte Funciones de conversión.

Nota

Las fechas y los números se almacenan en variables de caracteres si son suministrados por entradas del usuario. Si desea obtener información, consulte Existen distintos métodos para crear una variable.

Algunas palabras sobre los valores de fechahora

En Analytics, puede procesar valores de fechahora que utilizan tanto el tipo de datos de fechahora como el tipo de datos de carácter. En general, los tipos de datos asociados con los valores de fechahora se basan en la naturaleza de los datos al importarlos a Analytics.

¿Cuál es la implicancia para las variables que contienen valores de fecha, hora o fechahora? Para simplificar, debe conocer el tipo de datos de los datos subyacentes con los que está trabajando. La sintaxis del script debe ser diferente según el tipo de datos que se utilice.'

Ejemplo

Los dos ejemplos que se incluyen a continuación muestran la sintaxis para filtrar un campo de fecha sobre la base de un rango de fechas proporcionado por el usuario.

  • En el primer ejemplo, el campo de fecha utiliza un tipo de datos de fechahora.

  • En el segundo ejemplo, el campo de fecha utiliza un tipo de datos de carácter.

  • En ambos ejemplos, las variables v_fecha_de_inicio y v_fecha_de_finalización utilizan el tipo de datos de carácter porque fueron creadas utilizando el comando ACCEPT o el comando DIALOG.

En el primer ejemplo, debe usar la función CTOD( ) para convertir los valores de rango de fecha del tipo de datos de carácter al tipo de datos de fechahora. (CTOD significa "Carácter a Fecha"). Debe realizar esta conversión para que el tipo de datos de los valores del rango de fecha coincidan con el tipo de datos del campo de fecha de fechahora.

SET FILTER TO BETWEEN(campo_fecha_fechahora; CTOD(v_fecha_de_inicio); CTOD(v_fecha_de_finalización))

En el segundo ejemplo, no realiza ninguna conversión de los valores del rango de fecha porque ya coinciden con el tipo de datos del campo de fecha de carácter. Si los convierte, los datos ya no coincidirán y obtendrá un error al ejecutar el script.

SET FILTER TO BETWEEN(campo_de_fecha_carácter; v_fecha_de_inicio; v_fecha_de_finalización)

Al utilizar una variable de caracteres como entrada para un comando o una función de Analytics, debe reemplazar el nombre de la variable por el valor de la variable. Si no realiza esta sustitución, el comando o la función intenta operar en el nombre de la variable en lugar de hacerlo con el valor que esta contiene y obtendrá un error.

La sustitución de variables es un método para reemplazar el nombre de la variable por el valor que contiene la variable de caracteres. Para utilizar la sustitución de variables, debe encerrar el nombre de la variable de caracteres entre signos de porcentaje ( % ). Por ejemplo, %v_tabla_de_entrada% recupera el nombre de la tabla real almacenado en v_tabla_de_entrada y lo utiliza para reemplazar el nombre de la variable.

Como la entrada de un usuario para un script suele estar almacenada en una variable de caracteres, un uso común de la sustitución se da al incorporar las entradas de los usuarios en la lógica del script.

Nota

La sustitución de variables solo está diseñada para ser utilizada con variables de caracteres que contienen valores que representan los datos de caracteres. Es posible que surja un error si utiliza la sustitución de variables con variables de otro tipo de datos o con variables de caracteres que contienen valores que representan un número, una fechahora o un valor lógico.

Ejemplo

Usted desea que un script permita que un usuario seleccione una tabla de entrada. Después, el script abre la tabla seleccionada por el usuario. Usted utiliza la sustitución de variables con el comando OPEN para que el comando actúe con el nombre de tabla correcto.

Al especificar OPEN %v_tabla_de_entrada% , lo que el script ve es lo siguiente:

OPEN Nombre_de_la_tabla_seleccionada_por_el_usuario

ACCEPT "Seleccionar una tabla de entrada:" FIELDS "xf" TO v_tabla_de_entrada
OPEN
%v_tabla_de_entrada%

Si no utiliza la sustitución de variables en este ejemplo, es muy probable que el script no se pueda completar porque el comando OPEN está intentando abrir una tabla llamada v_tabla_de_entrada y no existe ninguna tabla con ese nombre.

ACCEPT "Seleccionar una tabla de entrada:" FIELDS "xf" TO v_tabla_de_entrada
OPEN
v_tabla_de_entrada

El uso de la sustitución de variables puede ser complejo

En determinadas situaciones podría parecer que es necesario utilizar la sustitución de variables, pero su uso causa un error.

Consideremos uno de los ejemplos que presentamos antes:

SET FILTER TO BETWEEN(campo_de_fecha_carácter; v_fecha_de_inicio; v_fecha_de_finalización)

En este ejemplo, está comparando valores de fecha almacenados como datos de caracteres tanto en las variables como en el campo. Por eso, el uso de la sustitución de variables debería funcionar correctamente:

SET FILTER TO BETWEEN(campo_de_fecha_carácter; %v_fecha_de_inicio%; %v_fecha_de_finalización%)

Pero, ¿por qué la sustitución de variables causa un error en esta situación? La respuesta es que la sustitución de variables es absolutamente literal. Para solucionar el error, mire los valores exactos almacenados en las variables, reemplácelos manualmente en la expresión y observe la expresión que se obtiene. Por ejemplo:

SET FILTER TO BETWEEN(campo_de_fecha_carácter; 20000101; 20001231)

Esta expresión compara fechas que utilizan un tipo de datos de carácter con números que, después de la sustitución, utilizan un tipo de datos numérico. Esto provoca una falta de coincidencia entre los tipos de datos.

Como especificó un campo de caracteres con BETWEEN( ), la función interpreta automáticamente los valores de v_fecha_de_inicio y v_fecha_de_finalización como valores de caracteres y no es necesario utilizar la sustitución de variables.

Si desea obtener más información, consulte Resolución de problemas.

Una excepción a la regla

En algunos casos, tal vez pueda usar la sustitución de variables con una variable numérica sin que haya ningún problema. La ventaja es que el valor de la variable numérica se captura en el registro, lo cual puede ser útil para la solución de problemas.

Los dos ejemplos que se incluyen a continuación asignan el valor de la variable numérica COUNT1 a la variable numérica v_recuento. Sin embargo, en el primer ejemplo, el valor asignado real no se captura en el registro. En el segundo ejemplo, se captura el valor real.

COMMENT entrada de registro: ASSIGN v_recuento = COUNT1
ASSIGN
v_recuento = COUNT1
COMMENT entrada de registro: ASSIGN v_recuento = 500
ASSIGN
v_recuento = %COUNT1%

Puede mantener variables manualmente utilizando el cuadro de diálogo Variables, disponible desde el menú principal de Analytics. Puede crear, renombrar, duplicar o eliminar variables, o actualizar los valores de las variables.

El mantenimiento que realice solo afecta la instancia actual de la variable en la memoria. Por ejemplo, si renombra una variable, está renombrando únicamente la instancia de la variable en la memoria. No está renombrando la variable en un script.

Nota

La capacidad de mantener variables manualmente a través de la interfaz del usuario puede ser cómoda en algunas instancias. El mantenimiento manual no ofrece ninguna función adicional en comparación con el mantenimiento de las variables utilizando comandos.

La mayoría de los creadores de scripts trabajan exclusivamente con variables en el Editor de scripts y las funciones asociadas como la línea de comandos y la ficha Variables.

  1. Desde el menú principal de Analytics, seleccione Editar > Variables.

    Se abre el cuadro de diálogo Variables y muestra una lista de todas las variables del sistema y las definidas por el usuario en el proyecto. Las variables se crean automáticamente por medio de comandos.

  2. Complete cualquiera de las siguientes acciones:
    Crear una nueva variable
    1. Haga clic en Nuevo para abrir el Generador de expresiones.

    2. En el cuadro de texto Expresión, introduzca la expresión o el valor que se asignará a la variable.

      Los valores literales deben utilizar el formato y los calificadores adecuados (cuando sea necesario). Si desea obtener más información, consulte El tipo de datos de una variable se especifica automáticamente.

    3. Opcional. Haga clic en Verificar para comprobar que el valor o la expresión sean válidos.

    4. Escriba el nombre de la variable en el cuadro de texto Guardar como.

      Si desea obtener más información, consulte:

    5. Haga clic en Aceptar.

      Se crea la variable y esta aparece en la ficha Variables.

    Actualizar el valor de una variable
    1. Seleccione una variable de la lista y haga clic en Aceptar para abrir el Generador de expresiones.

    2. En el cuadro de texto Expresión, actualice el valor o la expresión que se asignó a la variable.

      Los valores literales deben utilizar el formato y los calificadores adecuados (cuando sea necesario). Si desea obtener más información, consulte El tipo de datos de una variable se especifica automáticamente.

    3. Opcional. Haga clic en Verificar para comprobar que el valor o la expresión sean válidos.

    4. Haga clic en Aceptar.

      El valor asignado a la variable se actualiza en la memoria de la computadora.

    Renombrar una variable
    1. Seleccione una variable de la lista y haga clic en Renombrar.

    2. En el cuadro de texto Renombrar, escriba un nuevo nombre y haga clic en Aceptar.

      El valor asignado a la variable se actualiza en la memoria de la computadora.

    3. Haga clic en Cancelar para cerrar el cuadro de diálogo Variables.

    Duplicar una variable
    1. Seleccione una variable de la lista y haga clic en Duplicar.

      La variable y su valor se duplican en la memoria de su computadora. Se agrega un sufijo numérico al nombre de la variable duplicada.

    2. Realice una de las siguientes acciones:

      • Haga clic en Terminado para cerrar el cuadro de diálogo Variables.

      • Haga clic en Aceptar para actualizar el valor o la expresión que se asignó a la variable.

    Eliminar una variable
    1. Seleccione una variable de la lista.

    2. Opcional. Utilice Mayús+clic o Ctrl+clic para seleccionar varias variables para eliminarlas.

    3. Haga clic en Eliminar.

    4. Haga clic nuevamente en Eliminar.

      La o las variables se eliminan de la memoria de su computadora.

    5. Haga clic en Terminado para cerrar el cuadro de diálogo Variables.

Variables para la configuración del script

Usted desea crear un script que calcula los importes del impuesto a las ventas, con la capacidad de manejar tasas de impuesto a las ventas con cambios periódicos.

Variables necesarias

A fin de permitir la configuración de diferentes tasas de impuestos y un rango de fechas, usted utiliza el Comando ASSIGN para crear el siguiente conjunto de variables.

Nombre de la variable La variable contiene
v_impuesto_1 La primera tasa del impuesto
v_impuesto_2 La segunda tasa del impuesto
v_impuesto_2_inicio La fecha en la que entra en vigencia la segunda tasa del impuesto
v_impuesto_2_finalización La fecha en que finaliza la segunda tasa del impuesto o la fecha actual si la tasa del impuesto aún está vigente.

El script

COMMENT Crear e inicializar variables para tasas de impuesto a las ventas y un rango de fechas
COMMENT De ser necesario, puede extender el script agregando más variables de tasas de impuestos y rangos de fechas

ASSIGN
v_impuesto_1 = 0,05
ASSIGN
v_impuesto_2 = 0,06
ASSIGN
v_impuesto_2_inicio = `20210701`
ASSIGN
v_impuesto_2_finalización = `20211231`

COMMENT Crear un campo calculado condicional que utiliza las tarifas del impuesto a las ventas para dos períodos diferentes

DEFINE FIELD
impuesto_ventas COMPUTED

Importe_factura * v_impuesto_2 IF BETWEEN(Importe_factura; v_impuesto_2_inicio; v_impuesto_2_finalización)
Importe_factura * v_impuesto_1

Las variables creadas e inicializadas en la ficha Variables

Después de ejecutar el script, se muestran las variables creadas e inicializadas en la ficha Variables.

Como el comando ASSIGN crea las variables, los tipos de datos de los valores asignados dictan el tipo de datos de las variables. En este ejemplo, existen dos variables numéricas y dos variables de fechahora.

Variables para la información de entrada del usuario

Usted desea crear un script que permita que un usuario seleccione cualquier tabla de un proyecto de Analytics, filtre los registros de la tabla por un rango numérico y un rango de fechas, y envíe los registros filtrados a una nueva tabla.

Variables necesarias

A fin de captar la entrada del usuario para el script, usted utiliza el Comando ACCEPT para crear el siguiente conjunto de variables.

Nombre de la variable La variable contiene
v_tabla_de_entrada El nombre de la tabla de Analytics que se utiliza como entrada
v_tabla_de_salida El nombre de la tabla de salida de Analytics para los registros filtrados
v_campo_numérico El campo numérico de la tabla de entrada que se utilizará con el rango numérico
v_cantidad_mín El extremo inferior del rango numérico
v_cantidad_máx El extremo superior del rango numérico
v_campo_de_fecha El campo de fecha de la tabla de entrada que se utilizará con el rango de fechas
v_fecha_de_inicio La fecha más temprana en el rango de fechas
v_fecha_de_finalización La fecha más reciente en el rango de fechas

Consideraciones para la creación de scripts

Como usted utiliza el comando ACCEPT para solicitar de manera interactiva los valores de entrada del script a los usuarios, cada valor de entrada se almacena en una variable de carácter con nombre, aun cuando el valor represente un número o una fecha. Por este motivo, debe usar funciones de Analytics en determinados lugares del script para convertir el valor de la variable al tipo de datos necesario para la lógica del script.

Por ejemplo:

  • La función VALUE( ) convierte el número almacenado en v_cantidad_mín de un tipo de datos de carácter a un tipo de datos numérico:

    VALUE(v_cantidad_mín; 2)
  • La función CTOD( ) convierte la fecha almacenada en v_fecha_de_inicio de un tipo de datos de carácter a un tipo de datos de fechahora:

    CTOD(v_fecha_de_inicio)

Es necesario que haga estas conversiones de tipos de datos porque los valores de estas variables se comparan con los valores de campos que utilizan un tipo de datos numérico o de fechahora.

También debe usar la sustitución de variables para acceder a los nombres reales de las tablas y de los campos almacenados en algunas de las variables.

Por ejemplo:

OPEN %v_tabla_de_entrada%

El script

COMMENT Crear un cuadro de diálogo para solicitarle al usuario una tabla de entrada y una tabla de salida
ACCEPT
"Seleccionar una tabla de entrada:" FIELDS "xf" TO v_tabla_de_entrada; "Especificar un nombre de tabla de entrada (sin espacios):" TO v_tabla_de_salida

COMMENT Abrir la tabla de entrada seleccionada por el usuario

OPEN
%v_tabla_de_entrada%

COMMENT Crear un cuadro de diálogo para solicitar al usuario un campo numérico y un rango numérico

ACCEPT
"Seleccionar un campo numérico para filtrar:" FIELDS "N" TO v_campo_numérico; "Especificar una cantidad mínima:" TO v_cantidad_mín; "Especificar una cantidad máxima:" TO v_cantidad_máx

COMMENT Crear un cuadro de diálogo para solicitar al usuario un campo de fecha y un rango de fechas

ACCEPT
"Seleccionar un campo de fecha para filtrar:" FIELDS "D" TO v_campo_de_fecha; "Especifique una fecha de inicio (YYYYMMDD):" TO v_fecha_de_inicio; "Especifique una fecha de finalización (YYYYMMDD):" TO v_fecha_de_finalización

COMMENT Filtrar la tabla de entrada según los rangos numéricos y de fecha del usuario

SET
FILTER TO BETWEEN(%v_campo_numérico%; VALUE(v_cantidad_mín; 2); VALUE(v_cantidad_máx; 2)) AND BETWEEN(%v_campo_de_fecha%; CTOD(v_fecha_de_inicio); CTOD(v_fecha_de_finalización))

COMMENT Extraer el conjunto de registros filtrados a la tabla de salida especificada por el usuario

EXTRACT
RECORD TO %v_tabla_de_salida%

COMMENT Abrir la tabla de salida con los registros filtrados

OPEN
%v_tabla_de_salida%

Las variables creadas e inicializadas en la ficha Variables

Después de ejecutar el script, se muestran las variables creadas e inicializadas en la ficha Variables.

Como el comando ACCEPT crea las variables, las variables utilizan el tipo de datos de carácter aun cuando el valor de la variable representa un número o una fecha.

WRITE1 es una variable del sistema. En esta situación actual, el valor representa la cantidad de registros de la tabla de salida ( v_tabla_de_salida ). Si desea obtener más información, consulte Las variables del sistema creadas por comandos de Analytics.

Los valores predeterminados para las variables de entrada del usuario

Puede completar un campo de entrada del usuario con un valor predeterminado en lugar de mostrarle al usuario un campo en blanco. El valor predeterminado puede reducir el esfuerzo y los errores porque muestra el formato correcto del valor de entrada.

Para especificar un valor predeterminado, primero utiliza el Comando ASSIGN para inicializar la variable con el valor predeterminado. A continuación, puede utilizar el Comando ACCEPT con el mismo nombre de la variable para permitir que el usuario sobrescriba el valor predeterminado si lo desea.

Este ejemplo es el mismo que se incluye más atrás en Variables para la información de entrada del usuario, pero se incluye una sección preliminar adicional para inicializar las variables con un valor predeterminado para los rangos de fechas y numéricos.

Inicialización de variables con valores predeterminados

Para inicializar las variables con valores predeterminados, puede utilizar el comando ASSIGN a fin de crear las siguientes variables.

Nombre de la variable La variable contiene
v_cantidad_mín El extremo inferior del rango numérico
v_cantidad_máx El extremo superior del rango numérico
v_cantidad_de_meses La duración del rango de fechas en meses
v_fecha_de_finalización La fecha más reciente en el rango de fechas (calculada)
v_fecha_de_inicio La fecha más reciente en el rango de fechas (calculada)

Consideraciones para la creación de scripts

Como está completando los campos creados con el comando ACCEPT utilizando valores predeterminados, esos valores deben ser del tipo de datos de carácter. Si intenta completar con valores de otro tipo de datos, los valores no aparecerán.

Por este motivo, es posible que deba utilizar funciones de Analytics para convertir los valores predeterminados en tipos de datos de carácter. (Más adelante en el script, puede usar otras funciones para volver a convertir los valores de la variable en el tipo de datos necesario para la lógica del script).

Por ejemplo:

  • La función STRING( ) convierte el número 5000 en una cadena de caracteres que después se almacena en la variable v_cantidad_mín:

    ASSIGN v_cantidad_mín = STRING(5000; 4)
  • La función DATE( ) convierte la fecha de finalización calculada en una cadena de caracteres que después se almacena en la variable v_fecha_de_finalización:

    ASSIGN v_fecha_de_finalización = ALLTRIM(DATE(EOMONTH(TODAY();-1)))

Cálculo del rango de fechas

El cálculo del rango de fechas establece el rango predeterminado en 12 meses completos antes de la fecha actual. Si desea cambiar la duración del rango, actualice el valor asignado a la variable v_cantidad_de_meses. Si desea obtener más información sobre la función que se utiliza para calcular el rango de fechas, consulte la Función EOMONTH( ).

El script

COMMENT Establecer el formato de fecha para la duración de la sesión de Analytics
SET
DATE "YYYYMMDD"

COMMENT Especificar los valores predeterminados para los extremos inferior y superior del rango numérico

ASSIGN
v_cantidad_mín = STRING(5000; 4)
ASSIGN
v_cantidad_máx = STRING(100000; 6)

COMMENT Especificar la duración del rango de fechas calculado en meses

ASSIGN
v_cantidad_de_meses = 12

COMMENT Calcular las fechas de inicio y finalización del rango de fechas predeterminado en la fecha actual y la duración especificada por v_cantidad_de_meses

ASSIGN
v_fecha_de_finalización = ALLTRIM(DATE(EOMONTH(TODAY();-1)))
ASSIGN
v_fecha_de_inicio = ALLTRIM(DATE(EOMONTH(CTOD(v_fecha_de_finalización); -v_cantidad_de_meses) + 1))

COMMENT Crear un cuadro de diálogo para solicitarle al usuario una tabla de entrada y una tabla de salida

ACCEPT
"Seleccionar una tabla de entrada:" FIELDS "xf" TO v_tabla_de_entrada; "Especificar un nombre de tabla de entrada (sin espacios):" TO v_tabla_de_salida

COMMENT Abrir la tabla de entrada seleccionada por el usuario

OPEN
%v_tabla_de_entrada%

COMMENT Crear un cuadro de diálogo para solicitar al usuario un campo numérico y un rango numérico

ACCEPT
"Seleccionar un campo numérico para filtrar:" FIELDS "N" TO v_campo_numérico; "Especificar una cantidad mínima:" TO v_cantidad_mín; "Especificar una cantidad máxima:" TO v_cantidad_máx

COMMENT Crear un cuadro de diálogo para solicitar al usuario un campo de fecha y un rango de fechas

ACCEPT
"Seleccionar un campo de fecha para filtrar:" FIELDS "D" TO v_campo_de_fecha; "Especifique una fecha de inicio (YYYYMMDD):" TO v_fecha_de_inicio; "Especifique una fecha de finalización (YYYYMMDD):" TO v_fecha_de_finalización

COMMENT Filtrar la tabla de entrada según los rangos numéricos y de fecha del usuario

SET
FILTER TO BETWEEN(%v_campo_numérico%; VALUE(v_cantidad_mín; 2); VALUE(v_cantidad_máx; 2)) AND BETWEEN(%v_campo_de_fecha%; CTOD(v_fecha_de_inicio); CTOD(v_fecha_de_finalización))

COMMENT Extraer el conjunto de registros filtrados a la tabla de salida especificada por el usuario

EXTRACT
RECORD TO %v_tabla_de_salida%

COMMENT Abrir la tabla de salida con los registros filtrados

OPEN
%v_tabla_de_salida%

Variables para almacenamiento temporal

Usted desea crear un script que calcula un total acumulado según los valores de un campo numérico. El total acumulado comienza en cero (0,00) para cada valor exclusivo de un campo identificador.

Variables necesarias

El script utiliza las variables con tres propósitos diferentes:

  • entrada del usuario

  • almacenamiento temporal de los valores

  • configuración del script

Entrada del usuario

A fin de captar la entrada del usuario para el script, usted utiliza el Comando ACCEPT para crear el siguiente conjunto de variables.

Nombre de la variable La variable contiene
v_tabla_de_entrada El nombre de la tabla de Analytics que se utiliza como entrada
v_tabla_de_salida El nombre de la tabla de salida de Analytics para los totales acumulados
v_campo_de_id El campo de la tabla de entrada que contiene los valores de identificador, como identificadores de cliente o de proveedor
v_campo_numérico El campo numérico de la tabla de entrada que se debe usar para calcular los totales acumulados
Almacenamiento temporal de valores y configuración del script

A fin de permitir el almacenamiento temporal de valores a medida que el script procesa la tabla registro por registro, usted utiliza el Comando ASSIGN para crear y para actualizar las siguientes dos variables. Si es necesario, puede configurar un valor inicial para el total acumulado que no sea cero (0,00).

Nombre de la variable La variable contiene
v_valor_de_id El valor del identificador en el registro que el script está procesando actualmente
v_total_acumulado

El valor del total acumulado en el registro que el script está procesando actualmente

El script

COMMENT
Permitir la sobrescritura de archivos sin mostrar un cuadro de diálogo de confirmación
END

SET
SAFETY OFF

COMMENT
Crear un cuadro de diálogo para solicitarle al usuario una tabla de entrada y una tabla de salida
END

ACCEPT
"Seleccionar una tabla de entrada:" FIELDS "xf" TO v_tabla_de_entrada; "Especificar un nombre de tabla de entrada (sin espacios):" TO v_tabla_de_salida
OPEN
%v_tabla_de_entrada%

COMMENT
Crear un cuadro de diálogo para solicitarle al usuario un campo de identificador de caracteres
END

ACCEPT
"Seleccionar un campo de identificador de caracteres:" FIELDS "C" TO v_campo_de_id

COMMENT
Crear un cuadro de diálogo para solicitar al usuario un campo numérico
END

ACCEPT
"Seleccionar un campo numérico:" FIELDS "N" TO v_campo_numérico

COMMENT
Indexar (ordenar) la tabla por el campo de identificador de caracteres
END

INDEX
ON %v_campo_de_id% TO "campo_de_ID_ordenado"
SET
INDEX TO "campo_de_ID_ordenado"

COMMENT
Asignar el valor actual del campo de identificador de caracteres a la variable v_valor_de_id.
Cuando se abre la v_tabla_de_entrada por primera vez, el valor actual es el primer valor del campo. De allí en adelante, el valor real depende del registro que está procesando el script.
END

ASSIGN
v_valor_de_id = %v_campo_de_id%

COMMENT
Establecer el valor de inicio para el total acumulado en cero (0,00)
END

ASSIGN
v_total_acumulado = 0,00

COMMENT
Procesar la tabla registro por registro. Para cada identificador exclusivo, calcular un total acumulado para el campo numérico.
END

GROUP
IF v_valor_de_id = %v_campo_de_id%
  ASSIGN v_total_acumulado = v_total_acumulado + %v_campo_numérico%
  EXTRACT %v_campo_de_id% %v_campo_numérico% v_total_acumulado AS "%v_campo_numérico% total_acumulado" TO %v_tabla_de_salida%
ELSE

  ASSIGN v_valor_de_id = %v_campo_de_id%
  ASSIGN v_total_acumulado = 0,00
  ASSIGN v_total_acumulado = v_total_acumulado + %v_campo_numérico%
  EXTRACT %v_campo_de_id% %v_campo_numérico% v_total_acumulado AS "%v_campo_numérico% total_acumulado" TO %v_tabla_de_salida%
END


COMMENT Abrir la tabla de salida con los totales acumulados calculados

OPEN
%v_tabla_de_salida%

COMMENT Restaurar el comportamiento predeterminado de mostrar un cuadro de diálogo de confirmación antes de sobrescribir los archivos

SET
SAFETY ON

Las variables creadas e inicializadas en la ficha Variables

Después de ejecutar el script, se muestran las variables creadas e inicializadas en la ficha Variables.

Las variables creadas por el comando ACCEPT utilizan el tipo de datos de carácter. Las variables creadas por el comando ASSIGN ( v_valor_de_id y v_total_acumulado ) utilizan el tipo de datos del valor asignado.

Los valores asignados a v_valor_de_id y v_total_acumulado se actualizan de manera continua a medida que el script avanza. La ficha Variables muestra los valores finales antes de que se complete el script.

Si desea obtener información sobre las variables del sistema ( WRITEn ) y su esquema de numeración, consulte Variables del sistema con numeración incremental.

Al trabajar con variables en los scripts, hay dos categorías generales de error que se presentan con más frecuencia:

  • Resultados inesperados El script se ejecuta por completo, pero el análisis que incluye variables no genera los resultados esperados.

  • Problema con el tipo de datos El script no se logra completar y genera un error relacionado con el tipo de datos, como "Falta de coincidencia del tipo de expresión" o "Se requiere una expresión de carácter".

Resultados inesperados

Para el primer tipo de error, pruebe el siguiente enfoque de solución:

  1. En el Navegador, abra la ficha Variables.

  2. En la línea de comandos de Analytics escriba DELETE ALL OK para eliminar las variables existentes.

    Si el cuadro de texto Línea de comandos no está visible, seleccione Ventana > Línea de comandos.

  3. En el Editor de scripts, utilice la opción Paso para recorrer el script línea por línea y hacer un seguimiento de la creación de cada variable y valor asignado en la ficha Variables.

    Es posible que descubra que el valor que se asignó a una variable no sea el que usted deseaba y deberá ajustar la lógica del script. Si desea obtener más información, consulte Prueba y depuración de scripts.

Nota

No es posible recorrer paso a paso el contenido de los comandos de varias líneas como GROUP, LOOP o DEFINE FIELD . . . COMPUTED Para probar la lógica del script en esta situación, copie temporalmente la lógica del script sin la sintaxis del comando circundante en un script independiente.

Problema con el tipo de datos

Al desarrollar scripts que utilizan variables, es posible que se enfrente a errores causados por la falta de correspondencia en los tipos de datos. Es muy probable que surjan errores si está combinando funciones de conversión y sustitución de variables en la misma expresión.

Es normal encontrar errores y la manera de subsanarlos es probar diferentes enfoques y tener en cuenta los siguientes principios:

  • Prestar mucha atención a los tipos de datos en cada elemento de una expresión. ¿Los tipos de datos de la expresión coinciden con lo que requiere ACLScript?

  • Recordar que la sustitución de variables es absolutamente literal. Si cree que la sustitución de variables está causando el error, busque el valor exacto almacenado en una variable y reemplace manualmente el valor en la expresión. Realizar este simple diagnóstico de errores puede revelar cuál es el problema.

  • La inserción del comando DISPLAY VARIABLES en diferentes lugares de un script le permite capturar el estado de las variables del proyecto en un momento determinado.

  • Recorrer un script línea por línea y establecer puntos de quiebre puede facilitar mucho el diagnóstico de errores. Si desea obtener más información, consulte Prueba y depuración de scripts.