Ir para o conteúdo

Variáveis locais no Jitterbit Design Studio

Introdução

As variáveis locais no Jitterbit estão disponíveis apenas dentro do script ou mapeamento de transformação atualmente em uso. Use uma variável local apenas se a variável for necessária temporariamente no script atual.

Cuidado

Não use uma variável local se você quiser que a variável persista para uso em outras partes do seu projeto. Para uso fora do script atual, use uma variável global ou variável de projeto.

Se uma variável local for usada em um script de transformação, a variável local pode ser acessível a outros scripts na mesma transformação em tempo de execução. Recomenda-se definir explicitamente a variável local para um valor padrão em cada script para evitar comportamentos inesperados.

Criar uma variável local

Como uma variável local não pode ter um valor antes de ser definida, você deve defini-la antes de usá-la.

No sistema, uma variável local é reconhecida pela ausência do sinal de dólar '\(' que normalmente precede o nome de uma variável global. Como o '\)' está ausente, uma variável local não é "vista" globalmente. Enquanto um elemento de dados global pode ser usado para passar um valor entre diferentes scripts, a variável local deixa de ser visível para o sistema após a execução do script que a utiliza.

Para definir e usar uma variável local, basta omitir o '$'. Uma variável local não pode ser definida ou recuperada com as funções Set e Get.

Nomes de variáveis

Os nomes de variáveis podem ser compostos por estes caracteres: letras (a-z, A-Z), números (0-9) e sublinhado. Outros caracteres não são permitidos e podem causar problemas. (Observe que, no caso de variáveis locais, o caractere de ponto não é permitido.)

Exemplos

Neste exemplo, now é uma variável local e está disponível apenas neste script (ou seja, antes da tag de término </trans>). Em contraste, $tomorrow é uma variável global que está disponível até o final da corrente de operação atual:

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

Este exemplo recupera o valor de um nó e, se esse valor for nulo, define-o como a string "Não Definido" e, em seguida, retorna o valor:

<trans>
value = root$transaction.request$body$Calculate$input.Operand1$;
if(IsNull(value),
    value = "Not Set"
  );
value
</trans>

Este exemplo recupera o valor de três nós, adiciona o maior dos dois primeiros valores ao terceiro valor e, em seguida, retorna o terceiro 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>