Saltar al contenido

Crear un secuencia de comandos en Jitterbit Design Studio

Introducción

Secuencias de comandos en Design Studio se utilizan para manipular datos o para ejecutar lógica avanzada (declaraciones if, while, case, etc.). Los Secuencias de comandos 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. Se pueden escribir utilizando el lenguaje Jitterbit Script o, si se crea un secuencia de comandos como elemento de proyecto, utilizando JavaScript.

Existen varios lugares en Design Studio donde puedes crear un secuencia de comandos según lo que quieras lograr. Cada uno de ellos se resume a continuación y se describe con más detalle en esta página. La interfaz de usuario para crear secuencias de comandos es similar en todos los tipos y se describe al final de este documento.

  • El Secuencia de comandos como elemento del proyecto
    Este tipo de secuencia de comandos 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 secuencia de comandos. También se puede llamar mediante la función RunScript(). Este tipo de secuencia de comandos aparecerá en el árbol de la izquierda bajo la sección Secuencias de comandos.

  • Secuencia de comandos en un campo de destino en una transformación
    Este tipo de secuencia de comandos se puede editar en un campo de una transformación para aplicar la lógica especificada a la asignación de transformación. El último valor devuelto en la secuencia de comandos se utilizará como valor para el campo de destino. Este tipo de secuencia de comandos está disponible únicamente en todos los campos de la asignación de transformación.

  • El Secuencia de comandos como condición dentro de una transformación
    Este tipo de secuencia de comandos se puede crear en una carpeta de una transformación para determinar si se utilizará la instancia de origen en función del resultado de la condición. El último valor devuelto en la secuencia de comandos debe ser verdadero o falso. Este tipo de secuencia de comandos se puede agregar únicamente dentro de la asignación de la transformación.

    Nota

    El uso de un secuencia de comandos como condición dentro de una transformación no debe confundirse con el uso de una condición en una operación. Este último se trata por separado en Crear una condición.

  • Prueba de Secuencia de comandos usando secuencia de comandos
    El panel de secuencia de comandos es una herramienta dentro de Design Studio que se puede usar para ejecutar pruebas básicas de secuencias de comandos que no es necesario guardar. Se puede acceder a esta herramienta desde la barra de menú en Ver > Panel de Secuencia de comandos.

Tipos de secuencias de comandos

El Secuencia de comandos como elemento del proyecto

Los Secuencias de comandos se pueden ejecutar por separado de las transformaciones como un etapa de operación independiente. Por ejemplo, puede crear un secuencia de comandos que trunque una tabla de base de datos antes de ejecutar una transformación para volver a llenarla. También puede guardar secuencias de comandos con lógica para reutilizarlos en varias asignaciones en transformaciones. Puede ejecutar secuencias de comandos desde otros secuencias de comandos mediante la función RunScript() o insertándolos en una operación.

Dentro de su proyecto dentro de Design Studio, hay varias formas de crear un nuevo secuencia de comandos como elemento del proyecto:

  • En el árbol de la izquierda, haga clic derecho en la sección Secuencias de comandos y seleccione Nuevo Secuencia de comandos o Nuevo JavaScript.
  • Dentro de una operación existente, haga clic derecho en cualquier punto de inserción archivo adjunto y seleccione Insertar > Secuencia de comandos. O bien, haga clic derecho en un origen o destino y seleccione Insertar antes de esto > Secuencia de comandos o Insertar después de esto > Secuencia de comandos. Aparecerá un ícono de secuencia de comandos dentro del gráfico de operación. Luego, realice una de las siguientes acciones:

    • Haga clic derecho en el ícono del secuencia de comandos y elija Seleccionar Secuencia de comandos existente, Crear nuevo Jitterbit Script o Crear nuevo JavaScript.
    • Haga doble clic en el ícono del secuencia de comandos y seleccione un secuencia de comandos existente de la lista, o use los botones para Crear nuevo Jitterbit Script o Crear nuevo JavaScript.

Las opciones que hacen referencia a "Jitterbit Script" o simplemente "Secuencia de comandos" mostrarán un generador de secuencia de comandos en lenguaje Jitterbit Script.

adjunto

A partir de la versión 8.24.2, las opciones que hacen referencia a "Javascript" abrirán un generador de secuencia de comandos en JavaScript.

adjunto

La interfaz de usuario del generador de secuencia de comandos para ambos tipos se describe en Generar secuencias de comandos al final de esta página.

También puedes volver al secuencia de comandos existente en cualquier momento desde el árbol de la izquierda en Secuencias de comandos.

Secuencia de comandos en un campo de destino en una transformación

Este tipo de secuencia de comandos se puede editar en un campo de una transformación para aplicar la lógica especificada a la asignación de la transformación. El último valor devuelto en la secuencia de comandos se utilizará como valor para el campo de destino. Por ejemplo, puede utilizar secuencias de comandos para cambiar un campo de cadena a int, concatenar valores, utilizar una búsqueda de base de datos para un campo o establecer la población condicional del campo.

Este tipo de secuencia de comandos está disponible únicamente en todos los campos dentro de la asignación de transformación. En la asignación de transformación, haga doble clic en el campo de destino para el que desea editar la secuencia de comandos.

adjunto

Esto abrirá el generador de secuencia de comandos estándar a la izquierda y el árbol de fuentes a la derecha. Los Secuencias de comandos en transformaciones deben usar el lenguaje de Jitterbit Script. La interfaz de usuario del generador de secuencia de comandos se describe en Generar secuencias de comandos al final de esta página.

adjunto

El Secuencia de comandos como condición dentro de una transformación

Este tipo de secuencia de comandos se puede crear en una carpeta durante una transformación para determinar si se utilizará la instancia de origen en función del resultado de la condición. El último valor devuelto en la secuencia de comandos debe ser verdadero o falso. Si el valor devuelto no es verdadero o falso, se tratará como falso.

Nota

El uso de un secuencia de comandos como condición dentro de una transformación no debe confundirse con el uso de una condición en una operación. Este último se trata por separado en Crear una condición.

Este tipo de secuencia de comandos es accesible únicamente desde la asignación de transformación. En la asignación de transformación, haga clic con el botón derecho en una carpeta que tenga uno o más elementos [E+] o Cero o Más Elementos [E*](ver explicación de la notación de ruta de entidad jerárquica) y seleccione Agregar condición.

adjunto

Esto creará una condición que ahora aparece debajo de su carpeta. Haga doble clic en ella para abrir el generador de secuencia de comandos estándar a la izquierda y el árbol de fuentes a la derecha.

adjunto

Los Secuencias de comandos en transformaciones deben utilizar el lenguaje de Jitterbit Script. La interfaz de usuario del generador de secuencia de comandos se describe en Generar secuencias de comandos al final de esta página.

adjunto

Prueba de Secuencia de comandos con secuencia de comandos Pad

El panel de secuencia de comandos es una herramienta de Design Studio que se puede utilizar para ejecutar pruebas básicas de secuencias de comandos que no es necesario guardar. Se puede acceder a esta herramienta desde la barra de menú en Ver > Panel de Secuencia de comandos.

adjunto

Esto mostrará un panel de secuencia de comandos básico para fines de prueba. Los Secuencias de comandos en el panel de secuencia de comandos deben usar el lenguaje de Jitterbit Script. La interfaz de usuario del generador de secuencia de comandos se describe en Generar secuencias de comandos al final de esta página.

adjunto

Crear secuencias de comandos

La interfaz de usuario del generador de secuencia de comandos es similar para todos los tipos de secuencia de comandos descritos anteriormente en esta página. A continuación, se explica cada elemento posible de la interfaz del generador de secuencia de comandos y se explican qué elementos se pueden utilizar dentro de los tipos de secuencia de comandos especificados.

Nota

Consulte también Funciones del generador de fórmulas para obtener una colección de consejos para interactuar con la interfaz de usuario.

Secuencia de comandos

El área de secuencia de comandos donde puedes ingresar tu secuencia de comandos está presente en todos los tipos de secuencias de comandos. A continuación se explica cada elemento del secuencia de comandos.

adjunto

  • Números de línea: Los números de línea aparecen en el extremo izquierdo del secuencia de comandos. Para activar o desactivar los números de línea, haga clic derecho en el fondo del secuencia de comandos y seleccione Mostrar números de línea.
  • Área de Secuencia de comandos: El área de secuencia de comandos es donde se crea el secuencia de comandos. Lo que se ingresa aquí depende del lenguaje de secuencia de comandos que se utilice.

    • Lenguaje de Jitterbit Script: Para los secuencias de comandos que utilizan el lenguaje de script Jitterbit, la expresión final debe estar contenida dentro <trans>... </trans> etiquetas. Consulte lenguaje Jitterbit Script para obtener requisitos de sintaxis adicionales y sugerencias.
    • JavaScript: Para los secuencias de comandos que utilizan JavaScript, no se necesitan etiquetas. Simplemente ingrese su secuencia de comandos en JavaScript aquí. Consulte JavaScript para obtener información específica sobre el uso de JavaScript en Harmony.

    Actualmente, el uso de JavaScript está limitado a los secuencias de comandos creados como elementos de proyecto. En el caso de los secuencias de comandos creados como elementos de proyecto, el tipo de secuencia de comandos también aparecerá en la parte superior del área de secuencia de comandos, junto al nombre del secuencia de comandos:

    archivo adjunto

    archivo adjunto

  • Validación: Design Studio proporciona verificación y resaltado de sintaxis básicos. Si el secuencia de comandos pasa la validación de sintaxis básica, una línea debajo del área del secuencia de comandos dirá: "El Secuencia de comandos es válido". Si el secuencia de comandos no pasa la validación de sintaxis básica, se proporcionará aquí información específica del error.

  • Modo: Utilice este menú desplegable para alternar entre el modo Desarrollador y el modo Analista de negocios. El modo de desarrollador proporciona una interfaz de usuario para usuarios avanzados, mientras que el modo de analista de negocios proporciona una interfaz de asistente que es más fácil de usar para quienes no son desarrolladores.
  • Línea y columna: Los números que se encuentran en la parte inferior derecha del área del secuencia de comandos indican la línea y la columna del secuencia de comandos donde se encuentra el cursor. Para saltar a una línea específica, puede hacer clic derecho en el fondo del secuencia de comandos y seleccionar Ir a la línea.

Fuente

El árbol de origen aparece en el panel derecho solo para los secuencias de comandos creados durante la asignación de transformación y no es aplicable para los secuencias de comandos creados como elementos de proyecto. Dentro del secuencia de comandos, puede utilizar elementos de datos de origen para hacer referencia a los datos de origen mediante la ruta del campo en el árbol de origen.

adjunto

Puede agregar elementos de datos de origen a su secuencia de comandos de cualquiera de las siguientes maneras:

  • Haga doble clic en el campo o carpeta en el árbol de origen a la derecha para agregarlo a su secuencia de comandos a la izquierda.
  • Haga clic en el campo o carpeta en el árbol de fuentes a la derecha, luego use el archivo adjunto para agregarlo a tu secuencia de comandos a la izquierda.
  • Introduzca la ruta de origen directamente en el área de secuencia de comandos.

También está disponible la siguiente funcionalidad:

  • Expandir/Contraer: Utilice el archivo adjunto adjunto para contraer o expandir todos los elementos en el árbol de origen.
  • Buscar: Si tiene muchos elementos en su árbol de origen, use el ícono de búsqueda adjunto para buscar dentro de su árbol de fuentes.
  • Cargar datos de origen: Cargue los datos de origen en su transformación para fines de prueba utilizando el adjunto botón.

Funciones

La pestaña Funciones proporciona una lista de funciones disponibles para usar en su secuencia de comandos. Las funciones específicas disponibles dependen de si su secuencia de comandos usa lenguaje Jitterbit Script o JavaScript. La siguiente funcionalidad está disponible para ambos tipos:

  • Filtro: Si conoce la función específica que está buscando, utilice el cuadro de búsqueda que aparece encima de la lista de funciones para buscarla.
  • Insertar: Para utilizar una función en el secuencia de comandos, haga doble clic en la función o, con la función seleccionada, haga clic en el ícono de inserción adjunto.
  • Expandir/Contraer: Utilice el archivo adjunto adjunto para contraer o expandir la lista de funciones.
  • Ayuda: Con una función seleccionada, haga clic en el icono adjunto para ver la documentación de la función directamente dentro de Studio.

Si está utilizando lenguaje de Jitterbit Script, las funciones disponibles están organizadas en carpetas por categoría.

attachment

Cada función del Jitterbit Script está documentada dentro de cada categoría:

Si está utilizando JavaScript, las funciones disponibles están separadas en carpetas para Jitterbit, Palabras clave, Funciones comunes, o Matemáticas.

adjunto

Fluctuación de bits

Esta categoría contiene una lista de funciones específicas de Jitterbit. Estas incluyen una cantidad limitada de funciones estándar de Jitterbit, así como una cantidad de funciones de JavaScript específicas de Jitterbit.

Actualmente, hay una cantidad limitada de funciones de Jitterbit Script disponibles para su uso en JavaScript. Para acceder a una de esas funciones de Jitterbit en su JavaScript, anteponga 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 generador de fórmulas funciones de archivo. El valor devuelto es una cadena. Por ejemplo, en JavaScript, al usar esta función 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 lo vacía automáticamente. No se devuelve ningún valor. Consulte WriteFile en Generador de fórmulas Funciones de archivo.

  • Jitterbit.DbExecute(string database_id, string sql_str, ...)Ejecuta una sentencia SQL en una base de datos y devuelve los resultados. El valor devuelto es una cadena. Consulte DBExecute en Generador de fórmulas Funciones de base de datos.

  • Jitterbit.DbLookup(string database_id, string sql_str)Ejecuta una sentencia SQL en una base de datos y devuelve el primer resultado que coincida con los criterios especificados. El valor devuelto es una cadena. Consulte DBLookup en Generador de fórmulas Funciones de base de datos.

  • Jitterbit.GetVar(string name) y Jitterbit.SetVar(string name, string value)

    Advertencia

    La Jitterbit.GetVar y Jitterbit.SetVar Las funciones está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 el nombre de una variable. Como el valor se convertirá en una cadena cuando se establezca la variable, estas funciones no se pueden usar con tipos de datos complejos, como matrices, diccionarios u objetos JSON. En su lugar, se recomienda crear variables globales sin puntos y, en su lugar, usar guiones bajos en lugar de puntos y usar el signo de dólar estándar. $Sintaxis como se describe en Variables globales.

    El Jitterbit.GetVar La función recupera una variable global Jitterbit asignada previamente (una variable con el prefijo "Jitterbit"). El valor devuelto es el tipo de datos apropiado.

    El Jitterbit.SetVar La función asigna un valor a una variable global Jitterbit (una variable con el prefijo "Jitterbit"). El valor devuelto es una cadena. Este ejemplo utiliza una API personalizada que ejecuta una operación que contiene un JavaScript utilizando Jitterbit.GetVar y Jitterbit.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);
    

En esta categoría se incluyen varias funciones adaptadas para su uso con JavaScript en Jitterbit. Estas funciones no tienen el prefijo "Jitterbit.".

  • WriteToOperationLog Envía la salida al registro de operación actual de Jitterbit. Se creó para usar con JavaScript en Jitterbit y funciona de manera similar a la función Jitterbit descrita en Formula Builder Funciones de registro y error.

  • SetScriptOutput y SetScriptResult Establece la salida del secuencia de comandos. Estas dos funciones son alias y se puede utilizar cualquiera de ellas según sus preferencias. A diferencia de los Secuencias de comandos de Jitterbit, que devuelven automáticamente el valor de la última línea, los JavaScript de Jitterbit no devuelven automáticamente un valor. Puede utilizar cualquiera de estas funciones en su JavaScript para devolver el resultado del secuencia de comandos. 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 incluyen aquí para mayor comodidad.

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: puede utilizar otras funciones de JavaScript que no se enumeran aquí, como JavaScript Array, Date, y String objetos y sus funciones asociadas.

Nota

Para obtener una lista completa de las funciones de JavaScript, consulte 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 JavaScript math objeto tal como se especifica en el estándar ECMAScript 5.1. Esta categoría se proporciona para facilitar la consulta; para obtener la documentación completa, consulte el estándar ECMAScript 5.1.

Elementos del proyecto

La pestaña Elementos del proyecto ofrece una lista de elementos del proyecto que están disponibles para usar en su secuencia de comandos, organizados por tipo de elemento. Estos corresponden a los elementos que ve en el lado izquierdo de Studio dentro del árbol de elementos del proyecto (por ejemplo, una fuente o un destino existente).

adjunto

Las opciones de filtro, inserción y expansión/contraer son las mismas que las descritas en las funciones anteriores.

Elementos de datos

La pestaña Elementos de datos proporciona Variables globales, Variables de proyecto y Variables de Jitterbit disponibles.

adjunto

Desde la pestaña Elementos de datos, también puede convertir una variable global en una variable de proyecto y ver dónde se utiliza cada uno de sus elementos de datos dentro de su proyecto. Para acceder a estas opciones, haga clic derecho en una variable para mostrar las siguientes opciones:

  • Promocionar a una variable de proyecto: Si tiene una variable global que desea convertir en estática, puede usar esta opción para convertirla en una variable de proyecto. Esta opción estará inhabilitada para las variables de proyecto actuales y las variables de Jitterbit.

    archivo adjunto

  • Ver referencias: Si tiene muchas variables dentro de su proyecto, puede usar esta opción para ver dónde se utiliza cada una. Al ver las referencias, se mostrará una tabla de elementos del proyecto que incluye información sobre la asignación y el acceso.

    adjunto

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 puede usarlas localmente dentro de su secuencia de comandos. Consulte Variables locales para obtener más información.

Complementos

La pestaña Plugins muestra los plugins disponibles para usar en su Jitterbit Script. Actualmente, no se admite el uso de plugins en un JavaScript. Si desea utilizar un complemento en un secuencia de comandos, utilice un Jitterbit Script.

Nota

No todos los complementos se pueden usar en secuencias de comandos; algunos se aplican solo a fuentes/destinos. Consulta Personalizaciones > Complementos para obtener instrucciones sobre cómo agregar complementos.

archivo adjunto

  • Insertar: Para acceder a un complemento en el secuencia de comandos, haga doble clic en el complemento o, con el complemento seleccionado, haga clic en el ícono de inserción archivo adjunto.
  • Ver manifiesto: Con el complemento seleccionado, haga clic en el archivo archivo adjunto para ver el manifiesto del complemento.
  • Actualizar: Si acaba de agregar un complemento, es posible que deba hacer clic en el ícono de actualización archivo adjunto para actualizar la lista de complementos disponibles.

Prueba

La pestaña Prueba le permite realizar una ejecución de prueba independiente de su secuencia de comandos para obtener los valores resultantes de los elementos de datos.

adjunto

  • Ejecutar: La fila superior presenta opciones para ejecutar o detener su secuencia de comandos, 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 adjunto El icono que inicia la prueba tiene la misma funcionalidad que los botones de prueba adjunto que se ve en otras partes de la interfaz de usuario.

  • Deshabilitar puntos de interrupción: Use esta casilla de verificación para desactivar los puntos de interrupción en un Jitterbit Script. 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. Consulte 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: Haga clic en el botón de reinicio adjunto para prepararse para una nueva prueba restableciendo la lista de elementos de datos.

  • Elementos de datos: Los elementos de datos globales se indican mediante un adjunto global Los elementos de datos de origen (aquellos a los que se hace referencia desde un árbol de origen en una transformación) se indican mediante un archivo adjunto de origen. Utilice la casilla de verificación Es nulo si desea desactivar los valores para fines de prueba.

  • Resultado: El cuadro de la derecha mostrará el estado de la ejecución de la prueba durante la prueba y el resultado una vez finalizada.