Variáveis globais
Introdução
Variáveis globais são um dos tipos de elementos de dados globais disponíveis no Harmony. Os outros tipos de elementos de dados globais — variáveis de projeto, variáveis Jitterbit e palavras-chave de nome de arquivo — também estão disponíveis globalmente em todo o projeto. Eles são definidos de forma diferente, conforme descrito em Variáveis de projeto, Variáveis Jitterbit e palavras-chave do nome do arquivo, respectivamente. No entanto, como todos os elementos de dados globais compartilham o mesmo namespace, seus nomes devem ser exclusivos quando comparados a todos os outros elementos de dados globais.
As variáveis globais são declaradas primeiro em uma operação, após o que elas se tornam disponíveis para serem referenciadas nas mesmas operações ou em operações abaixo e scripts. Operações ou scripts downstream são aqueles que são vinculados dentro de uma cadeia de operação usando ações de operação ou o RunOperation
ou RunScript
funções. As operações downstream podem estar dentro dos mesmos fluxos de trabalho ou de workflows abaixo.
Variáveis globais também podem ser usadas como uma origem ou destino dentro da operação, conforme descrito em Leitura de variáveis e Variável write.
Você pode querer usar variáveis globais se seu caso de uso envolver o compartilhamento de informações com partes subsequentes de uma cadeia de operação, como nestes exemplos:
- Usando valores criados em uma transformação em uma transformação posterior. Por exemplo, um ID de sessão (retornado de um serviço web de login) pode ser necessário ao chamar serviços web subsequentes para autenticação.
- Usando um valor criado em uma parte de uma transformação em um estágio posterior dessa mesma transformação. Por exemplo, um número de registro pode ser inicializado e incrementado para cada registro inserido em um alvo para identificar seu número de item.
- Usando um valor retornado em uma transformação na configuração de componentes em operações subsequentes. Por exemplo, a configuração de URL retornada por uma transformação pode ser usada para definir a URL do serviço web de uma chamada de serviço web subsequente.
Variáveis globais passam por operações encadeadas. Elas incluem operações que são vinculadas a uma operação anterior dentro da cadeia de operação usando "on success" ou "on failure" ações de operação, bem como aqueles que estão vinculados através do RunOperation
função. Variáveis globais também podem ser usadas dentro da mesma transformação.
Exibição de variáveis globais
As variáveis globais definidas são exibidas em vários lugares:
- No painel do projeto, as variáveis globais são exibidas na aba Componentes na categoria Global Variables. A partir daqui, você pode ver se a variável global é referenciada em outro lugar no projeto e visualizar dependências.
- No editor de script, as variáveis globais são exibidas na paleta de componentes de script dentro da aba Variáveis na sub-aba Variáveis Globais. Este local fornece acesso fácil para inserir referências de variáveis globais em scripts, incluindo dentro de scripts de transformação em modo de script.
- Em transformação modo de mapeamento, variáveis globais são exibidas na aba Variáveis à esquerda na categoria Variáveis Globais. Este local fornece acesso fácil para inserir referências de variáveis globais durante o mapeamento de transformação no modo de mapeamento.
- Em telas de configuração de endpoint, as variáveis globais podem ser acessadas e usadas em qualquer campo que tenha uma ícone de variável. Como alternativa à seleção de uma variável global, você pode inserir manualmente a referência de variável usando a sintaxe padrão de colchetes do Jitterbit Script.
Criar e atualizar variáveis globais
Variáveis globais são criadas ou atualizadas usando Jitterbit Script (em scripts e transformações) ou JavaScript (somente em scripts criados como um componente do projeto). Veja Tipos de Script e criação para obter informações sobre como criar os diferentes tipos de scripts. As variáveis globais configuradas em uma conexão de variável são criadas ou atualizadas automaticamente (consulte Conexão de variável).
Nomes de variáveis globais
Os nomes de variáveis globais podem ser compostos de caracteres alfanuméricos (as letras a-z e A-Z, e os dígitos 0-9), pontos (.) e sublinhados (_). (Outros caracteres, como hifens, não são recomendados e podem causar problemas.) Os nomes de variáveis globais não diferenciam maiúsculas de minúsculas; uma variável chamada GlobalVar
é tratado da mesma forma que globalvar
.
É uma boa prática usar pontos ou sublinhados ao definir variáveis globais para que sejam fáceis de encontrar. Por exemplo, uma variável global criada em um Jitterbit Script chamado org.account.filename
começa com org
, seguido pela account
, etc. organizando-o efetivamente quando em uma lista entre outras variáveis globais construídas de forma semelhante. Observe que para variáveis globais criadas em JavaScript (ou para variáveis globais do Jitterbit Script que podem ser usadas posteriormente em JavaScript), recomendamos usar sublinhados em vez de pontos. Usar pontos em variáveis globais definidas pelo usuário causa problemas no tempo de execução. Mais informações são fornecidas em JavaScript subseção abaixo.
Jitterbit Script
No Jitterbit Script usado em scripts e transformações, uma variável global pode ser definida começando com um cifrão $
ou ligando para o Set
função:
$
: Usando o cifrão$
sintaxe,$ServerURL=URL
cria ou atualiza uma variável global chamadaServerURL
com o valor deURL
(o nome de outra variável ou o nome de um campo em uma transformação).Set
: Usando oSet
função,Set("ServerURL", URL)
cria ou atualiza uma variável global chamadaServerURL
com o valor deURL
(o nome de outra variável ou o nome de um campo em uma transformação).
JavaScript
Em JavaScript usado em scripts criado como um componente de projeto, a sintaxe usada para definir uma variável global depende se o nome da variável global contém um ponto:
-
O nome não inclui um ponto (recomendado): Uma variável global que não contém um ponto em seu nome pode ser criada ou atualizada usando
var $<name>
ou atualizado simplesmente usando$<name>
semvar
:var $
: A expressãovar $ServerURL="https://www.example.com/"
cria ou atualiza uma variável globalServerURL
com um valor de string dehttps://www.example.com/
. Uma nova variável global deve preceder o$
comvar
.$
: A expressão$ServerURL="https://www.example.com/"
atualiza a mesma variável globalServerURL
com a mesma string URL. Isso funciona apenas para variáveis globais que já existem.
-
O nome inclui um ponto (recomendado apenas para variáveis Jitterbit e valores de objetos JavaScript): Uma variável que contém pontos em seu nome pode ser atualizada ou recuperada em JavaScript somente com o comando
Jitterbit.SetVar
eJitterbit.GetVar
funções. Como essas funções não são destinadas a variáveis globais definidas pelo usuário, consulte Variáveis Jitterbit para mais informações.Aviso
O JavaScript
Jitterbit.SetVar
eJitterbit.GetVar
as funções são projetadas especificamente para acessar as variáveis Jitterbit predefinidas. Eles não devem ser usados para acessar variáveis globais definidas pelo usuário.
Endpoint variável
Durante a configuração de uma conexão variável, uma variável global pode ser criada ou atualizada automaticamente.
Ou seja, se durante a configuração você fornecer o nome de uma variável que ainda não existe, uma variável global é criada automaticamente. Se você fornecer o nome de uma variável global que já existe, ela se torna associada ao endpoint Variable.
Para obter detalhes sobre como criar ou atualizar uma variável global usando este método, consulte Conexão de variável.
Recuperar variáveis globais em scripts ou transformações
O valor de uma variável global pode ser retornado usando Jitterbit Script (em scripts ou transformações) ou usando JavaScript (somente em scripts criados como um componente do projeto).
Jitterbit Script
Em scripts e transformações, você pode começar com um cifrão $
ou use o Get
função para recuperar o valor de uma variável global:
$
: Prefixado com um cifrão$
, o exemplo de código$serverURL
recupera o valor (ou campo em uma transformação) da variável global chamada "serverURL
".Get
: Usando oGet
função, o exemplo de códigoGet("serverURL")
retorna o mesmo valor (ou campo em uma transformação).
Em scripts e transformações, as variáveis globais existentes também são exibidas na aba Variáveis da paleta de componentes de script dentro da sub-aba Variáveis Globais. Veja Adicionar uma variável global a um script abaixo.
JavaScript
Em JavaScript scripts dentro de uma operação, a sintaxe usada para recuperar o valor de uma variável global depende se o nome da variável global contém um ponto.
-
O nome não inclui um ponto (recomendado): O valor de uma variável global que não contém um ponto em seu nome pode ser recuperado começando com um cifrão
$
. Prefixado com um cifrão$
, a expressão$ServerURL
recupera o valor da variável global chamadaServerURL
. -
Nome com pontos (recomendado apenas para variáveis Jitterbit e valores de objetos JavaScript): Uma variável que contém um ponto em seu nome pode ser atualizada ou recuperada em JavaScript apenas com o comando
Jitterbit.SetVar
eJitterbit.GetVar
funções. Como essas funções não são destinadas a variáveis globais definidas pelo usuário, consulte a seção sobre Variáveis Jitterbit para mais informações.Aviso
O JavaScript
Jitterbit.SetVar
eJitterbit.GetVar
as funções são projetadas especificamente para acessar as variáveis Jitterbit predefinidas. Eles não devem ser usados para acessar variáveis globais definidas pelo usuário.Em JavaScript, não misture e combine seu uso de
SetVar
(eGetVar
) com$
-prefixando ao definir (e recuperar) uma variável. Use apenas uma sintaxe. Misturar as duas sintaxes diferentes para a mesma variável pode causar problemas em tempo de execução.Se um JavaScript falhar, quaisquer alterações feitas no valor de uma variável global serão perdidas. Somente se o JavaScript for concluído com sucesso os valores de variáveis globais modificados estarão disponíveis fora do script.
Em scripts e transformações, as variáveis globais existentes também são exibidas na aba Variáveis da paleta de componentes de script dentro da subaba Variáveis Globais. Veja Adicionar uma variável global a um script abaixo.
Adicionar uma variável global a um script
No Jitterbit Script ou JavaScript usado em scripts criadas dentro de uma operação, as variáveis globais existentes são exibidas na aba Variáveis da paleta de componentes de script dentro da subguia Variáveis Globais:
Para adicionar a sintaxe variável a um script (Jitterbit Script ou JavaScript), use um destes métodos:
- Arraste a variável da paleta para o script para inserir a sintaxe da variável.
- Clique duas vezes na variável na paleta para inserir a sintaxe da variável no local do cursor dentro do script.
- Comece a digitar o nome da variável e pressione
Control+Space
para exibir uma lista de sugestões de preenchimento automático. Selecione uma variável para inserir a sintaxe da variável. - Insira manualmente a sintaxe da variável.
Use variáveis globais em telas de configuração
Durante a configuração de vários componentes do projeto, incluindo a configuração de endpoint usando conectores, você pode usar variáveis globais em qualquer campo que tenha um ícone de variável. Variáveis podem ser usadas em campos junto com outras entradas, incluindo com outras variáveis ou palavras-chave. Essas ações são abordadas abaixo:
- Selecione uma variável global
- Alternar formatos entre pílula e texto
- Defina um valor padrão
- Remover uma variável
Selecione uma variável global
Para acessar variáveis globais, você pode clicar em ícone variável ou insira um colchete aberto [
para exibir uma lista de variáveis e palavras-chave (se disponível para o campo atual).
Dentro da lista, cada tipo de variável ou palavra-chave é indicado pelo ícone ao lado do seu nome:
- para a palavra-chave filename
- para variável global
- para variável de projeto
- para variável Jitterbit
Na lista, passe o mouse sobre o nome da variável para visualizar informações sobre ela:
A Descrição no pop-up de informações é [Nenhum] para uma variável global. Um Valor é preenchido somente se a variável global tiver um valor padrão especificado neste campo de configuração.
O fundo do ícone é sólido se a variável global tiver um valor padrão especificado neste campo de configuração, ou vazio se não tiver. O fundo do ícone não é afetado se a mesma variável global tiver um valor especificado em outro campo de configuração, pois apenas um valor padrão especificado no campo atual é usado.
Aviso
Se uma variável global obtém seu valor em um script que é acima na cadeia do componente, seu valor avaliado substitui o valor padrão especificado no campo de configuração. Observe que os valores avaliados que são obtidos em um script não são refletidos no Valor no pop-up de informações.
Selecione uma variável para adicionar ao campo no local do seu cursor, em qualquer lugar da string. A variável é exibida em um formato de pílula semelhante ao mostrado abaixo:
Para revisar informações sobre a variável, passe o mouse sobre a pílula da variável:
Alternar formatos entre pílula e texto
Para alterar o formato padrão da pílula variável para o formato de texto, clique em ícone de colapso:
Isso alterna a exibição do formato da pílula para um formato de texto, com o nome da variável entre colchetes [ ]
:
No formato de texto, você pode definir um valor padrão.
Para mudar de um formato de texto de volta para o formato de pílula, mude o foco do campo, como clicando em outro campo configurável. A entrada do campo retorna automaticamente ao formato de pílula padrão.
Definir um valor padrão
No tempo de execução da operação, um valor padrão definido dentro de um campo de configuração, como mostrado abaixo, é usado somente se o valor da variável não tiver sido definido durante o tempo de execução. Isso é diferente durante o teste de script, onde — como quaisquer valores de script acima na cadeia ainda não foram instanciados — qualquer valor padrão definido dentro de um campo de configuração é usado.
Para definir um valor padrão dentro de um campo de configuração, primeiro alternar para formato de texto.
Imediatamente após o nome da variável global dentro dos colchetes [ ]
, especifique o valor padrão entre chaves { }
:
Quando valores padrão são especificados, o valor da variável global é usado se estiver definido, caso contrário, o valor padrão é usado.
Dica
Ao usar uma variável global em uma cláusula WHERE, como em um banco de dados ou Salesforce consultar, você pode especificar um valor padrão para que teste de script é possível. Caso contrário, como uma variável global obtém seu valor em tempo de execução, durante o teste a sintaxe pode ser inválida se nenhum valor padrão tiver sido especificado.
Se você não quiser que a variável global seja interpretada, use uma barra invertida \
para escapar do conjunto de colchetes [
]
.
Por exemplo, o seguinte não usa o valor de serverURL
mesmo que seja definido, mas em vez disso sempre usa http://server/index.asp
:
\[serverURL{http://server/index.asp}]
Cuidado
Em caminhos de arquivo que contêm barras invertidas, uma única barra invertida é interpretada como iniciando uma sequência de escape se for seguida por um colchete definido [
]
.
Barras invertidas adicionais podem ser usadas para atingir o resultado desejado. Por exemplo, \\server\share\\[Directory{testing}]
é interpretado como \\server\share\testing
se a variável Directory
não está definido, senão \\server\share\"value of Directory"
é usado.
Para evitar esse problema, converta os caminhos dos arquivos para o formato URL (por exemplo C:/directory/path
).
Remover uma variável
Para remover a variável, clique no remover ícone:
Exibir dependências de variáveis globais
As dependências de uma variável global são outros componentes que dependem da variável porque eles estão lendo de — ou escrevendo para — a variável global. Uma vez que uma variável global tenha sido criada e usada em um projeto, você pode visualizar essas dependências.
Após a criação de uma variável global, a opção Exibir dependências fica disponível na aba Componentes do painel do projeto (consulte menu de ações do componente na aba Componentes do painel Projeto). A opção Exibir dependências altera a exibição no painel do projeto para exibir outras partes do projeto das quais a variável global depende.
Na visualização de dependência, o nome da variável global selecionada aparece na parte superior, abaixo dos recursos de pesquisa e filtro existentes. O nome da variável global é seguido por uma lista de Dependências das quais a variável depende. Essa lista é organizada por categorias, como Atividade e Script, e ainda classificada em Leitura ou Gravação para indicar o tipo de acesso de uma referência de variável específica:
Por exemplo:
- Se um script contém
$myVar1='abc'
, está escrevendo um valor para a variável e referenciandomyVar1
para acesso de gravação. - Se um script contém
$myVar2=$myVar1
, está referenciandomyVar2
para acesso de gravação emyVar1
para acesso de leitura. - Se um script contém
If(myVar1=='abc', TRUE, FALSE)
, está referenciandomyVar1
para acesso de leitura.
Como tutoriais variáveis globais
Veja estas seções para detalhes sobre o uso de variáveis globais em projetos:
- Converter uma variável global em uma variável de projeto
- Verificar valores nulos ou indefinidos
- Definir e acessar variáveis de array
Converter uma variável global em uma variável de projeto
Você pode converter uma variável global já existente em uma variável de projeto.
Variáveis globais podem ser convertidas em variáveis de projeto durante configuração de variáveis de projeto. Ao configurar uma variável de projeto, insira o nome de uma variável global existente no campo de nome. Ao tentar salvar, um prompt pede para você confirmar que deseja converter a variável global em uma variável de projeto:
Ao clicar em Continuar, todas as referências e dependências da variável global são transferidas para a variável do projeto. Isso inclui referências à antiga variável global dentro de scripts, que agora faz referência à variável do projeto. (Tenha em mente que um valor para uma variável de projeto definida em um script durante a execução da cadeia de operação substitui o valor padrão especificado na configuração da variável do projeto.)
Para mais detalhes sobre variáveis de projeto, consulte Variáveis de projeto.
Verifique se há valores nulos ou indefinidos
Uma variável global que não foi definida tem um valor nulo.
Por exemplo, IsNull(Get("GlobalVariableName"))
retorna verdadeiro se uma variável global com o nome GlobalVariableName
ainda não foi definido. Isso pode ser usado para verificar se uma variável global foi definida ou não.
Definir e acessar variáveis de matriz
Você pode criar arrays de variáveis globais, também conhecidas como variáveis de array. Veja Arrays para obter informações sobre como definir e recuperar valores de variáveis de matriz.