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>