Ir para o conteúdo

Variáveis locais no Jitterbit Studio

Introdução

Variáveis locais no Harmony são o tipo de variável com o escopo mais limitado. Elas são declaradas dentro de um script e podem ser acessadas apenas dentro desse script. Por essa razão, você deve usar 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 projeto. Para uso fora do script atual, use uma variável global ou variável de projeto.

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 uma variável global pode ser usada 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 locais

Nomes de variáveis locais podem ser compostos por esses caracteres: letras (a-z, A-Z), números (0-9) e sublinhados. Outros caracteres, como pontos ou hífens, não são permitidos e podem causar problemas.

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 cadeia de operações:

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

Como o escopo das variáveis locais está dentro do script, a nomeação da variável pode ser simples. Por exemplo, variáveis locais podem ser nomeadas como now, return, myVariable, etc.

Este exemplo recupera o valor de um nó e, se esse valor for nulo, define-o como a string "Not Set" 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>