Saltar al contenido

Crear un Secuencia de Comandos

Introducción

Secuencias de Comandos en Design Studio se utilizan para manipular datos o realizar lógica avanzada (if, while, declaraciones de casos, 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 de Jitterbit Script o, si crea un secuencia de comandos como elemento de proyecto, usando JavaScript.

Hay varios lugares en Design Studio donde puedes crear un secuencia de comandos dependiendo de lo que quieras 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 crear secuencias de comandos es similar en todos los tipos y se describe al final de este documento.

  • Secuencia de Comandos como elemento de 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 usando la función RunScript(). Este tipo de secuencia de comandos aparecerá en el árbol de la izquierda debajo de 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 en una transformación para aplicar la lógica especificada a su mapeo de transformación. El último valor devuelto en el secuencia de comandos se utilizará como valor para su campo de destino. Este tipo de secuencia de comandos está disponible únicamente en todos los campos dentro de la asignación de transformación.

  • Secuencia de Comandos como condición dentro de una transformación
    Este tipo de secuencia de secuencia de comandos se puede crear en una carpeta en una transformación para determinar si la instancia de origen se utilizará según el resultado de la condición. El último valor devuelto en el secuencia de comandos debe ser verdadero o falso. Este tipo de secuencia de comandos solo se puede agregar dentro de la asignación de 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 pad
    El secuencia de comandos pad es una herramienta dentro 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 > Secuencia de Comandos Pad.

Tipos de Secuencias de Comandos

Secuencia de Comandos Como Elemento de Proyecto

Los Secuencias de Comandos se pueden ejecutar por separado de las transformaciones como un etapa de operación independiente. Puede, por ejemplo, crear una secuencia de comandos que trunca una tabla de base de datos antes de ejecutar una transformación para llenarla nuevamente. 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 usando 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 adjunto y elija Insertar > Secuencia de Comandos. O haga clic con el botón derecho en un origen o destino y elija Insertar antes de este > Secuencia de Comandos o Insertar después de esto > Secuencia de Comandos. Aparecerá un icono de secuencia de comandos dentro del gráfico de operación. Luego haga una de las siguientes cosas:

    • Haga clic con el botón derecho en el icono del secuencia de comandos y elija Seleccionar Secuencia de Comandos existente, Crear nuevo Jitterbit Script o Crear nuevo JavaScript.
    • Haga doble clic en el icono 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 Jitterbit Script Language.

adjunto

A partir de 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 trata en Crear Secuencias de Comandos al final de esta página.

También puede 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 su asignación de transformación. El último valor devuelto en el secuencia de comandos se utilizará como valor para su campo de destino. Por ejemplo, puede utilizar secuencias de comandos para cambiar un campo de cadena a int, concatenar valores, utilizar una base de datos para buscar un campo o establecer una 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. Dentro de su mapeo de transformación, haga doble clic en el campo de destino para el que desea editar el 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 utilizar Lenguaje de Jitterbit Script. La interfaz de usuario del generador de secuencia de comandos se trata en Crear 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 secuencia de comandos se puede crear en una carpeta en 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 el secuencia de comandos debe ser verdadero o falso. Si el valor devuelto no es un valor verdadero/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.

Solo se puede acceder a este tipo de secuencia de comandos desde la asignación de transformación. Dentro de su mapeo de transformación, haga clic derecho en una carpeta que tenga uno o más elementos [E+] o Cero o Más Elementos [E*] (consulte Explicación de la notación de ruta de entidad jerárquica) y elija Agregar condición.

adjunto

Esto creará una condición que ahora aparece en su carpeta. Haga doble clic en él 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 Lenguaje de Jitterbit Script. La interfaz de usuario del generador de secuencia de comandos se trata en Crear Secuencias de Comandos al final de esta página.

adjunto

Prueba de Secuencia de Comandos Usando Secuencia de Comandos Pad

El secuencia de comandos pad es una herramienta dentro 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 > Secuencia de Comandos Pad.

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 utilizar Lenguaje de Jitterbit Script. La interfaz de usuario del generador de secuencia de comandos se trata en Crear 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 explica qué elementos se pueden utilizar dentro de los tipos de secuencia de comandos especificados.

Nota

Consulte también Características 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 puede ingresar su secuencia de comandos está presente en todos los tipos de secuencias de comandos. Cada elemento del secuencia de comandos se explica a continuación.

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 con el botón 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 crea su secuencia de comandos. Lo que ingrese aquí depende del lenguaje de secuencia de comandos que se utilice.

    • Lenguaje de Jitterbit Script: Para secuencias de comandos que utilizan el lenguaje de secuencias de comandos de Jitterbit, la expresión final debe estar contenida dentro <trans> ... </trans> etiquetas. Consulte Lenguaje de Jitterbit Script para conocer requisitos y sugerencias de sintaxis adicionales.
    • JavaScript: Para secuencias de comandos que usan 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 se limita a secuencias de comandos creados como elementos de proyecto. Para los secuencias de comandos creados como elementos de proyecto, el tipo de secuencia de comandos también aparecerá encima del área del secuencia de comandos, junto al nombre del secuencia de comandos:

    adjunto

    adjunto

  • Validación: Design Studio proporciona verificación y resaltado de sintaxis básica. 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, aquí se proporcionará información de error específica.

  • Modo: Utilice este menú desplegable para alternar entre el modo Desarrollador y 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 los no desarrolladores.
  • Línea y columna: Los números 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 dentro del 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 se aplica a los secuencias de comandos creados como elementos del 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 fuentes 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 adjunto para agregarlo a su secuencia de comandos a la izquierda.
  • Ingrese la ruta de origen directamente en el área del secuencia de comandos.

La siguiente funcionalidad también está disponible:

  • Expandir/Contraer: Utilice el adjunto adjunto iconos para contraer o expandir todos los elementos en el árbol de origen.
  • Buscar: Si tiene muchos elementos en su árbol de fuentes, use el ícono de búsqueda adjunto para buscar dentro de su árbol de fuentes.
  • Cargar datos de origen: Cargue datos de origen en su transformación para fines de prueba utilizando eladjunto 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 utiliza Lenguaje de 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 usar 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 icono de inserción adjunto.
  • Expandir/Contraer: Utilice el adjunto adjunto iconos para contraer o expandir la lista de funciones.
  • Ayuda: Con una función seleccionada, haga clic en adjunto para ver la documentación sobre 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.

adjunto

Cada función de 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

Jitterbit

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, un número limitado de funciones de Jitterbit Script están disponibles para su uso en JavaScript. Para acceder a una de esas funciones 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 Generador de fórmulas Funciones de archivo. El valor devuelto es una cadena. Por ejemplo, en JavaScript, usando 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 Escribir archivo en Generador 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. Consulte DbExecute en Generador 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. Consulte DBLookup en Generador de fórmulas Funciones de base de datos.

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

    Advertencia

    El 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 utilizar 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 utilizar con tipos de datos complejos como matrices, diccionarios u objetos JSON. En su lugar, se recomienda crear variables Jitterbit sin puntos y utilizar guiones bajos en lugar de puntos y utilizar 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 previamente asignada (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 JavaScript usando 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. Creado para usar con JavaScript en Jitterbit y funciona de manera similar a la función Jitterbit descrita en Generador de fórmulas Funciones de registro y error.

  • SetScriptOutput y SetScriptResult Establece la salida del secuencia de comandos. Estas dos funciones son alias y cualquiera de ellas se puede utilizar según sus preferencias. A diferencia de los Jitterbit Secuencias de Comandos, que devuelven automáticamente el valor de la última línea, los Jitterbit JavaScripts 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í 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 completa: 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 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 como se especifica en el estándar ECMAScript 5.1. Esta categoría se proporciona para facilitar la referencia; para obtener la documentación completa, consulte 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 su secuencia de comandos, organizados por tipo de elemento. Estos se corresponden con los elementos que ve en el lado izquierdo de Studio dentro del árbol de elementos del proyecto (por ejemplo, un origen o destino existente).

adjunto

Las opciones de filtrar, insertar y expandir/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 hacer estática, puede usar esta opción para convertirla a una variable de proyecto. Esta opción estará atenuada para las variables del proyecto actual y las variables Jitterbit.

    adjunto

  • Ver referencias: Si tiene muchas variables dentro de su proyecto, puede usar esta opción para ver dónde se usa cada una. La visualización de referencias mostrará una tabla de elementos del proyecto que incluye información sobre mapeo y 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 para su uso globalmente. Sin embargo, aún puedes usarlos localmente dentro de tu secuencia de comandos. Consulte Variables locales para más información.

Complementos

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

Nota

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

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 icono de inserción adjunto.
  • Ver manifiesto: Con el complemento seleccionado, haga clic en adjunto icono 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 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 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 instrucción en la prueba actual, y Detener la sesión de prueba actual. El adjunto icono que inicia la prueba tiene la misma funcionalidad que los botones de prueba adjunto visto en otras partes de la interfaz de usuario.

  • Desactivar puntos de interrupción: Utilice esta casilla de verificación para desactivar los puntos de interrupción en un Jitterbit Script. Los puntos de interrupción se pueden utilizar 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 icono. 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 una fuente adjunto icono. Utilice la casilla de verificación Es nulo si desea desactivar los valores con 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.