Funciones lógicas en Jitterbit Studio
Utiliza las funciones lógicas para controlar el flujo de los Scripts de Jitterbit.
Nota
Se permite un máximo de 50,000 iteraciones de bucle para cada bucle individual en los Scripts de Jitterbit. Para aumentar el número de iteraciones permitidas por bucle, consulta jitterbit.scripting.while.max_iterations en Variables de scripting de Jitterbit.
Case
Declaración
typeN Case(bool b1, type1 arg1[, bool b2, type2 arg2,... bool bN, typeN argN])
Sintaxis
Case(<b1>, <arg1>[, <b2>, <arg2>,... <bN>, <argN>])
Parámetros requeridos
b1: Una expresión a evaluar para obtener su resultado booleanoarg1: Un argumento a devolver sib1estrue
Parámetros opcionales
b2... bN: Expresiones adicionales a evaluar para su veracidadarg2... argN: Argumentos adicionales a devolver si el parámetro correspondiente estrue
Descripción
Esta función evalúa pares de argumentos: si la evaluación de la expresión en el primer argumento de un par es true, deja de verificar y devuelve el segundo argumento preservando el tipo. De lo contrario, verificará el siguiente par, y así sucesivamente. Si ninguno de los pares se evalúa como true, se devuelve null.
Para crear un caso predeterminado o de paso, utiliza true y el valor de retorno deseado como el último par. Consulta el ejemplo.
Ejemplos
Este ejemplo devuelve "Very Expensive" si price es 1000 o superior. El true en el último par de argumentos sirve como caso predeterminado o de paso.
$label = Case(price < 10, "Cheap",
price < 100, "Not Cheap",
price < 1000, "Expensive",
true, "Very Expensive");
Equal
Declaración
bool Equal(type1 array1, type2 array2)
bool Equal(type1 arg1, type2 arg2)
Sintaxis
Equal(<array1>, <array2>)
Equal(<arg1>, <arg2>)
Parámetros requeridos
-
array1, array2: (Primera forma) Dos matrices de la misma longitud y dimensión; si no es así, la función devuelvefalse -
arg1, arg2: (Segunda forma) Dos tipos simples o expresiones
Descripción
Realiza una comparación recursiva de dos matrices. Devuelve true si todos los miembros correspondientes de las matrices son iguales; de lo contrario, devuelve false. También se puede utilizar con tipos simples y sigue reglas de conversión para promover diferentes tipos y compararlos.
Llamar a esta función para comparar dos matrices es diferente a utilizar el operador == en dos matrices. Utilizar el operador == en dos matrices devuelve una matriz de booleanos que contiene el resultado de una comparación de cada miembro de la matriz. Utilizar esta función compara cada elemento correspondiente a su vez.
La función Equal() siempre devuelve false si los dos argumentos de matriz tienen tamaños diferentes.
Se realiza conversión y promoción de tipos si los argumentos o elementos que se comparan son de diferentes tipos.
Ejemplos
x = {1, 2.0, 3};
y = {1, 5, 3};
// Returns false since 2.0 != 5
Equal(x, y);
// Returns true because both arrays contain only non-zero numbers.
// Comparison is made as booleans
Equal(Bool(x), y);
If
Declaración
typeN If(bool condition, type1 trueResult[, type2 falseResult])
Sintaxis
If(<condition>, <trueResult>[, <falseResult>])
Parámetros requeridos
condition: Una expresión a evaluar para obtener su resultado booleanotrueResult: Una expresión a evaluar y su resultado devuelto siconditionestrue
Parámetros opcionales
falseResult: Una expresión a evaluar y su resultado devuelto siconditionesfalse
Descripción
Devuelve trueResult si la condición es verdadera; de lo contrario, devuelve falseResult.
Si el primer argumento (condition) no es un tipo de dato booleano, se convierte a booleano antes de evaluarse. Si no se especifica el tercer argumento opcional y condition es false, se devuelve un valor null.
Ejemplos
// Returns "Diane"
If(false, "Jack", "Diane");
// Returns "Spoon"
If(7>4, "Spoon", "Knife");
// Adds a trailing comma to s if s is not empty
If(Length(s)>0,
s = s + ",";
);
While
Declaración
null While(bool condition, type expression)
Sintaxis
While(<condition>, <expression>)
Parámetros requeridos
condition: Una expresión que se evalúa para obtener su resultado booleanoexpression: Una expresión que se evalúa repetidamente mientrasconditionseatrue
Descripción
Ejecuta repetidamente una expresión mientras una condición sea verdadera.
La variable de Jitterbit jitterbit.scripting.while.max_iterations limita el número de iteraciones. Se reporta un error si se alcanza el número máximo de iteraciones.
Nota
Este límite es independiente del límite a nivel de agente en las llamadas síncronas de RunOperation realizadas desde dentro de un bucle While (50 por defecto). jitterbit.scripting.while.max_iterations limita el número total de iteraciones del bucle, independientemente de lo que haga el bucle en cada pasada. El límite de RunOperation en cambio solo limita el número de llamadas de operación secundaria síncronas realizadas dentro del bucle. Consulta la nota bajo RunOperation para más detalles.
Ejemplos
$jitterbit.scripting.while.max_iterations = 2000;
i = 0;
arr = {"a@example.com", "b@example.com", "c@example.com"};
s = "";
// Concatenates the elements of the array arr
// with commas separating each element
While(i < Length(arr),
s = s + Get(arr,i) + ",";
i++;
);