JavaScript Jitterbit y funciones comunes en Design 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
- El número máximo de iteraciones de bucle permitido en Harmony es 50,000.
- El número máximo de iteraciones de bucle en el Jitterbit Script Language es por cada bucle individual. Para aumentar el número permitido de iteraciones por bucle en un script de Jitterbit Script Language, consulte Jitterbit.scripting.while.max_iterations en Variables de scripting de Jitterbit.
- El número máximo de iteraciones de bucle en JavaScript es por script (agregado de todos los bucles dentro de un script). Para aumentar el número máximo de iteraciones de bucle en JavaScript, consulte Java script loop 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 cadena de texto que representa la fuente de la base de datos en el proyecto actualsql: El comando SQL que se ejecutará contra la base de datosoutputVariable: (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 del script de Jitterbit para más detalles.
Jitterbit.DbLookup
Declaración
string Jitterbit.DbLookup(string databaseId, string sql)
Sintaxis
Jitterbit.DbLookup(<databaseId>, <sql>)
Parámetros requeridos
databaseId: Una cadena de texto que representa la fuente de la base de datos en el proyecto actualsql: 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. Consulte la función DBLookup del script de Jitterbit para más detalles.
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 Design 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.
Jitterbit.GetVar puede recuperar cualquier valor de variable establecido por Jitterbit.SetVar anteriormente en el mismo script. Para que el valor sea accesible a través de scripts, la variable debe ser una variable global con el prefijo $ incluido en la cadena de nombre pasada a estas funciones.
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: Fuente de tipo archivo en el proyecto actual
Optional parameters
fileFilter: Filtro de archivo o nombre de archivo para anular la definición de la fuente
Description
Lee el contenido de un archivo desde una fuente.
La fuente de tipo archivo utilizada en esta llamada a la función debe estar definida como una fuente en el proyecto actual.
Ve las instrucciones sobre insertar elementos de proyecto.
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 definición de la fuente. Se puede usar un nombre de archivo. Alternativamente, se puede usar una variable global para anular el filtro de archivo en la definición de la fuente. Las variables globales se hacen referencia como [de_name] en la definición de la fuente.
A partir de la versión 8.20 de Harmony, 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.
Ejemplos
// Reads the first file retrieved from a source
var fileContents = Jitterbit.ReadFile("<TAG>Sources/Customer CSV FTP</TAG>");
// Use the filename "test.txt" instead of what is defined in the source
var fileContents = Jitterbit.ReadFile("<TAG>Sources/Customer CSV FTP</TAG>", "test.txt");
Jitterbit.SetVar
Declaración
Jitterbit.SetVar(string jitterbitVariableName, string value)
Sintaxis
Jitterbit.SetVar(<jitterbitVariableName>, <value>)
Parámetros requeridos
jitterbitVariableName: El nombre de una variable de Jitterbitvalue: Un valor que se asignará a la variable
Descripción
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 Design Studio y están documentadas en variables de Jitterbit.
Advertencia
También es posible, pero no recomendado, usar la función Jitterbit.SetVar para establecer el valor de una variable global definida por el usuario.
Cualquier valor de variable establecido por Jitterbit.SetVar puede ser recuperado por Jitterbit.GetVar más tarde en el mismo script. Para que el valor sea accesible a través de scripts, la variable debe ser una variable global con el prefijo $ incluido en la cadena de nombre pasada a estas funciones.
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 un nombre de variable global definido 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.
Ejemplos
// Establece una variable Jitterbit
Jitterbit.SetVar("$jitterbit.scripting.db.max_rows", 1000);
Jitterbit.WriteFile
Declaración
void Jitterbit.WriteFile(string targetId, type fileContents[, string filename])
Sintaxis
Jitterbit.WriteFile(<targetId>, <fileContents>[, <filename>])
Parámetros requeridos
targetId: Objetivo de tipo archivo en el proyecto actual
Parámetros opcionales
fileContents: Datos que se escribirán en el archivofilename: Nombre de archivo para sobrescribir la definición del objetivo
Descripción
Escribe el fileContents en el objetivo de tipo archivo 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 en cadena de los datos. El archivo se vacía y se cierra automáticamente por la función.
El tipo de archivo de destino utilizado en esta llamada a función debe estar definido como un destino en el proyecto actual.
Las variables disponibles se pueden ver en Jitterbit Studio y están documentadas en variables de Jitterbit.
El tercer parámetro, filename, es opcional y se puede utilizar para sobrescribir el nombre de archivo utilizado en el destino. Alternativamente, se puede utilizar una variable global para sobrescribir el nombre de archivo en la definición del destino. Las variables globales se hacen referencia como [de_name] en la definición del destino.
Este método también se puede utilizar para escribir/publicar datos en un destino HTTP. En ese caso, las variables $jitterbit.target.http.* se poblarán.
A partir de la versión 8.20 de Harmony, 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>Targets/FTP Target</TAG>", $contents);
// Use the filename "test.txt" instead of what is defined in the target
Jitterbit.WriteFile("<TAG>Targets/FTP Target</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>Scripts/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 string
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 de JavaScript |
JSON.stringify() |
Convierte un objeto de 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 |