Variables globales en Jitterbit Studio
Introducción
Las variables globales son uno de los tipos de elementos de datos globales disponibles en Harmony. Los otros tipos de elementos de datos globales —variables de proyecto, variables de Jitterbit y palabras clave de nombre de archivo— también están disponibles globalmente en todo un proyecto. Se configuran de manera diferente, como se describe en Variables de proyecto, Variables de Jitterbit y Palabras clave de nombre de archivo, respectivamente. Sin embargo, como todos los elementos de datos globales comparten el mismo espacio de nombres, sus nombres deben ser únicos cuando se comparan con todos los demás elementos de datos globales.
A diferencia de las variables de proyecto, las variables globales no son componentes del proyecto y no se implementan con el proyecto. Dado que las variables globales solo se pueden configurar dentro de scripts en tiempo de ejecución de la operación, no se pueden asignar valores en tiempo de diseño. Para usar la función Probar conexión de un conector con una variable global referenciada en un campo de configuración de punto de conexión, debes especificar un valor predeterminado dentro de ese campo (consulta Definir un valor predeterminado).
Las variables globales se declaran primero en una operación, después de lo cual quedan disponibles para ser referenciadas en la misma o en operaciones y scripts posteriores. Las operaciones o scripts posteriores son aquellos que están vinculados dentro de una cadena de operaciones usando acciones de operación o las funciones RunOperation o RunScript. Las operaciones posteriores pueden estar dentro de los mismos flujos de trabajo o de flujos de trabajo posteriores.
Las variables globales también se pueden usar como origen o destino dentro de la operación, como se describe en Lectura de variable y Escritura de variable.
Quizás desees usar variables globales si tu caso de uso implica compartir información con partes posteriores de una cadena de operaciones, como en estos ejemplos:
- Usar valores creados en una transformación en una transformación posterior. Por ejemplo, un ID de sesión (devuelto por un servicio web de inicio de sesión) puede ser necesario cuando se llaman servicios web posteriores para la autenticación.
- Usar un valor creado en una parte de una transformación en una etapa posterior de esa misma transformación. Por ejemplo, un número de registro puede inicializarse e incrementarse para cada registro insertado en un destino para identificar su número de elemento.
- Usar un valor devuelto en una transformación en la configuración de componentes en operaciones posteriores. Por ejemplo, la configuración de URL devuelta por una transformación puede usarse para establecer la URL del servicio web de una llamada de servicio web posterior.
Las variables globales pasan a través de operaciones encadenadas. Esto incluye operaciones que están vinculadas a una operación anterior dentro de la cadena de operaciones usando acciones de operación "en caso de éxito" o "en caso de error" operation actions, así como aquellas que están vinculadas a través de la función RunOperation. Las variables globales también se pueden usar dentro de la misma transformación.
Visualización de variables globales
Las variables globales definidas se muestran en varios lugares:
- En el panel de proyecto, las variables globales se muestran en la pestaña Componentes en la categoría Variables globales. Desde aquí puedes ver si la variable global se referencia en otro lugar del proyecto y ver las dependencias.
- En el editor de scripts, las variables globales se muestran en la paleta de componentes de script dentro de la pestaña Variables en la subpestaña Variables globales. Esta ubicación proporciona acceso fácil para insertar referencias de variables globales en scripts, incluso dentro de scripts de transformación.
- En una transformación, las variables globales se muestran dentro de la pestaña Variables a la izquierda en la categoría Variables globales. Esta ubicación proporciona acceso fácil para insertar referencias de variables globales durante la asignación de transformación.
- En pantallas de configuración de punto de conexión, se puede acceder a las variables globales y usarlas en cualquier campo que tenga un icono de variable. Como alternativa a seleccionar una variable global, puedes ingresar manualmente la referencia de variable usando la sintaxis estándar de corchetes de Jitterbit Script.
Crear y actualizar variables globales
Las variables globales se crean o actualizan usando Jitterbit Script (en scripts y transformaciones) o JavaScript (solo en scripts creados como componente de proyecto). Consulta Tipos de scripts y creación para obtener información sobre cómo crear los diferentes tipos de scripts. También se pueden crear, seleccionar o renombrar variables globales durante la configuración de la conexión Variable (consulta Conexión Variable).
Nombres de variables globales
Los nombres de variables globales pueden estar compuestos por caracteres alfanuméricos (letras y dígitos 0-9), puntos (.) y guiones bajos (_). (No se recomiendan otros caracteres, como guiones, y pueden causar problemas.) Los nombres de variables globales no distinguen mayúsculas de minúsculas; una variable llamada GlobalVar se trata igual que globalvar.
Es una buena práctica usar puntos o guiones bajos al definir variables globales para que sean fáciles de encontrar. Por ejemplo, una variable global creada en un Jitterbit Script llamada org.account.filename comienza con org, seguida de account, etc., organizándola efectivamente cuando está en una lista junto con otras variables globales construidas de manera similar. Ten en cuenta que para variables globales creadas en JavaScript (o para variables globales de Jitterbit Script que podrían usarse posteriormente en JavaScript) recomendamos usar guiones bajos en lugar de puntos. Usar puntos en variables globales definidas por el usuario causa problemas en tiempo de ejecución. Se proporciona más información en la subsección JavaScript a continuación.
Para renombrar una variable global desde un script, haz clic derecho en su nombre en el área de script del script y selecciona Renombrar variable del menú contextual. Esto actualiza automáticamente todas las referencias en el script abierto actualmente y en los componentes listados en el diálogo de confirmación de renombrado. También se puede renombrar una variable global en el campo Nombre de variable de una conexión Variable (consulta Punto final Variable a continuación).
Jitterbit Script
En Jitterbit Script usado dentro de scripts y transformaciones, una variable global se puede definir comenzando con un signo de dólar $ o llamando a la función Set:
$: Usando la sintaxis de signo de dólar$,$ServerURL=URLcrea o actualiza una variable global llamadaServerURLcon el valor deURL(el nombre de otra variable o el nombre de un campo en una transformación).Set: Usando la funciónSet,Set("ServerURL", URL)crea o actualiza una variable global llamadaServerURLcon el valor deURL(el nombre de otra variable o el nombre de un campo en una transformación).
JavaScript
En JavaScript usado dentro de scripts creados como componente de proyecto, la sintaxis usada para establecer una variable global depende de si el nombre de la variable global contiene un punto:
-
El nombre no incluye un punto (recomendado): Una variable global que no contiene un punto en su nombre se puede crear o actualizar usando
var $<name>o actualizar simplemente usando$<name>sinvar:var $: La expresiónvar $ServerURL="https://www.example.com/"crea o actualiza una variable globalServerURLcon un valor de cadena dehttps://www.example.com/. Una variable global nueva debe preceder el$convar.$: La expresión$ServerURL="https://www.example.com/"actualiza la misma variable globalServerURLcon la misma URL de cadena. Esto funciona solo para variables globales que ya existen.
-
El nombre incluye un punto (recomendado solo para variables de Jitterbit y valores de objetos JavaScript): Una variable que contiene puntos en su nombre se puede actualizar u obtener en JavaScript solo con las funciones
Jitterbit.SetVaryJitterbit.GetVar. Como estas funciones no están destinadas a variables globales definidas por el usuario, consulta Variables de Jitterbit para obtener más información.
Advertencia
Las funciones Jitterbit.SetVar y Jitterbit.GetVar de JavaScript están diseñadas específicamente para acceder a las variables predefinidas de Jitterbit. No deben utilizarse para acceder a variables globales definidas por el usuario.
Endpoint de variable
Durante la configuración de una conexión de Variable, se puede crear o seleccionar una variable global en el campo Variable name.
Es decir, si seleccionas una variable global existente, se asocia con el endpoint de Variable. Si la variable aún no existe, puedes usar la acción New variable para agregarla al proyecto y asociarla con el endpoint.
También puedes renombrar la variable global seleccionada directamente en el campo y elegir si el nuevo nombre se aplica a todos los usos en el proyecto o solo a este endpoint.
Para obtener detalles sobre cómo crear, seleccionar o renombrar una variable global usando este método, consulta Variable connection.
Recuperar variables globales en scripts o transformaciones
El valor de una variable global se puede obtener usando Jitterbit Script (en scripts o transformaciones) o usando JavaScript (solo en scripts creados como componente del proyecto).
Jitterbit Script
En scripts y transformaciones, puedes comenzar con un signo de dólar $ o usar la función Get para recuperar el valor de una variable global:
$: Con el prefijo de signo de dólar$, el ejemplo de código$serverURLrecupera el valor (o campo en una transformación) de la variable global llamada "serverURL".Get: Usando la funciónGet, el ejemplo de códigoGet("serverURL")devuelve el mismo valor (o campo en una transformación).
En scripts y transformaciones, las variables globales existentes también se muestran en la pestaña Variables de la paleta de componentes de script dentro de la subpestaña Global Variables. Consulta Add a global variable to a script a continuación.
JavaScript
En scripts de JavaScript dentro de una operación, la sintaxis utilizada para recuperar el valor de una variable global depende de si el nombre de la variable global contiene un punto.
-
El nombre no incluye un punto (recomendado): El valor de una variable global que no contiene un punto en su nombre se puede recuperar comenzando con un signo de dólar
$. Con el prefijo de signo de dólar$, la expresión$ServerURLrecupera el valor de la variable global llamadaServerURL. -
Nombre con puntos (recomendado solo para variables de Jitterbit y valores de objetos JavaScript): Una variable que contiene un punto en su nombre se puede actualizar o recuperar en JavaScript solo con las funciones
Jitterbit.SetVaryJitterbit.GetVar. Como estas funciones no están destinadas a variables globales definidas por el usuario, consulta la sección sobre variables de Jitterbit para obtener más información.Advertencia
Las funciones
Jitterbit.SetVaryJitterbit.GetVarde JavaScript están diseñadas específicamente para acceder a las variables predefinidas de Jitterbit. No deben utilizarse para acceder a variables globales definidas por el usuario.En JavaScript, no mezcles tu uso de
SetVar(yGetVar) con el prefijo$al establecer (y recuperar) una variable. Usa solo una sintaxis. Mezclar las dos sintaxis diferentes para la misma variable puede causar problemas en tiempo de ejecución.
Si un JavaScript falla, se pierden los cambios realizados en el valor de una variable global. Los valores de variables globales modificadas están disponibles fuera del script solo si el JavaScript se completa exitosamente.
En scripts y transformaciones, las variables globales existentes también se muestran en la pestaña Variables de la paleta de componentes del script dentro de la subpestaña Global Variables. Consulta Agregar una variable global a un script a continuación.
Agregar una variable global a un script
En Jitterbit Script o JavaScript utilizados dentro de scripts creados dentro de una operación, las variables globales existentes se muestran en la pestaña Variables de la paleta de componentes del script dentro de la subpestaña Global Variables:

Utiliza los símbolos de intercalación para ver u ocultar detalles de uso, incluyendo qué componentes leen o escriben en la variable:

Puedes hacer clic en el nombre de cualquier componente para abrir su pantalla de configuración.
Para agregar la sintaxis de variable a un script (Jitterbit Script o JavaScript), utiliza uno de estos métodos:
- Arrastra la variable desde la paleta al script para insertar la sintaxis de variable.
- Haz doble clic en la variable en la paleta para insertar la sintaxis de variable en la ubicación del cursor dentro del script.
- Comienza a escribir el nombre de la variable y luego presiona
Control+Spacepara mostrar una lista de sugerencias de autocompletado. Selecciona una variable para insertar la sintaxis de variable. - Ingresa manualmente la sintaxis de variable.
Usar variables globales en pantallas de configuración
Durante la configuración de varios componentes del proyecto, incluyendo la configuración de puntos finales mediante conectores, puedes usar variables globales en cualquier campo que tenga un icono de variable. Las variables se pueden usar en campos junto con otra entrada, incluyendo con otras variables o palabras clave. Estas acciones se cubren a continuación:
Seleccionar una variable global
Para acceder a variables globales, puedes hacer clic en el icono de variable o ingresar un corchete de apertura [ para mostrar un menú que enumera variables y palabras clave (si están disponibles para el campo actual).
Dentro de la lista, cada tipo de variable o palabra clave se indica mediante el icono junto a su nombre:
para palabra clave de nombre de archivo para variable global para variable de proyecto para variable de Jitterbit
El fondo del icono es sólido si la variable global tiene un valor predeterminado especificado en este campo de configuración, o vacío si no lo tiene. El fondo del icono no se ve afectado si la misma variable global tiene un valor especificado en otro campo de configuración, ya que solo se utiliza un valor predeterminado especificado en el campo actual.
Advertencia
Si una variable global obtiene su valor en un script que está aguas arriba del componente, su valor evaluado anula el valor predeterminado especificado en el campo de configuración. Ten en cuenta que los valores evaluados que se obtienen en un script no se reflejan en el Value en la ventana emergente de información.
Selecciona una variable para agregarla al campo en la ubicación del cursor, en cualquier parte de la cadena. La variable se muestra en un formato de píldora similar al que se muestra a continuación:

Para revisar información sobre la variable, pasa el cursor sobre la píldora de variable para mostrar una ventana emergente de información:

- Etiqueta: N/A para una variable global.
- Valor predeterminado: Se completa solo si la variable global tiene un valor predeterminado especificado en este campo de configuración.
- Descripción: N/A para una variable global.
- Editar valor predeterminado: Haz clic para definir o editar un valor predeterminado.
Define un valor predeterminado
Durante la ejecución de la operación, un valor predeterminado definido dentro de un campo de configuración se utiliza solo si el valor de la variable no se ha establecido durante la ejecución. Esto es diferente durante pruebas de script, donde —como los valores de script ascendentes aún no se habrán instanciado— se utiliza cualquier valor predeterminado definido dentro de un campo de configuración en su lugar.
Cuando se especifican valores predeterminados, se utiliza el valor de la variable global si está definido; de lo contrario, se utiliza el valor predeterminado.
Define un valor predeterminado utilizando uno de estos métodos:
- Usando la píldora de variable: Para un campo donde la variable global se insertó usando el icono de variable o el menú de corchetes, lo que resulta en una píldora.
- Usando sintaxis en línea: Para cualquier campo, incluido un campo de texto sin formato que no admita una píldora de variable, como una sentencia SQL ingresada manualmente en una actividad de consulta de base de datos.
Usando la píldora de variable
Para definir un valor predeterminado para una variable global mostrada como píldora, pasa el cursor sobre la píldora de variable y haz clic en Editar valor predeterminado para editar manualmente el campo Valor predeterminado en la ventana emergente de información.

Haz clic en Guardar para confirmar los cambios en el campo Valor predeterminado.
Usando sintaxis en línea
Para definir un valor predeterminado directamente dentro del texto de un campo de configuración, añade el valor predeterminado al nombre de la variable dentro de llaves, utilizando la sintaxis [varName{defaultValue}]. Por ejemplo, [customer_id{123}] hace referencia a la variable global customer_id con un valor predeterminado de 123.
Utiliza este método para un campo que no admita una píldora de variable, como una sentencia SQL ingresada manualmente en una actividad de consulta de base de datos.
Si no deseas que la referencia de variable se interprete, utiliza una barra invertida \ para escapar el conjunto de corchetes [ ]. Por ejemplo, \[serverURL{http://server/index.asp}] no utiliza el valor de serverURL aunque esté definido, sino que siempre utiliza el texto literal http://server/index.asp.
Precaución
Dentro de rutas de archivo que contienen barras invertidas, una barra invertida única se interpreta como iniciando una secuencia de escape si va seguida de un conjunto de corchetes [ ]. Se pueden utilizar barras invertidas adicionales para lograr el resultado deseado. Por ejemplo, \\server\share\\[Directory{testing}] se interpreta como \\server\share\testing si la variable Directory no está definida; de lo contrario, se utiliza \\server\share\"valor de Directory". Para evitar este problema, convierte las rutas de archivo al formato URL (por ejemplo, C:/directory/path).
Consejo
Cuando utilices una variable global en una cláusula WHERE, como en una consulta de base de datos o Salesforce, especifica un valor predeterminado para que sea posible probar scripts. De lo contrario, como una variable global obtiene su valor en tiempo de ejecución, la sintaxis puede ser inválida durante las pruebas a menos que especifiques un valor predeterminado.
Eliminar una variable
Para eliminar la variable, haz clic en el icono de eliminación:

Ver dependencias de variables globales
Las dependencias de una variable global son los otros componentes que hacen referencia a esa variable al leer de ella o escribir en ella. Después de crear y usar una variable global en un proyecto, puedes ver estas dependencias.
Después de crear una variable global, la opción Ver dependencias está disponible en la pestaña Componentes del panel del proyecto. Para obtener más información sobre la pestaña Componentes, consulta Menú de acciones de componentes en Pestaña Componentes del panel del proyecto.
La opción Ver dependencias cambia la vista en el panel del proyecto para mostrar otros componentes del proyecto que hacen referencia a la variable global.
Alternativamente, puedes ver las dependencias de variables globales directamente en la pestaña Variables de la paleta de componentes del script.
Vista de dependencias de variables globales
En la vista de dependencias, el nombre de la variable global seleccionada aparece en la parte superior, debajo de las opciones de búsqueda y filtrado existentes. El nombre de la variable global va seguido de una lista de Dependencias que hacen referencia a la variable.
Las dependencias se organizan por categorías como Actividad y Script. Dentro de cada categoría, los componentes se clasifican como Lectura o Escritura para mostrar cómo se accede a la variable.
Puedes hacer clic en el nombre de cualquier componente para abrir su pantalla de configuración.

Los siguientes ejemplos muestran cómo se muestran diferentes tipos de referencias de variables en la vista de dependencias:
- Si un script contiene
$myVar1='abc', está escribiendo un valor en la variable y haciendo referencia amyVar1para acceso de escritura. - Si un script contiene
$myVar2=$myVar1, está haciendo referencia amyVar2para acceso de escritura y amyVar1para acceso de lectura. - Si un script contiene
If(myVar1=='abc', TRUE, FALSE), está haciendo referencia amyVar1para acceso de lectura.
Procedimientos de variables globales
Consulta estas secciones para obtener detalles sobre el uso de variables globales en proyectos:
- Convertir una variable global en una variable de proyecto
- Verificar valores nulos o indefinidos
- Establecer y acceder a variables de matriz
Convertir una variable global en una variable de proyecto
Puedes convertir una variable global existente en una variable de proyecto.
Las variables globales se pueden convertir en variables de proyecto durante la configuración de variables de proyecto. Al configurar una variable de proyecto, ingresa el nombre de una variable global existente en el campo de nombre. Al intentar guardar, un cuadro de diálogo te pide que confirmes que deseas convertir la variable global en una variable de proyecto:
Texto del cuadro de diálogo
La variable global ya existe
Ya existe una variable global con el mismo nombre en el proyecto. ¿Deseas convertir la variable global existente en una variable de proyecto?
Al hacer clic en Continuar, todas las referencias y dependencias de la variable global se transfieren a la variable de proyecto. Esto incluye referencias a la antigua variable global dentro de scripts, que ahora hacen referencia a la variable de proyecto. (Ten en cuenta que un valor para una variable de proyecto establecido en un script durante la ejecución de la cadena de operaciones anula el valor predeterminado especificado en la configuración de la variable de proyecto).
Nota
Si algún campo de configuración hacía referencia a la variable global convertida usando sintaxis de valor predeterminado en línea (por ejemplo, [myVar{defaultValue}]), esa sintaxis permanece en su lugar después de la conversión. Sin embargo, las variables de proyecto ignoran el valor predeterminado en línea. Una variable de proyecto obtiene su valor predeterminado del campo Valor predeterminado en su configuración, no de la sintaxis de valor predeterminado en línea en los campos de configuración.
Para obtener más detalles sobre variables de proyecto, consulta Variables de proyecto.
Verificar valores nulos o indefinidos
Una variable global que no ha sido definida tiene un valor nulo.
Por ejemplo, IsNull(Get("GlobalVariableName")) devuelve verdadero si una variable global con el nombre GlobalVariableName aún no ha sido definida. Esto se puede usar para verificar si una variable global ha sido definida o no.
Establecer y acceder a variables de matriz
Puedes crear matrices de variables globales, también conocidas como variables de matriz. Consulta Matrices para obtener información sobre cómo establecer y recuperar valores de variables de matriz.