Substituição dinâmica no Jitterbit App Builder
Substituição Dinâmica é um tipo de sintaxe que pode ser usada no App Builder para substituir dinamicamente o resultado de uma expressão na Camada de Lógica de Negócios e/ou na Camada de Interface do Usuário do Aplicativo. Na Camada de Lógica de Negócios, ela é usada para fins de substituição dinâmica de dados e, na Camada de Interface do Usuário do Aplicativo, é usada para substituir dinamicamente o valor resultante exibido. A substituição dinâmica também pode ser usada em Notificações, onde você deseja substituir informações exibidas, por exemplo. {{NomeDoCliente}}
.
Ao usar a Substituição Dinâmica na Camada de Interface do Usuário do Aplicativo, você precisa atribuir a Página a um Objeto de Negócio para usar a substituição dinâmica. Essas informações são configuradas no nível da Página, portanto, todos os campos necessários para a substituição precisarão estar disponíveis no Objeto de Negócio da Página.
Os benefícios de usar a substituição dinâmica na Lógica de Negócios são que ela permite simplificar a quantidade de informações contidas em uma Expressão e torna as Expressões mais legíveis.
Sintaxe de substituição dinâmica
A sintaxe a ser usada para Substituição Dinâmica é:
`{{AliasName}}`
Aqui, as chaves {{ }} (ou chaves nos EUA) circundam o valor de Alias que será usado para a substituição dinâmica. Recomenda-se que o valor real contido entre chaves seja um valor de Alias em vez de um valor de Nome de Coluna ou Expressão, pois, com o tempo, um valor de Alias geralmente é considerado mais estático do que um Nome de Coluna ou Expressão.
Exemplo de lógica de negócios
A Substituição Dinâmica é muito útil em cláusulas Where, além de simplificar cálculos na Camada de Lógica de Negócios. Aqui, veremos exemplos específicos em que podemos utilizar a Substituição Dinâmica.
Neste exemplo, usaremos o banco de dados Northwinds como fonte e assumiremos que estamos visualizando uma página de Pedidos contendo informações sobre pedidos feitos por meio de um aplicativo de atendimento de pedidos. Primeiro, veremos como podemos usar a Substituição Dinâmica em uma Regra de Lógica de Negócios para restringir as informações de Pedidos exibidas apenas aos Pedidos feitos nos últimos 3 anos:
- Navegue até a página de pedidos do aplicativo, vá para Gaveta de ações > Live Designer
- Explore o ícone da engrenagem SQL do Painel de Pedidos
- Copie o Objeto de Negócio Order (Source) e renomeie-o. Por exemplo: Orders (Last Few Years)
- Para a nova Regra, na aba Colunas, crie uma nova Expressão que calcule o número de anos desde que um Pedido foi feito usando
DATEDIFF
e forneça um valor de Alias para esta Expressão. Este Alias será usado para substituição dinâmica. Por exemplo: DateDiff - Defina a opção de conversão apropriada para o tipo de dado lógico da expressão. Aqui, definimos como Número.
- Validar para verificar se os resultados são os esperados
Em seguida, usaremos a substituição dinâmica na cláusula Where do nosso Objeto de Negócio para restringir os resultados que queremos retornar.
- Navegue até a tela Lógica de Negócios onde você está configurando a Regra acima
- Clique para selecionar a aba Onde
- Clique em + Cláusula Where e adicione a sintaxe de Substituição Dinâmica, usando o valor de Alias da Expressão recém-criada e informe como você deseja restringir os resultados. Por exemplo:
- Esquerda = {{DateDiff}}
- Operador = <=
- Direita = 3
- Validar e verificar se os registros retornados são apenas os Pedidos feitos nos últimos 3 anos
Por fim, com este exemplo, veremos como podemos simplificar um cálculo usando substituição dinâmica. Continuando a trabalhar com o Objeto de Negócio criado para o exemplo que temos, vamos modificá-lo para incluir uma Expressão adicional que usa substituição dinâmica para encadear o número de anos desde que um Pedido foi feito com a palavra "anos".
- Clique no botão Voltar do App Builder para retornar à tela Lógica de Negócios onde você está configurando a Regra
- Clique para selecionar a aba Colunas
- Clique em + Coluna e adicione uma Expressão que converte o valor de substituição dinâmica e o une à palavra 'anos':
- Por exemplo:
CAST({{Diferença de data}} as string) || 'years'
- Por exemplo:
- Forneça um valor de Alias para esta Expressão. Por exemplo: Anos
- Validar resultados
Exemplo de URL
Se você estiver procurando substituir dinamicamente uma URL em um objeto de dados, você pode usar uma sintaxe como a do exemplo a seguir:
'www.webpage.com/path/path/' || {{Substituição Dinâmica}}
Exemplo de expressão complexa
Se você estiver trabalhando com substituição dinâmica em uma expressão mais complexa, tenha cuidado com a sintaxe. Pode haver casos em que você precise adicionar um conjunto adicional de parênteses para que a sintaxe funcione corretamente (ou conforme o esperado).
Por exemplo, se você usar o seguinte Expression App Builder, ele retornará um erro de Divisão por Zero:
IIF({{Sum}} = 0, 0,({{ContagemConcluída}}/{{Sum}})*100)
Isso ocorre porque o processo e a ordem em que a Expressão está sendo avaliada exigem um conjunto adicional de parênteses para gerar os resultados desejados. Aqui está a versão corrigida da sintaxe:
IIF(({{Sum}}) = 0, 0,((CAST({{ContagemConcluída}} AS DECIMAL(15,5)))/(CAST({{Sum}} AS DECIMAL(15,5))))*100)
Exemplo de nome de página ou painel
Substituições dinâmicas também podem ser usadas para nomes de páginas ou painéis. Neste cenário de exemplo, usaremos a Substituição Dinâmica para o Nome de um painel do Formulário da Página de Funcionários. Aqui, substituiremos dinamicamente o Nome Completo do Funcionário como o Nome do painel do Formulário do Funcionário.
- Navegue até a página do seu aplicativo onde deseja substituir o Nome do Painel. Por exemplo: Funcionário
- Clique no menu Gaveta de Ações, selecione Live Designer
- Selecione o Objeto Comercial que contém o valor da coluna que você usará para Origem em Opções de Página
- Clique na aba Opções de Rótulo do painel cujo nome você deseja modificar. Por exemplo: Funcionário
-
Modifique o campo Rótulo para conter o valor da coluna que você está usando, usando a sintaxe correta para Substituição Dinâmica.
- Por exemplo:
{{NomeCompleto}}
- Por exemplo:
-
Clique em Salvar
- Volte para a página no aplicativo, atualize seu navegador e teste.
Validações do App Builder
Se quiser usar substituições dinâmicas com mensagens de validação do App Builder, você precisará colocar o valor de substituição dinâmica na própria mensagem de validação e também no objeto comercial do painel.
Exemplo de mensagem de validação: Não pode exceder {{Desconto Máximo}}
Limitações
As seguintes são limitações conhecidas ao trabalhar com Substituições Dinâmicas:
- Atualmente, não há suporte para nomes de colunas em um gráfico
- A formatação de moeda estrangeira não permite a substituição dinâmica no momento. A solução alternativa é formatar o objeto de dados e converter como String, o que faz com que a função total funcione.