Saltar al contenido

Variables locales en Jitterbit Design Studio

Introducción

Las variables locales en Jitterbit están disponibles solo dentro del script o mapeo de transformación que se está utilizando actualmente. Utiliza una variable local solo si la variable se necesita temporalmente en el script actual.

Advertencia

No utilices una variable local si deseas que la variable persista para su uso en otras partes de tu proyecto. Para uso fuera del script actual, utiliza una variable global o variable de proyecto.

Si se utiliza una variable local en un script de transformación, la variable local puede ser accesible para otros scripts en la misma transformación en tiempo de ejecución. Se recomienda establecer explícitamente la variable local a un valor predeterminado en cada script para evitar comportamientos inesperados.

Crear una variable local

Dado que una variable local no puede tener un valor antes de ser definida, debes 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 el '\)' está ausente, una variable local no es "vista" globalmente. Mientras que un elemento de datos global puede ser utilizado para pasar un valor entre diferentes scripts, la variable local deja de ser visible para el sistema después de la ejecución del script que la utiliza.

Para establecer y usar una variable local, simplemente omite el '$'. No se puede establecer ni recuperar una variable local con las funciones Set y Get.

Nombres de variables

Los nombres de las variables pueden estar compuestos por estos caracteres: letras (a-z, A-Z), números (0-9) y guion bajo. No se permiten otros caracteres y pueden causar problemas. (Ten en cuenta que en el caso de las variables locales, el carácter de punto no está permitido.)

Ejemplos

En este ejemplo, now es una variable local y solo está disponible en este script (es decir, antes de la etiqueta de cierre </trans>). En contraste, $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>