Saltar al contenido

Variables locales en Jitterbit Studio

Introducción

Las variables locales en Harmony son el tipo de variable que tiene un alcance más limitado. Se declaran dentro de un script y solo se pueden acceder dentro de ese script. Por esta razón, debes usar una variable local solo si se necesita temporalmente en el script actual.

Precaución

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

Crear una variable local

Debido a 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 una variable global puede ser utilizada 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 $. Una variable local no puede ser establecida o recuperada con las funciones Set y Get.

Nombres de variables locales

Los nombres de las variables locales pueden estar compuestos por estos caracteres: letras (a-z, A-Z), números (0-9) y guiones bajos. Otros caracteres, como puntos o guiones, no están permitidos y pueden causar problemas.

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:

<trans>
now = Now();
WriteToOperationLog("The time is " + now);
$tomorrow = now + 60*60*24;
</trans>

Debido a que el alcance de las variables locales está dentro del script, el nombramiento de la variable puede ser simple. Por ejemplo, las variables locales pueden llamarse now, return, myVariable, etc.

Este ejemplo recupera el valor de un nodo, y si ese valor es nulo, lo establece en la cadena "Not Set", 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>