Saltar al contenido

JavaScript Jitterbit y funciones comunes en Studio

Los JavaScripts de Jitterbit pueden acceder, además de las funciones estándar de JavaScript que son parte de ECMA-262 v5.1, a estas funciones específicas de Jitterbit. Dado que ECMA-262 v5.1 es una versión más antigua de JavaScript que la que comúnmente está disponible en navegadores y otros motores de JavaScript, hemos incluido tablas de las funciones comunes y estándar de JavaScript que están disponibles en los JavaScripts de Jitterbit.

Importante

Para un rendimiento mejorado, recomendamos usar JavaScript solo cuando no esté disponible un equivalente de Jitterbit Script.

Nota

Se permite un máximo de 50,000 iteraciones de bucle para cada script de JavaScript. Para aumentar el número permitido de iteraciones por script, consulte Iteraciones de bucle en JavaScript.

Funciones de Jitterbit

Jitterbit.DbExecute

Declaración

array Jitterbit.DbExecute(string databaseId, string sql)

int Jitterbit.DbExecute(string databaseId, string sql, string outputVariable,...)

Sintaxis

Jitterbit.DbExecute(<databaseId>, <sql>)

Jitterbit.DbExecute(<databaseId>, <sql>, <outputVariable>,...])

Parámetros requeridos

  • databaseId: Una ruta de referencia de cadena a una conexión de base de datos en el proyecto actual
  • sql: El comando SQL que se ejecutará contra la base de datos
  • outputVariable: (Segunda forma) Un parámetro de salida que se corresponde con los campos devueltos en el comando SQL. Se pueden especificar argumentos adicionales según sea necesario.

Descripción

Ejecuta una declaración SQL en una base de datos y devuelve los resultados. Consulte la función DBExecute de Jitterbit Script para más detalles.

La base de datos utilizada en esta llamada de función debe estar definida como una conexión de base de datos en el proyecto actual. Para más información, consulta las instrucciones sobre cómo insertar puntos finales en Puntos finales en JavaScript.

Jitterbit.DbLookup

Declaración

string Jitterbit.DbLookup(string databaseId, string sql)

Sintaxis

Jitterbit.DbLookup(<databaseId>, <sql>)

Parámetros requeridos

  • databaseId: Una ruta de referencia de cadena a una conexión de base de datos en el proyecto actual
  • sql: El comando SQL que se ejecutará contra la base de datos

Descripción

Ejecuta una declaración SQL en una base de datos y devuelve el primer campo del primer resultado que coincide con los criterios especificados. Consulta la función DBLookup de Jitterbit Script para más detalles.

La base de datos utilizada en esta llamada de función debe estar definida como una conexión de base de datos en el proyecto actual. Para más información, consulta las instrucciones sobre cómo insertar puntos finales en Puntos finales en JavaScript.

Jitterbit.GetVar

Declaración

string Jitterbit.GetVar(string jitterbitVariableName)

Sintaxis

Jitterbit.GetVar(<jitterbitVariableName>)

Parámetros requeridos

  • jitterbitVariableName: El nombre de una variable de Jitterbit

Descripción

Devuelve el valor de una variable de Jitterbit (una variable global predefinida que está integrada en el agente y comienza con jitterbit.). Las variables disponibles se pueden ver en Studio y están documentadas en Variables de Jitterbit.

Advertencia

También es posible, pero no se recomienda, utilizar la función Jitterbit.GetVar para recuperar el valor de una variable global definida por el usuario.

La función Jitterbit.GetVar está diseñada 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 global definida por el usuario. 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 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.

Examples

// Retrieves the value of the Jitterbit variable "jitterbit.api.request"
var request = Jitterbit.GetVar("$jitterbit.api.request");

Jitterbit.ReadFile

Declaration

string Jitterbit.ReadFile(string sourceId[, string fileFilter])

Syntax

Jitterbit.ReadFile(<sourceId>[, <fileFilter>])

Required parameters

  • sourceId: Una ruta de referencia de cadena a una actividad asociada con un punto final de tipo archivo en el proyecto actual

Optional parameters

  • fileFilter: Filtro de archivo o nombre de archivo para anular la configuración de la actividad

Description

Lee el contenido de un archivo desde una fuente.

La fuente utilizada en esta llamada a la función debe estar definida como una actividad asociada con un punto final de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de Compartición de Archivos, FTP, HTTP, Almacenamiento Local y Almacenamiento Temporal. Para más información, consulte las instrucciones sobre cómo insertar puntos finales en Puntos finales en JavaScript.

El método devuelve el contenido del archivo al que apunta la fuente. Si el filtro de fuente selecciona más de un archivo, se utilizará el primero. Se recomienda especificar una fuente que identifique de manera única un solo archivo.

El parámetro fileFilter es opcional y se puede usar para anular el filtro de archivo utilizado en la configuración de la actividad. Se puede usar un nombre de archivo. Alternativamente, se puede usar una variable global para anular el filtro de archivo en la configuración de la actividad. Las variables globales se hacen referencia como [de_name] en la configuración de la actividad.

Si la función ReadFile falla, la operación no falla. Un script se abortará, se añadirá una advertencia al registro de operaciones y la operación continuará.

Este método se puede usar para leer datos de una fuente HTTP. En ese caso, todas las variables de Jitterbit $jitterbit.source.http.* se poblarán.

Advertencia

Esta función no funciona de manera confiable con archivos que tienen contenido binario, ya que generalmente solo leerá una porción del archivo. Si el archivo tiene contenido binario, use la función de script de Jitterbit Base64EncodeFile en su lugar para leer todo el contenido del archivo.

Examples

// Reads the first file retrieved from a source
var fileContents = Jitterbit.ReadFile("<TAG>activity:ftp/FTP Endpoint/ftp_read/FTP Files</TAG>");

// Use the filename "test.txt" instead of what is defined in the source
var fileContents = Jitterbit.ReadFile("<TAG>activity:ftp/FTP Endpoint/ftp_read/FTP Files</TAG>", "test.txt");

Jitterbit.SetVar

Declaration

Jitterbit.SetVar(string jitterbitVariableName, string value)

Syntax

Jitterbit.SetVar(<jitterbitVariableName>, <value>)

Required parameters

  • jitterbitVariableName: El nombre de una variable de Jitterbit
  • value: Un valor que se asignará a la variable

Description

Establece el valor de una variable de Jitterbit (una variable global predefinida que está integrada en el agente y comienza con jitterbit.). Las variables disponibles se pueden ver en Studio y están documentadas en variables de Jitterbit.

Advertencia

También es posible, pero no se recomienda, usar la función Jitterbit.SetVar para establecer el valor de una variable global definida por el usuario.

La función Jitterbit.SetVar está diseñada 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 global definida por el usuario. 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 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.

Examples

// Sets a Jitterbit variable
Jitterbit.SetVar("$jitterbit.scripting.db.max_rows", 1000);

Jitterbit.WriteFile

Declaration

void Jitterbit.WriteFile(string targetId, type fileContents[, string filename])

Syntax

Jitterbit.WriteFile(<targetId>, <fileContents>[, <filename>])

Required parameters

  • targetId: Una referencia de cadena a una actividad asociada con un punto final de tipo archivo en el proyecto actual

Optional parameters

  • fileContents: Datos que se escribirán en el archivo
  • filename: Nombre del archivo para sobrescribir la configuración de la actividad

Description

Escribe el fileContents en el objetivo especificado por targetId. Si fileContents es de tipo binario, los datos binarios se escriben en el archivo. En todos los demás casos, se escribe una representación de cadena de los datos. El archivo se vacía y se cierra automáticamente por la función.

El objetivo utilizado en esta llamada a la función debe estar definido como una actividad asociada con un punto final de tipo archivo en el proyecto actual. Estos incluyen actividades configuradas de Compartición de Archivos, FTP, HTTP, Almacenamiento Local y Almacenamiento Temporal. Para más información, consulte las instrucciones sobre cómo insertar puntos finales en Puntos finales en JavaScript.

El tercer parámetro, filename, es opcional y se puede usar para sobrescribir el nombre de archivo utilizado en la configuración de la actividad. Alternativamente, se puede usar una variable global para sobrescribir el nombre de archivo en la configuración de la actividad. Las variables globales se referencian como [de_name] en la configuración de la actividad.

Este método también se puede usar para escribir/publicar datos en un destino HTTP. En ese caso, las variables $jitterbit.target.http.* se poblarán.

Si la función WriteFile() falla, la operación no falla. Un script se abortará, se añadirá una advertencia al registro de operaciones y la operación continuará.

Ejemplos

//  Writes the value of $contents to the file defined by a target
Jitterbit.WriteFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>", $contents);

// Use the filename "test.txt" instead of what is defined in the target
Jitterbit.WriteFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/FTP Files</TAG>", $contents, "test.txt");

SetScriptOutput

Declaración

void SetScriptOutput(string data)

Sintaxis

SetScriptOutput(<data>)

Parámetros requeridos

  • data: Datos que serán devueltos por el script

Descripción

Establece el valor devuelto por un script.

El valor de retorno de un script se puede acceder como el valor de retorno de la función RunScript.

Ejemplos

// In the calling Jitterbit Script script:
$result = RunScript("<TAG>script:CalculateSomething</TAG>", value_to_be_calculated);

// In the Jitterbit JavaScript script "CalculateSomething":
var calculated_value = ...;
...
SetScriptOutput(calculated_value);

SetScriptResult

Declaración

void SetScriptResult(string data)

Sintaxis

SetScriptResult(<data>)

Parámetros requeridos

  • data: Datos que serán devueltos por el script

Descripción

Un alias para la función SetScriptOutput. Consulta SetScriptOutput para más detalles.

WriteToOperationLog

Declaración

string WriteToOperationLog(string message)

Sintaxis

WriteToOperationLog(<message>)

Parámetros requeridos

  • message: Un mensaje de tipo cadena

Descripción

Escribe un mensaje en el registro de operaciones.

Ejemplos

// Escribe un mensaje en el registro de operaciones
WriteToOperationLog("El campo de origen 'Precio' tiene un valor inválido.");

Funciones comunes de JavaScript

Estas funciones comunes de JavaScript, parte de ECMA-262 v5.1, son compatibles con los JavaScripts de Jitterbit.

Propiedad Común Descripción
Array Consulta las propiedades y funciones de arreglos de JavaScript
Date Consulta las propiedades y funciones de fechas de JavaScript
decodeURI Decodifica un URI
decodeURIComponent Decodifica un componente de URI
encodeURI Codifica un URI
encodeURIComponent Codifica un componente de URI
eval Evalúa una cadena y la ejecuta como si fuera código JavaScript
isFinite Prueba si un valor es un número finito y legal
isNaN Prueba si un valor es un número ilegal
JSON.parse Analiza una cadena JSON y devuelve un objeto JavaScript
JSON.stringify Convierte un objeto JavaScript en una cadena JSON
Math Consulta las propiedades y funciones matemáticas de JavaScript
Number Convierte el valor de un objeto en un número
parseFloat Analiza una cadena y devuelve un número de punto flotante
parseInt Analiza una cadena y devuelve un entero
String Consulta las propiedades y funciones de cadenas de JavaScript