Variables Locales
Las variables locales en Jitterbit están disponibles solo dentro del secuencia de comandos o mapeo de transformación actualmente en uso. Utilice una variable local sólo si la variable sólo se necesita temporalmente en el secuencia de comandos actual.
Nota
No utilice una variable local si desea que la variable persista para usarse en otras partes de su proyecto. Para usar fuera del secuencia de comandos actual, use una variable global o variable del proyecto.
Crear una Variable Local
Dado que una variable local no puede tener un valor antes de definirse, debe definirla antes de usarla.
En el sistema, una variable local se reconoce por la ausencia del signo de dólar '\(' que normalmente precede al nombre de una variable global. Debido a que '\)' está ausente, una variable local no se "ve" globalmente. Si bien se puede utilizar un elemento de datos global para pasar un valor entre diferentes secuencias de comandos, la variable local deja de ser visible para el sistema después de la ejecución del secuencia de comandos que la utiliza.
Para configurar y utilizar una variable local, simplemente omita '$'. Una variable local no se puede configurar ni recuperar con Set
y Get
funciones.
Nombres de Variables
Los nombres de las variables se pueden componer a partir de estos caracteres: letras (a-z, A-Z), números (0-9) y guiones bajos. Otros caracteres no están permitidos y pueden causar problemas. (Tenga en cuenta que en el caso de variables locales, el carácter de punto no está permitido).
Ejemplos
En este ejemplo, now
es una variable local y sólo está disponible en este secuencia de comandos (es decir, antes de la terminación </trans>
etiqueta). A diferencia de, $tomorrow
es una variable global que está disponible hasta el final de la cadena de operación actual:
<trans>
now = Now();
WriteToOperationLog("The time is " + now);
$tomorrow = now + 60*60*24;
</trans>
Este ejemplo recupera el valor de un nodo y, si ese valor es nulo, lo establece en la cadena "No establecido" y luego devuelve el valor:
<trans>
value = root$transaction.request$body$Calculate$input.Operand1$;
if(IsNull(value),
value = "Not Set"
);
value
</trans>
Este ejemplo recupera el valor de tres nodos, suma el mayor de los dos primeros valores al tercer valor y luego devuelve el tercer valor:
<trans>
value1 = root$transaction.request$body$Calculate$input.Operand1$;
value2 = root$transaction.request$body$Calculate$input.Operand2$;
value3 = root$transaction.request$body$Calculate$input.Operand3$;
if(value1 > value2,
value3 += value1
, //else
value3 += value2
);
value3
</trans>