Ir para o conteúdo

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'
  • 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.

  1. Navegue até a página do seu aplicativo onde deseja substituir o Nome do Painel. Por exemplo: Funcionário
  2. Clique no menu Gaveta de Ações, selecione Live Designer
  3. Selecione o Objeto Comercial que contém o valor da coluna que você usará para Origem em Opções de Página
  4. Clique na aba Opções de Rótulo do painel cujo nome você deseja modificar. Por exemplo: Funcionário
  5. 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}}
  6. Clique em Salvar

  7. 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.