Crear un script en Jitterbit Design Studio
Introducción
Los scripts en Design Studio se utilizan para manipular datos o para realizar lógica avanzada (if, while, case statements, etc.). Los scripts se utilizan a menudo dentro de operaciones y transformaciones para proporcionar funcionalidad adicional más allá de las capacidades básicas de operación/transformación. Pueden escribirse utilizando el lenguaje de script de Jitterbit o, si se crea un script como un elemento de proyecto, utilizando JavaScript.
Hay varios lugares en Design Studio donde se puede crear un script dependiendo de lo que se quiera lograr. Cada uno de estos se resume a continuación y se describe con más detalle en esta página. La interfaz de usuario para construir scripts es similar entre todos los tipos y se describe al final de este documento.
-
Script como un elemento de proyecto
Este tipo de script se puede insertar en una operación, ya sea como un paso dentro de una operación o en una operación dedicada a ejecutar el script. También se puede llamar utilizando la función RunScript(). Este tipo de script aparecerá en el árbol a la izquierda bajo la sección Scripts. -
Script en un campo de destino en una transformación
Este tipo de script se puede editar en un campo en una transformación para aplicar la lógica especificada a tu mapeo de transformación. El último valor devuelto en el script se utilizará como el valor para tu campo de destino. Este tipo de script está disponible solo en todos los campos dentro del mapeo de transformación. -
Script como una condición dentro de una transformación
Este tipo de script se puede crear en una carpeta en una transformación para determinar si se utilizará la instancia de origen según el resultado de la condición. El último valor devuelto en el script debe ser verdadero o falso. Este tipo de script se puede agregar solo dentro del mapeo de transformación.Nota
Usar un script como una condición dentro de una transformación no debe confundirse con usar una condición en una operación. Esta última se cubre por separado en Crear una condición.
-
Pruebas de scripts usando el script pad
El script pad es una herramienta dentro de Design Studio que se puede utilizar para ejecutar pruebas básicas de scripts que no necesitas guardar. Esta herramienta es accesible desde la barra de menú bajo Ver > Script Pad.
Tipos de scripts
Script como un elemento de proyecto
Los scripts pueden ejecutarse por separado de las transformaciones como un paso de operación independiente. Puedes, por ejemplo, crear un script que trunque una tabla de base de datos antes de ejecutar una transformación para llenarla nuevamente. También puedes guardar scripts con lógica para reutilizarlos en varios mapeos en transformaciones. Puedes ejecutar scripts desde otros scripts utilizando la función RunScript() o insertándolos en una operación.
Dentro de tu proyecto en Design Studio, hay varias formas de crear un nuevo script como un elemento de proyecto:
- En el árbol a la izquierda, haz clic derecho en la sección Scripts y selecciona Nuevo Script o Nuevo JavaScript.
-
Dentro de una operación existente, haz clic derecho en cualquier punto de inserción
y elige Insertar > Script. O, haz clic derecho en una fuente o destino y elige Insertar Antes de Esto > Script o Insertar Después de Esto > Script. Un ícono de script aparecerá dentro del gráfico de operación. Luego haz una de las siguientes:- Haz clic derecho en el ícono de script y elige Seleccionar Script Existente, Crear Nuevo Script de Jitterbit, o Crear Nuevo JavaScript.
- Haz doble clic en el ícono de script y selecciona un script existente de la lista, o utiliza los botones para Crear Nuevo Script de Jitterbit o Crear Nuevo JavaScript.
Las opciones que se refieren a "Script de Jitterbit" o simplemente "Script" mostrarán un generador de scripts en lenguaje de Script de Jitterbit.

A partir de la versión 8.24.2, las opciones que se refieren a "Javascript" abrirán un generador de scripts en JavaScript.

La interfaz de usuario del generador de scripts para ambos tipos se cubre en Construir scripts al final de esta página.
También puedes volver al script existente en cualquier momento desde el árbol a la izquierda bajo Scripts.
Script en un campo de destino en una transformación
Este tipo de script se puede editar en un campo en una transformación para aplicar la lógica especificada a tu mapeo de transformación. El último valor devuelto en el script se utilizará como el valor para tu campo de destino. Por ejemplo, puedes usar scripting para cambiar un campo de cadena a int, concatenar valores, usar una búsqueda en la base de datos para un campo, o establecer la población condicional del campo.
Este tipo de script está disponible solo en todos los campos dentro del mapeo de transformación. Dentro de tu mapeo de transformación, haz doble clic en el campo de destino para el que deseas editar el script.

Esto abrirá el generador de scripts estándar a la izquierda y el árbol de origen a la derecha. Los scripts en transformaciones deben usar el lenguaje de script de Jitterbit. La interfaz de usuario del generador de scripts se cubre en Construir scripts al final de esta página.

Script como una condición dentro de una transformación
Este tipo de script se puede crear en una carpeta en una transformación para determinar si la instancia de origen se utilizará en función del resultado de la condición. El último valor devuelto en el script debe ser verdadero o falso. Si el valor devuelto no es un valor verdadero/falso, se tratará como falso.
Nota
Usar un script como una condición dentro de una transformación no debe confundirse con usar una condición en una operación. Este último se cubre por separado en Crear una condición.
Este tipo de script es accesible solo desde el mapeo de transformación. Dentro de tu mapeo de transformación, haz clic derecho en una carpeta que tenga Uno o Más Elementos [E+] o Cero o Más Elementos [E*] (consulta notación de ruta de entidad jerárquica explicada) y elige Agregar condición.

Esto creará una condición que ahora aparece bajo tu carpeta. Haz doble clic en ella para abrir el generador de scripts estándar a la izquierda y el árbol de origen a la derecha.

Los scripts en las transformaciones deben usar el lenguaje de script de Jitterbit. La interfaz de usuario del generador de scripts se cubre en Construir scripts al final de esta página.

Pruebas de scripts usando el script pad
El script pad es una herramienta dentro de Design Studio que se puede usar para ejecutar pruebas básicas de scripts que no necesitas guardar. Esta herramienta es accesible desde la barra de menú bajo Ver > Script Pad.

Esto mostrará un script pad básico para fines de prueba. Los scripts en el script pad deben usar el lenguaje de script de Jitterbit. La interfaz de usuario del generador de scripts se cubre en Construir scripts al final de esta página.

Construir scripts
La interfaz de usuario del generador de scripts es similar para todos los tipos de scripts descritos anteriormente en esta página. Lo siguiente explica cada posible elemento de la interfaz del generador de scripts y explica qué elementos se pueden usar dentro de los tipos de scripts especificados.
Nota
También consulta Características del generador de fórmulas para una colección de consejos sobre cómo interactuar con la interfaz de usuario.
Script
El área de script donde puedes ingresar tu script está presente en todos los tipos de scripts. Cada elemento del script se explica a continuación.

- Números de línea: Los números de línea aparecen en el extremo izquierdo del script. Para activar o desactivar los números de línea, haz clic derecho en el fondo del script y selecciona Mostrar números de línea.
-
Área de script: El área de script es donde construyes tu script. Lo que ingreses aquí depende del lenguaje de script que se esté utilizando.
- Lenguaje de script de Jitterbit: Para scripts que utilizan el lenguaje de scripting de Jitterbit, la expresión final debe estar contenida dentro de las etiquetas
<trans>...</trans>. Consulta Lenguaje de script de Jitterbit para requisitos de sintaxis adicionales y consejos. - JavaScript: Para scripts que utilizan JavaScript, no se necesitan etiquetas. Simplemente ingresa tu script en JavaScript aquí. Consulta JavaScript para información específica sobre el uso de JavaScript en Harmony.
Actualmente, el uso de JavaScript está limitado a scripts creados como elementos de proyecto. Para scripts creados como elementos de proyecto, el tipo de script también se listará sobre el área de script, junto al nombre del script:


- Lenguaje de script de Jitterbit: Para scripts que utilizan el lenguaje de scripting de Jitterbit, la expresión final debe estar contenida dentro de las etiquetas
-
Validación: Design Studio proporciona verificación y resaltado de sintaxis básicos. Si el script pasa la validación de sintaxis básica, una línea debajo del área de script indicará: "El script es válido." Si el script no pasa la validación de sintaxis básica, se proporcionará información específica sobre el error aquí.
- Modo: Usa este menú desplegable para alternar entre el modo Desarrollador y el modo Analista de Negocios. El modo desarrollador proporciona una interfaz de usuario para usuarios avanzados, mientras que el modo analista de negocios proporciona una interfaz de asistente que es más amigable para los no desarrolladores.
- Línea y columna: Los números en la parte inferior derecha del área de script indican la línea y la columna en el script donde se encuentra el cursor. Para saltar a una línea específica, puedes hacer clic derecho en el fondo del script y seleccionar Ir a la línea.
Fuente
El árbol de origen aparece en el panel derecho solo para scripts creados durante el mapeo de transformación, y no es aplicable para scripts creados como elementos de proyecto. Dentro del script, puedes usar elementos de datos de origen para hacer referencia a los datos de origen por la ruta del campo en el árbol de origen.

Puedes agregar elementos de datos de origen a tu script de cualquiera de las siguientes maneras:
- Haz doble clic en el campo o carpeta en el árbol de origen a la derecha para agregarlo a tu script a la izquierda.
- Haz clic en el campo o carpeta en el árbol de origen a la derecha, luego usa el icono
para agregarlo a tu script a la izquierda. - Ingresa la ruta de origen directamente en el área del script.
La siguiente funcionalidad también está disponible:
- Expandir/Colapsar: Usa los iconos
para colapsar o expandir todos los elementos en el árbol de origen. - Buscar: Si tienes muchos elementos en tu árbol de origen, usa el icono de búsqueda
para buscar dentro de tu árbol de origen. - Cargar Datos de Origen: Carga datos de origen en tu transformación para fines de prueba usando el botón
.
Funciones
La pestaña Funciones proporciona una lista de funciones disponibles para usar en tu script. Las funciones específicas disponibles dependen de si tu script está utilizando Jitterbit Script language o JavaScript. La siguiente funcionalidad está disponible para ambos tipos:
- Filtrar: Si conoces la función específica que estás buscando, usa el cuadro de búsqueda que aparece sobre la lista de funciones para buscarla.
- Insertar: Para usar una función en el script, haz doble clic en la función o, con la función seleccionada, haz clic en el icono de insertar
. - Expandir/Colapsar: Usa los iconos
para colapsar o expandir la lista de funciones. - Ayuda: Con una función seleccionada, haz clic en el icono
para ver la documentación sobre la función directamente dentro de Studio.
Si estás utilizando el lenguaje de scripts de Jitterbit, las funciones disponibles están organizadas en carpetas por categoría.

Cada función de Jitterbit Script está documentada dentro de cada categoría:
- Funciones de caché
- Funciones de conector
- Funciones de conversión
- Funciones criptográficas
- Funciones de base de datos
- Funciones de fecha y hora
- Funciones de depuración
- Funciones de diccionario y arreglo
- Funciones de diferencia
- Funciones de correo electrónico
- Funciones de información del entorno
- Funciones de archivo
- Funciones generales
- Funciones de instancia
- Funciones LDAP
- Funciones de registro y error
- Funciones lógicas
- Funciones matemáticas
- Funciones de Salesforce
- Funciones de cadena
- Funciones de validación de texto
- Funciones XML
Si estás utilizando JavaScript, las funciones disponibles están separadas en carpetas para Jitterbit, Palabras clave, Funciones comunes o Matemáticas.

Jitterbit
Esta categoría contiene una lista de funciones específicas de Jitterbit. Estas incluyen un número limitado de funciones estándar de Jitterbit, así como varias funciones de JavaScript específicas de Jitterbit.
Actualmente, un número limitado de las funciones de Jitterbit Script están disponibles para su uso en JavaScript. Para acceder a una de esas funciones de Jitterbit en tu JavaScript, precede la función con "Jitterbit.". Estas funciones de Jitterbit están disponibles para su uso en JavaScript en Jitterbit:
-
Jitterbit.ReadFile(string source_id[, string file_name])lee un archivo de la fuente especificada como se describe en el constructor de fórmulas funciones de archivo. El valor devuelto es una cadena. Por ejemplo, en JavaScript, utilizando esta función de Jitterbit para leer un archivo:var MyData = Jitterbit.ReadFile("<TAG>Sources/myfile</TAG>"); -
Jitterbit.WriteFile(string target_id, type file_contents[, string file_name])escribe en un archivo y vacía automáticamente el archivo. No se devuelve ningún valor. Consulta WriteFile en el constructor de fórmulas Funciones de archivo. -
Jitterbit.DbExecute(string database_id, string sql_str, ...)ejecuta una declaración SQL en una base de datos y devuelve los resultados. El valor devuelto es una cadena. Consulta DBExecute en el constructor de fórmulas Funciones de base de datos. -
Jitterbit.DbLookup(string database_id, string sql_str)Ejecuta una declaración SQL en una base de datos y devuelve el primer resultado que coincide con los criterios especificados. El valor devuelto es una cadena. Consulta DBLookup en el Constructor de Fórmulas Funciones de base de datos. -
Jitterbit.GetVar(string name)yJitterbit.SetVar(string name, string value)Advertencia
Las funciones
Jitterbit.GetVaryJitterbit.SetVarestán diseñadas para permitir el uso de variables que contienen puntos dentro del nombre de la variable. Sin embargo, no se recomienda usar puntos en un nombre de variable. Dado que el valor se convertirá en una cadena cuando se establezca la variable, estas funciones no se pueden usar con tipos de datos complejos como arreglos, diccionarios u objetos JSON. En su lugar, se recomienda crear variables globales sin puntos y usar guiones bajos en lugar de puntos y utilizar la sintaxis estándar del signo de dólar$como se describe en Variables globales.La función
Jitterbit.GetVarrecupera una variable global de Jitterbit previamente asignada (una variable precedida por "Jitterbit"). El valor devuelto es el tipo de dato apropiado.La función
Jitterbit.SetVarasigna un valor a una variable global de Jitterbit (una variable precedida por "Jitterbit"). El valor devuelto es una cadena. Este ejemplo utiliza una API personalizada que ejecuta una operación que contiene un JavaScript utilizandoJitterbit.GetVaryJitterbit.SetVar:var response="Hello World"; response += "\r\nProject name: " + Jitterbit.GetVar("$jitterbit.operation.project_name"); response += "\r\nOperation Name: " + Jitterbit.GetVar("$jitterbit.operation.name"); response += "\r\ntest_var: " + Jitterbit.GetVar("$jitterbit.api.request.parameters.test_var"); Jitterbit.SetVar("$jitterbit.api.response.headers.content_type","text/plain"); Jitterbit.SetVar("$jitterbit.api.response.headers.test_header", "This is a header test"); Jitterbit.SetVar("$jitterbit.api.response",response);
Incluidas en esta categoría hay varias funciones adaptadas para su uso con JavaScript en Jitterbit. Estas funciones no están precedidas por "Jitterbit.".
-
WriteToOperationLogenvía la salida al registro de operaciones actual de Jitterbit. Creada para su uso con JavaScript en Jitterbit, y funciona de manera similar a la función de Jitterbit descrita en el Constructor de Fórmulas Funciones de registro y error. -
SetScriptOutputySetScriptResultestablecen la salida para el script. Estas dos funciones son alias, y cualquiera de ellas puede ser utilizada según tu preferencia. A diferencia de los Scripts de Jitterbit, que devuelven automáticamente el valor de la última línea, los JavaScripts de Jitterbit no devuelven automáticamente un valor. Puedes usar cualquiera de estas funciones en tu JavaScript para devolver el resultado del script. Por ejemplo:var MyVariable = "Hello World"; WriteToOperationLog(MyVariable); SetScriptResult(MyVariable);
Palabras clave
Esta categoría contiene una lista de palabras clave de JavaScript en el estándar ECMAScript 5.1, y se incluye aquí por conveniencia.
Funciones comunes
Esta categoría contiene una lista de funciones de JavaScript en el estándar ECMAScript 5.1 que pueden ser relevantes para los usuarios de Jitterbit. Esta categoría no es exhaustiva; puedes usar otras funciones de JavaScript que no están listadas aquí, como los objetos Array, Date y String de JavaScript y sus funciones asociadas.
Nota
Para una lista completa de funciones de JavaScript, consulta el estándar ECMAScript 5.1 en https://www.ecma-international.org/ecma-262/5.1/.
Matemáticas
Esta categoría contiene propiedades de funciones disponibles para el objeto math de JavaScript según lo especificado en el estándar ECMAScript 5.1. Esta categoría se proporciona para facilitar la referencia; para la documentación completa, consulta el estándar ECMAScript 5.1.
Elementos del proyecto
La pestaña Elementos del Proyecto proporciona una lista de elementos del proyecto que están disponibles para usar en tu script, organizados por tipo de elemento. Estos corresponden a los elementos que ves en el lado izquierdo de Studio dentro del árbol de elementos del proyecto (por ejemplo, una fuente o destino existente).

Las opciones de filtro, insertar y expandir/colapsar son las mismas que las descritas en las funciones anteriores.
Elementos de datos
La pestaña Elementos de Datos proporciona Variables Globales, Variables del Proyecto y Variables de Jitterbit disponibles.

-
Variables Globales: Las variables globales se establecen en tiempo de ejecución de la operación y se vuelven disponibles para usar en la parte posterior de la operación (es decir, en una cadena de operaciones). Consulta Variables globales para más información.
-
Variables del Proyecto: Las variables del proyecto pueden definirse antes del tiempo de ejecución de la operación y se vuelven disponibles para usar globalmente dentro de tu proyecto (por ejemplo, en fuentes y destinos, para credenciales, etc.). Las variables del proyecto se crean como objetos del proyecto y aparecen dentro del árbol del proyecto en el lado izquierdo de Design Studio. También se pueden editar desde la Consola de Administración en la página de Proyectos bajo la pestaña Variables del Proyecto o desde Citizen Integrator si se incluyen en una receta de Citizen Integrator.
Nota
Cualquier edición de las variables del proyecto a través de la Consola de Administración tiene efecto inmediato.
-
Variables de Jitterbit: Las variables de Jitterbit son predefinidas por Harmony o pueden ser predefinidas en el archivo de configuración del agente privado (consulta Editar el archivo de configuración (jitterbit.conf)). Las variables de Jitterbit también se conocen como variables globales predefinidas. Cada variable de Jitterbit está documentada:
Desde la pestaña Elementos de Datos, también puedes convertir una variable global en una variable de proyecto y ver dónde se utiliza cada uno de tus elementos de datos dentro de tu proyecto. Para acceder a estas opciones, haz clic derecho en una variable para mostrar las siguientes opciones:
-
Promover a una Variable de Proyecto: Si tienes una variable global que deseas hacer estática, puedes usar esta opción para convertirla en una variable de proyecto. Esta opción estará deshabilitada para las variables de proyecto actuales y las variables de Jitterbit.

-
Ver Referencias: Si tienes muchas variables dentro de tu proyecto, puedes usar esta opción para ver dónde se utiliza cada una. Ver referencias mostrará una tabla de elementos del proyecto que incluye información sobre mapeo y acceso.

Las opciones de filtro e inserción son las mismas que las descritas en las funciones anteriores.
Nota
Las variables locales no se enumeran en esta sección porque no están disponibles globalmente para su uso. Sin embargo, aún puedes usarlas localmente dentro de tu script. Consulta Variables locales para más información.
Plugins
La pestaña Plugins enumera los plugins disponibles para su uso en tu Script de Jitterbit. Actualmente, no se admite el uso de plugins en un JavaScript. Si deseas usar un plugin en un script, utiliza un Script de Jitterbit.
Nota
No todos los complementos se pueden usar en scripts; algunos se aplican solo a fuentes/destinos. Consulta Personalizaciones > Complementos para obtener instrucciones sobre cómo agregar complementos.

- Insertar: Para acceder a un complemento en el script, haz doble clic en el complemento o, con el complemento seleccionado, haz clic en el ícono de insertar
. - Ver manifiesto: Con el complemento seleccionado, haz clic en el ícono
para ver el manifiesto del complemento. - Actualizar: Si acabas de agregar un complemento, es posible que necesites hacer clic en el ícono de actualizar
para refrescar la lista de complementos disponibles.
Test
La pestaña Test te permite realizar una ejecución de prueba independiente de tu script para obtener los valores resultantes de los elementos de datos.

-
Ejecutar: La fila superior presenta opciones para ejecutar o detener tu script, incluyendo Iniciar prueba, Reanudar la sesión de prueba actual, Ejecutar la siguiente declaración en la prueba actual, y Detener la sesión de prueba actual. El ícono
que inicia la prueba tiene la misma funcionalidad que los botones de prueba
que se ven en otras partes de la interfaz de usuario. -
Deshabilitar puntos de interrupción: Usa esta casilla de verificación para desactivar los puntos de interrupción en un Script de Jitterbit. Los puntos de interrupción se pueden usar con fines de depuración, por ejemplo, para pausar la ejecución de la prueba y observar las variables. Consulta Funciones de depuración para más información.
Nota
Esta opción no es aplicable en JavaScript ya que la depuración no está disponible en JavaScript.
-
Restablecer: Haz clic en el botón de restablecer
para prepararte para una nueva prueba restableciendo la lista de elementos de datos. -
Elementos de Datos: Los elementos de datos globales se denotan con un icono global
. Los elementos de datos de origen (aquellos referenciados desde un árbol de origen en una transformación) se denotan con un icono de origen
. Utiliza la casilla Es Nulo si deseas desactivar valores para fines de prueba. -
Resultado: El cuadro a la derecha mostrará el estado de la ejecución de la prueba durante la prueba y el resultado después de la finalización.