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 demás 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 el proyecto. Su configuración es diferente, como se describe en Variables de proyecto, Variables de Jitterbit y Palabras clave del nombre de archivo, respectivamente. Sin embargo, como todos los elementos de datos globales comparten el mismo espacio de nombres, sus nombres deben ser únicos al compararlos con los de los demás elementos de datos globales.
Las variables globales se declaran primero en una operación, después de lo cual quedan disponibles para ser referenciadas en la misma operación o en operaciones abajo en la cadena y secuencias de comandos. Las operaciones o secuencias de comandos posteriores son aquellos que están vinculados dentro de una cadena de operación usando acciones de operación o el RunOperation
o RunScript
funciones. Las operaciones posteriores pueden estar dentro del mismo flujos de trabajo o en flujos de trabajo abajo en la cadena.
Las variables globales también se pueden utilizar como origen o destino dentro de la operación como se describe en Lectura de variable y Escritura de variable.
Es posible que desee utilizar variables globales si su caso de uso implica compartir información con partes posteriores de una cadena de operación, como en estos ejemplos:
- Usar valores creados en una transformación en una transformación posterior. Por ejemplo, podría requerirse un ID de sesión (obtenido de un servicio web de inicio de sesión) al llamar a servicios web posteriores para la autenticación.
- Utilizar un valor creado en una parte de una transformación en una etapa posterior de la transformación. Por ejemplo, se puede inicializar e incrementar un número de registro por 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 posterior.
Las variables globales se procesan mediante operaciones encadenadas. Estas incluyen operaciones vinculadas a una operación anterior dentro de la cadena de operación mediante acciones de operación "en caso de éxito" o "en caso de error", así como aquellos que se vinculan a través de la RunOperation
función. Las variables globales también se pueden utilizar 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í puede ver si la variable global está referenciada en otra parte del proyecto y ver sus dependencias.
- En el editor de secuencia de comandos, las variables globales se muestran en la paleta de componentes de secuencias de comandos dentro de la pestaña Variables, en la subpestaña Variables Globales. Esta ubicación facilita la inserción de referencias a variables globales en secuencias de comandos, incluso en secuencias de comandos de transformación en modo secuencia de comandos.
- En transformación modo de mapeo, las variables globales se muestran en la pestaña Variables, a la izquierda, en la categoría Variables Globales. Esta ubicación facilita la inserción de referencias a variables globales durante la asignación de transformación en el modo de asignación.
- En pantallas de configuración de extremo, se puede acceder a las variables globales y usarlas en cualquier campo que tenga una Icono de variable. Como alternativa a la selección de una variable global, puede introducir manualmente la referencia de la variable utilizando la sintaxis estándar de corchetes de Jitterbit Script.
Crear y actualizar variables globales
Las variables globales se crean o actualizan utilizando Jitterbit Script (en secuencias de comandos y transformaciones) o JavaScript (solo en secuencias de comandos creados como componente del proyecto). Consulte Tipos de Secuencia de comandos y creación para obtener información sobre la creación de los diferentes tipos de secuencias de comandos. 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 variables globales pueden estar compuestos por caracteres alfanuméricos (las letras a-z y A-Z, y los dígitos del 0 al 9), puntos (.) y guiones bajos (_). (Otros caracteres, como los guiones, no se recomiendan y pueden causar problemas). Los nombres de variables globales no distinguen entre mayúsculas y minúsculas; una variable llamada GlobalVar
se trata igual que globalvar
.
Es recomendable usar puntos o guiones bajos al definir variables globales para facilitar su búsqueda. Por ejemplo, una variable global creada en un Jitterbit Script llamado org.account.filename
comienza con org
, seguido de account
, etc., organizándola eficazmente cuando se encuentra en una lista entre otras variables globales de construcción similar. Tenga en cuenta que para las variables globales creadas en JavaScript (o para las variables globales de Jitterbit Script que puedan usarse posteriormente en JavaScript), recomendamos usar guiones bajos en lugar de puntos. El uso de puntos en variables globales definidas por el usuario causa problemas en tiempo de ejecución. Se proporciona más información en JavaScript subsección a continuación.
Jitterbit Script
En Jitterbit Script se utiliza dentro de secuencias de comandos y transformaciones, una variable global se puede definir comenzando con un signo de dólar $
o llamando al Set
función:
$
: Usando el signo de dólar$
sintaxis,$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 elSet
función,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 se utiliza dentro de secuencias de comandos creada como componente del proyecto, la sintaxis para configurar 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 contenga un punto en su nombre se puede crear o actualizar usando
var $<name>
o actualizado simplemente mediante el uso$<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 a la$
convar
.$
: La expresión$ServerURL="https://www.example.com/"
actualiza la misma variable globalServerURL
Con la misma cadena URL. Esto solo funciona con variables globales ya existentes.
-
El nombre incluye un punto (recomendado solo para variables Jitterbit y valores de objetos JavaScript): Una variable que contiene puntos en su nombre se puede actualizar o recuperar en JavaScript solo con el
Jitterbit.SetVar
yJitterbit.GetVar
Funciones. Dado que estas funciones no están diseñadas para variables globales definidas por el usuario, consulte Variables de Jitterbit para más información.Advertencia
El JavaScript
Jitterbit.SetVar
yJitterbit.GetVar
Las funciones están diseñadas específicamente para acceder a las variables Jitterbit predefinidas. No deben utilizarse para acceder a variables globales definidas por el usuario.
Extremo variable
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 ya existente, esta se asocia al extremo Variable.
Para obtener detalles sobre cómo crear o actualizar una variable global utilizando este método, consulte Conexión de variable.
Recuperar variables globales en secuencias de comandos o transformaciones
El valor de una variable global se puede devolver utilizando Jitterbit Script (en secuencias de comandos o transformaciones) o usando JavaScript (sólo en secuencias de comandos creados como componente del proyecto).
Jitterbit Script
En secuencias de comandos y transformaciones, puedes empezar con un signo de dólar $
o utiliza el Get
Función para recuperar el valor de una variable global:
$
: Con el prefijo de 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 elGet
función, el ejemplo de códigoGet("serverURL")
devuelve el mismo valor (o campo en una transformación).
En secuencias de comandos y transformaciones, las variables globales existentes también se muestran en la pestaña Variables de la paleta de componentes de secuencias de comandos dentro de la subpestaña Variables Globales. Consulte Agregar una variable global a un secuencia de comandos abajo.
JavaScript
En JavaScript secuencias de comandos 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 un signo de dólar$
, la expresión$ServerURL
recupera el valor de la variable global llamadaServerURL
. -
Nombre con puntos (recomendado solo para variables Jitterbit y valores de objetos JavaScript): Una variable que contiene un punto en su nombre se puede actualizar o recuperar en JavaScript solo con el
Jitterbit.SetVar
yJitterbit.GetVar
Funciones. Dado que estas funciones no están diseñadas para variables globales definidas por el usuario, consulte la sección sobre Variables de Jitterbit para más información.Advertencia
El JavaScript
Jitterbit.SetVar
yJitterbit.GetVar
Las funciones están diseñadas específicamente para acceder a las variables Jitterbit predefinidas. No deben utilizarse para acceder a variables globales definidas por el usuario.
En JavaScript, no mezcle ni combine el uso de SetVar
(y GetVar
) con $
-Prefijo al establecer (y recuperar) una variable. Use solo una sintaxis. Mezclar 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. Solo si el JavaScript se completa correctamente, los valores modificados de las variables globales estarán disponibles fuera del secuencia de comandos.
En secuencias de comandos y transformaciones, las variables globales existentes también se muestran en la pestaña Variables de la paleta de componentes de secuencias de comandos, dentro de la subpestaña Variables Globales. Consulte Agregar una variable global a un secuencia de comandos abajo.
Agregar una variable global a un secuencia de comandos
En Jitterbit Script o JavaScript utilizado dentro de secuencias de comandos creadas dentro de una operación, las variables globales existentes se muestran en la pestaña Variables de la paleta de componentes de secuencias de comandos dentro de la subpestaña Variables globales:
Para agregar la sintaxis variable a un secuencia de comandos (Jitterbit Script o JavaScript), utilice uno de estos métodos:
- Arrastre la variable desde la paleta al secuencia de comandos para insertar la sintaxis de la variable.
- Haga doble clic en la variable en la paleta para insertar la sintaxis de la variable en la ubicación del cursor dentro del secuencia de comandos.
- Comience a escribir el nombre de la variable y luego presione
Control+Space
Para mostrar una lista de sugerencias de autocompletado. Seleccione una variable para insertar su sintaxis.
Introduzca manualmente la sintaxis de la variable.
Utilizar variables globales en las pantallas de configuración
Durante la configuración de varios componentes del proyecto, incluida la configuración de extremo mediante conectores, puede utilizar variables globales en cualquier campo que tenga una Icono de variable. Las variables se pueden usar en campos junto con otras entradas, incluso con otras variables o palabras clave. Estas acciones se describen a continuación:
- Seleccionar una variable global
- Alternar formatos entre píldora y texto
- Definir un valor predeterminado
- Eliminar una variable
Seleccione una variable global
Para acceder a las variables globales, puede hacer clic en el icono icono de variable o ingrese un corchete 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 se indica con el icono junto a su nombre:
para la palabra clave del nombre de archivo para la variable global para la variable del proyecto para la variable Jitterbit
En la lista, pase el cursor sobre el nombre de la variable para obtener una vista previa de la información sobre ella:
La Descripción en la ventana emergente de información es [Ninguna] para una variable global. Un Valor solo se completa si la variable global tiene un valor predeterminado especificado en este campo de configuración.
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 el valor predeterminado especificado en el campo actual.
Advertencia
Si una variable global obtiene su valor en un secuencia de comandos arriba en la cadena al componente, su valor evaluado anula el valor predeterminado especificado en el campo de configuración. Tenga en cuenta que los valores evaluados obtenidos en un secuencia de comandos no se reflejan en el Valor de la ventana emergente de información.
Seleccione una variable para añadirla al campo donde se encuentra el 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 la información sobre la variable, pase el cursor sobre el icono de la variable:
Alternar formatos entre píldora y texto
Para cambiar el formato predeterminado de la píldora variable a formato de texto, haga clic en el icono icono de colapso:
Esto cambia la visualización del formato de píldora a formato de texto, con el nombre de la variable entre corchetes. [ ]
:
En formato de texto, puedes definir un valor predeterminado.
Para cambiar del formato de texto al formato de píldora, desplace el foco fuera del campo, por ejemplo, haciendo clic en otro campo configurable. La entrada del campo vuelve automáticamente al formato de píldora predeterminado.
Definir un valor predeterminado
Durante la tiempo de ejecución de la operación, un valor predeterminado definido en 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 la tiempo de ejecución. Esto es diferente durante las pruebas de secuencia de comandos, donde —como todavía no se habrán instanciado los valores del secuencia de comandos arriba en la cadena se utiliza en su lugar cualquier valor predeterminado definido dentro de un campo de configuración.
Para definir un valor predeterminado dentro de un campo de configuración, primero cambiar al formato de texto.
Inmediatamente después del nombre de la variable global, entre corchetes. [ ]
, especifique el valor predeterminado entre llaves { }
:
Cuando se especifican valores predeterminados, se utiliza el valor de la variable global si está definida; de lo contrario, se utiliza el valor predeterminado.
Consejo
Al usar una variable global en una cláusula WHERE, como en una base de datos o Salesforce consultar, puede especificar un valor predeterminado para que prueba de secuencia de comandos es posible. De lo contrario, como una variable global obtiene su valor en tiempo de ejecución, durante las pruebas, la sintaxis podría ser inválida si no se ha especificado un valor predeterminado.
Si no desea que se interprete la variable global, utilice una barra invertida \
para escapar del conjunto de corchetes [
]
por ejemplo, lo siguiente no utiliza el valor de serverURL
incluso si está definido, pero en su lugar siempre se utiliza http://server/index.asp
:
\[serverURL{http://server/index.asp}]
Precaución
En las rutas de archivo que contienen barras invertidas, una sola barra invertida se interpreta como el inicio de una secuencia de escape si va seguida de un corchete. [
]
.
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á definido, de lo contrario \\server\share\"value of Directory"
se utiliza
Para evitar este problema, convierta las rutas de archivo al formato URL (por ejemplo, C:/directory/path
).
Eliminar una variable
Para eliminar la variable, haga clic en el icono eliminar icono:
Ver dependencias de variables globales
Las dependencias de una variable global son otros componentes que dependen de ella porque leen o escriben en ella. Una vez creada y utilizada una variable global en un proyecto, se pueden 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 (consulte menú de acciones de componentes en la pestaña Componentes del panel Proyecto). La opción Ver dependencias cambia la vista en el panel del proyecto para mostrar otras partes del proyecto de las que depende la variable global.
En la vista de dependencias, el nombre de la variable global seleccionada aparece en la parte superior, debajo de las funciones de búsqueda y filtrado. El nombre de la variable global va seguido de una lista de Dependencias de las que depende. Esta lista está organizada por categorías como Actividad y Secuencia de comandos, y se clasifica en Lectura o Escritura para indicar el tipo de acceso de una referencia de variable específica.
Por ejemplo:
- Si un secuencia de comandos contiene
$myVar1='abc'
, está escribiendo un valor en la variable y haciendo referenciamyVar1
para acceso de escritura. - Si un secuencia de comandos contiene
$myVar2=$myVar1
, hace referenciamyVar2
para acceso de escritura ymyVar1
para acceso de lectura. - Si un secuencia de comandos contiene
If(myVar1=='abc', TRUE, FALSE)
, hace referenciamyVar1
Para acceso de lectura.
Tutoriales variables globales
Consulte estas secciones para obtener más información sobre el uso de variables globales en proyectos:
- Convertir una variable global en una variable de proyecto
- Comprobar 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 ya 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, introduzca el nombre de una variable global existente en el campo de nombre. Al intentar guardar, se le pedirá que confirme que desea convertir la variable global en una variable de proyecto:
Texto de diálogo
La variable global ya existe
Ya existe una variable global con el mismo nombre en el proyecto. ¿Desea convertirla en una variable de proyecto?
Al hacer clic en Continuar, todas las referencias y dependencias de la variable global se transfieren a la variable del proyecto. Esto incluye las referencias a la variable global anterior dentro de los secuencias de comandos, que ahora hacen referencia a la variable del proyecto. (Tenga en cuenta que el valor de una variable del proyecto definido en un secuencia de comandos durante la ejecución de la cadena de operación anula el valor predeterminado especificado en la configuración de la variable del proyecto).
Para obtener más detalles sobre las variables del proyecto, consulte Variables del proyecto.
Comprobar valores nulos o indefinidos
Una variable global que no se ha definido tiene un valor nulo.
Por ejemplo, IsNull(Get("GlobalVariableName"))
devuelve verdadero si una variable global con el nombre GlobalVariableName
Aún no se ha definido. Esto permite comprobar si una variable global se ha definido 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 configurar y recuperar valores de variables de matriz.