Variables globales en Jitterbit Integration 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 a lo largo de un proyecto. Se establecen de manera diferente, como se describe en Variables de proyecto, Variables de Jitterbit y Palabras clave de nombre de archivo, respectivamente. Sin embargo, dado que todos los elementos de datos globales comparten el mismo espacio de nombres, sus nombres deben ser únicos en comparación con todos los demás elementos de datos globales.
Las variables globales se declaran primero en una operación, después de lo cual se vuelven disponibles para ser referenciadas en la misma operación o en operaciones y scripts posteriores. Las operaciones o scripts posteriores son aquellos que están vinculados dentro de una cadena de operaciones utilizando acciones de operación o las funciones RunOperation
o RunScript
. Las operaciones posteriores pueden estar dentro de los mismos flujos de trabajo o flujos de trabajo posteriores.
Las variables globales también se pueden usar como fuente o destino dentro de la operación, como se describe en Lectura de variable y Escritura de variable.
Puede que desee usar variables globales si su 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, puede ser necesario un ID de sesión (devuelto por un servicio web de inicio de sesión) al llamar a servicios web posteriores para 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 ser inicializado e incrementado para cada registro insertado en un destino para identificar su número de ítem.
- 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 ser utilizada para establecer la URL del servicio web de una llamada a un servicio web posterior.
Las variables globales se transmiten a través de operaciones encadenadas. Estas incluyen operaciones que están vinculadas a una operación anterior dentro de la cadena de operaciones usando "en éxito" o "en fallo" acciones de operación, así como aquellas que están vinculadas a través de la función RunOperation
. Las variables globales también pueden ser utilizadas dentro de la misma transformación.
Visualización de variables globales
Las variables globales definidas se muestran en varios lugares:
- En el panel del 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 otros lugares 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 un acceso fácil para insertar referencias de variables globales en scripts, incluyendo 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 un acceso fácil para insertar referencias de variables globales durante el mapeo de transformaciones.
- En las pantallas de configuración de endpoints, las variables globales pueden ser accedidas y utilizadas en cualquier campo que tenga un ícono de variable . Como alternativa a seleccionar una variable global, puedes ingresar manualmente la referencia de la variable usando la sintaxis estándar de corchetes cuadrados de Jitterbit.
Crear y actualizar variables globales
Las variables globales se crean o actualizan utilizando Jitterbit Script (en scripts y transformaciones) o JavaScript (solo en scripts creados como un componente de proyecto). Consulte Tipos de scripts y creación para obtener información sobre cómo crear los diferentes tipos de scripts. Las variables globales configuradas en una conexión de Variable se crean o actualizan automáticamente (consulte Conexión de variable).
Nombres de variables globales
Los nombres de las variables globales pueden estar compuestos por caracteres alfanuméricos (las letras a-z y A-Z, y los dígitos 0-9), puntos (.) y guiones bajos (_). (No se recomiendan otros caracteres, como guiones, ya que pueden causar problemas). Los nombres de las variables globales no son sensibles a mayúsculas; una variable llamada GlobalVar
se trata de la misma manera que globalvar
.
Es una buena práctica utilizar 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 entre otras variables globales construidas de manera similar. Tenga en cuenta que para las variables globales creadas en JavaScript (o para las variables globales de Jitterbit Script que podrían usarse más tarde 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.
Jitterbit Script
En Jitterbit Script utilizado 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 del signo de dólar$
,$ServerURL=URL
crea o actualiza una variable global llamadaServerURL
con 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 llamadaServerURL
con el valor deURL
(el nombre de otra variable o el nombre de un campo en una transformación).
JavaScript
En JavaScript utilizado dentro de scripts creados como un componente de proyecto, la sintaxis utilizada 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 puede ser creada o actualizada usando
var $<name>
o actualizada simplemente usando$<name>
sinvar
:var $
: La expresiónvar $ServerURL="https://www.example.com/"
crea o actualiza una variable globalServerURL
con un valor de cadena dehttps://www.example.com/
. Una nueva variable global debe preceder el$
convar
.$
: La expresión$ServerURL="https://www.example.com/"
actualiza la misma variable globalServerURL
con 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 de JavaScript): Una variable que contiene puntos en su nombre puede ser actualizada o recuperada en JavaScript solo con las funciones
Jitterbit.SetVar
yJitterbit.GetVar
. Como estas funciones no están destinadas a variables globales definidas por el usuario, consulte variables de Jitterbit para más información.Advertencia
Las funciones de JavaScript
Jitterbit.SetVar
yJitterbit.GetVar
están diseñadas específicamente para acceder a las variables de Jitterbit predefinidas. No deben ser utilizadas para acceder a variables globales definidas por el usuario.
Variable endpoint
Durante la configuración de una Conexión variable, se puede crear o actualizar automáticamente una variable global.
Es decir, si durante la configuración se proporciona el nombre de una variable que aún no existe, se crea automáticamente una variable global. Si se proporciona el nombre de una variable global que ya existe, se asocia con el endpoint Variable.
Para obtener detalles sobre cómo crear o actualizar una variable global utilizando este método, consulte Conexión variable.
Recuperar variables globales en scripts o transformaciones
El valor de una variable global se puede devolver utilizando Jitterbit Script (en scripts o transformaciones) o utilizando JavaScript (solo en scripts creados como un componente de proyecto).
Jitterbit Script
En scripts y transformaciones, se puede comenzar con un signo de dólar $
o usar la función Get
para recuperar el valor de una variable global:
$
: Prefijado con un signo de dólar$
, el ejemplo de código$serverURL
recupera 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 Variables Globales. Consulte Agregar una variable global a un script a continuación.
JavaScript
En JavaScript scripts 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
$
. Prefijado con un signo de dólar$
, la expresión$ServerURL
recupera el valor de la variable global llamadaServerURL
. -
Nombre con puntos (recomendado solo para variables de Jitterbit y valores de objetos de JavaScript): Una variable que contiene un punto en su nombre se puede actualizar o recuperar en JavaScript solo con las funciones
Jitterbit.SetVar
yJitterbit.GetVar
. Como estas funciones no están destinadas a variables globales definidas por el usuario, consulte la sección sobre variables de Jitterbit para más información.Advertencia
Las funciones de JavaScript
Jitterbit.SetVar
yJitterbit.GetVar
están diseñadas específicamente para acceder a las variables de Jitterbit predefinidas. No deben usarse para acceder a variables globales definidas por el usuario.En JavaScript, no mezcle su uso de
SetVar
(yGetVar
) con el prefijo$
al establecer (y recuperar) una variable. Use solo una sintaxis. Mezclar las dos sintaxis diferentes para la misma variable puede causar problemas en tiempo de ejecución.Si un JavaScript falla, cualquier cambio realizado en el valor de una variable global se pierde. Solo si el JavaScript se completa con éxito, los valores de las variables globales modificadas están disponibles fuera del script.
En scripts y transformaciones, las variables globales existentes también se muestran en la pestaña Variables de la paleta del componente de script dentro de la subpestaña Variables Globales. Consulte Agregar una variable global a un script a continuación.
Agregar una variable global a un script
En Jitterbit Script o JavaScript utilizado 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 Variables Globales:
Utiliza los triángulos de divulgació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 la 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 la variable.
- Haz doble clic en la variable en la paleta para insertar la sintaxis de la variable en la ubicación del cursor dentro del script.
- Comienza a escribir el nombre de la variable y luego presiona
Control+Space
para mostrar una lista de sugerencias de autocompletado. Selecciona una variable para insertar la sintaxis de la variable. - Ingresa manualmente la sintaxis de la 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 utilizando conectores, puedes usar variables globales en cualquier campo que tenga un ícono de variable . Las variables se pueden usar en campos junto con otra entrada, incluyendo otras variables o palabras clave. Estas acciones se cubren a continuación:
- Seleccionar una variable global
- Alternar formatos entre píldora y texto
- Definir un valor predeterminado
- Eliminar una variable
Seleccionar una variable global
Para acceder a las variables globales, puedes hacer clic en el ícono de variable o ingresar un corchete cuadrado abierto [
para mostrar una lista de variables y palabras clave (si están disponibles para el campo actual).
Dentro de la lista, cada tipo de variable o palabra clave está indicado por el ícono junto a su nombre:
para palabra clave de nombre de archivo para variable global para variable de proyecto para variable de Jitterbit
En la lista, pasa el cursor sobre el nombre de la variable para previsualizar información sobre ella:
La Descripción en el popup de información es [Ninguna] para una variable global. Un Valor se completa solo si la variable global tiene un valor predeterminado especificado en este campo de configuración.
El fondo del ícono 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 ícono 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 que está 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 Valor en el popup de información.
Selecciona una variable para agregar al campo en la ubicación de tu 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 la variable:
Alternar formatos entre píldora y texto
Para cambiar el formato de píldora de variable predeterminado a formato de texto, haz clic en el ícono de colapso :
Esto alterna la visualización del formato de píldora a un formato de texto, con el nombre de la variable encerrado entre corchetes cuadrados [ ]
:
En formato de texto, puedes definir un valor predeterminado.
Para cambiar de un formato de texto de vuelta a formato de píldora, cambia el enfoque fuera del campo, como al hacer clic en otro campo configurable. La entrada del campo regresa automáticamente al formato de píldora predeterminado.
Definir un valor predeterminado
En tiempo de ejecución de la operación, un valor predeterminado definido dentro de un campo de configuración, como se muestra a continuación, se utiliza solo si el valor de la variable no se ha establecido durante el tiempo de ejecución. Esto es diferente durante la prueba de scripts, donde — dado que 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.
Para definir un valor predeterminado dentro de un campo de configuración, primero cambia a formato de texto.
Inmediatamente después del nombre de la variable global dentro de los corchetes cuadrados [ ]
, especifica el valor predeterminado dentro de llaves { }
:
Cuando se especifican valores predeterminados, se utiliza el valor de la variable global si está definido, de lo contrario, se utiliza el valor predeterminado.
Consejo
Al usar una variable global en una cláusula WHERE, como en una consulta de base de datos o en una consulta de Salesforce, puedes especificar un valor predeterminado para que sea posible la prueba de scripts. De lo contrario, como una variable global obtiene su valor en tiempo de ejecución, durante la prueba la sintaxis puede ser inválida si no se ha especificado un valor predeterminado.
Si no deseas que la variable global sea interpretada, utiliza una barra invertida \
para escapar el conjunto de corchetes [
]
.
Por ejemplo, lo siguiente no utiliza el valor de serverURL
incluso si está definido, sino que siempre usa http://server/index.asp
:
\[serverURL{http://server/index.asp}]
Precaución
Dentro de las rutas de archivo que contienen barras invertidas, una sola barra invertida se interpreta como el inicio de una secuencia de escape si es seguida por un conjunto de corchetes [
]
.
Se pueden usar 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 usa \\server\share\"valor de Directory"
.
Para evitar este problema, convierte las rutas de archivo al formato de URL (por ejemplo, C:/directory/path
).
Eliminar una variable
Para eliminar la variable, haz clic en el ícono de eliminar :
Ver dependencias de variables globales
Las dependencias de una variable global son los otros componentes que hacen referencia a esa variable al leerla 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 se vuelve disponible desde la pestaña Componentes en el panel del proyecto. Para más información sobre la pestaña Componentes, consulta el menú de acciones de componentes en la 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 de 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 es seguido por una lista de Dependencias que hacen referencia a la variable.
Las dependencias están organizadas 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 exhiben 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 amyVar1
para acceso de escritura. - Si un script contiene
$myVar2=$myVar1
, está haciendo referencia amyVar2
para acceso de escritura y amyVar1
para acceso de lectura. - Si un script contiene
If(myVar1=='abc', TRUE, FALSE)
, está haciendo referencia amyVar1
para acceso de lectura.
Cómo usar 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 arreglo
Convertir una variable global en una variable de proyecto
Puedes convertir una variable global ya existente en una variable de proyecto.
Las variables globales pueden ser convertidas 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, se muestra un aviso que te pide confirmar que deseas convertir la variable global en una variable de proyecto:
Texto del diálogo
La variable global ya existe
Ya existe una variable global con el mismo nombre en el proyecto. ¿Desea convertir la variable global existente en una variable del proyecto?
Al hacer clic en Continuar, todas las referencias y dependencias de la variable global se transfieren a la variable del proyecto. Esto incluye referencias a la antigua variable global dentro de los scripts, que ahora hacen referencia a la variable del proyecto. (Tenga en cuenta que un valor para una variable del 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 del proyecto.)
Para más detalles sobre las variables del proyecto, consulte Variables del proyecto.
Comprobar 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 arreglo
Puede crear arreglos de variables globales, también conocidas como variables de arreglo. Consulte Arreglos para obtener información sobre cómo establecer y recuperar valores de variables de arreglo.