Desenvolver transformação de dados

Concluído

O gerenciamento de dados é um recurso importante para ajudá-lo a importar ou exportar dados de forma assíncrona com outros sistemas. O elemento Entidade de dados na AOT (árvore de objetos de aplicativo) executa as operações de transferência de dados. Como parte do processo de exportação ou importação, você é solicitado a executar a transformação de dados intermediários para preparar os dados para o aplicativo de destino. Você pode transformar dados por meio da configuração. Além disso, há opções disponíveis para ajudar a desenvolver código a fim de executar transformações complexas.

Transformação usando configuração

Os aplicativos de finanças e operações têm um conceito de preparo de tabelas entre as tabelas origem e de destino. Na origem, os dados são inseridos ou atualizados na tabela de preparo e, depois, transferidos para o destino. Você pode transformar os dados antes que eles sejam inseridos na tabela de preparo. A transformação de dados também é possível enquanto os dados são transferidos do preparo para o destino.

Transformação de dados entre a fonte de dados externa e a tabela de preparo

Quando um novo projeto de Exportação ou Importação for criado no gerenciamento de dados, um ícone será exibido na linha de projeto na coluna de Exibir mapa. Quando você seleciona este ícone, a visualização de mapeamento entre a tabela de preparo e a fonte de dados externa é exibida, conforme mostrado na captura de tela a seguir. A guia Detalhes de mapeamento, ao lado da guia Visualização de mapeamento, fornece os detalhes de mapeamento de campo de origem para o destino e uma opção para a transformação básica dos dados.

Captura de tela da guia Visualização de mapeamento, mostrando Entidade (origem) e Entidades de destino.

As funcionalidades que podem ser obtidas na página Detalhes de mapeamento incluem:

  • Ignorar valores em branco: se houver um requisito em vigor para ignorar um registro se um valor de campo específico estiver em branco, você deverá usar esse recurso.

  • Qualificador de texto: requisitos estão em vigor, como o requisito de que arquivo de transferência de dados precisa conter uma coluna do tipo cadeia de caracteres, e o valor dessa coluna pode conter uma vírgula, que também é o delimitador de coluna. Por exemplo, os nomes de sua organização incluem vírgulas, e o valor que você está usando para um delimitador de coluna também é uma vírgula. Você pode usar um qualificador de texto para resolver esse conflito, o que adicionará aspas duplas para identificar a coluna Texto.

  • Usar rótulo de enumeração: essa é uma caixa de seleção, que você pode marcar para usar a etiqueta de enumeração no arquivo de transferência de dados.

  • Gerado automaticamente: alguns campos em uma entidade podem ter requisitos para atualizar dados gerados pelo sistema durante a importação em vez de fornecer os dados no arquivo de importação de origem. Nesse cenário, você pode usar a funcionalidade gerada automaticamente nos detalhes de mapeamento da entidade. Por exemplo, a entidade do cliente pode fazer com que o número do participante seja gerado automaticamente durante a importação e que as informações do Catálogo de Endereços Global sejam criadas. Quando você marcar a caixa de seleção Gerado automaticamente para um campo, o campo de origem será alterado para Automático.

  • Padrão automático: alguns campos em uma entidade podem ter requisitos para atualizar dados padrão durante a importação, em vez de fornecer os dados no arquivo de importação de origem. Para esse cenário, você pode marcar a caixa de seleção Padrão automático nos detalhes de mapeamento da entidade. Quando você marcar a caixa de seleção Padrão automático, o botão Valor padrão será habilitado na página Mapear origem para preparo, na qual o default-value deve ser inserido.

  • Conversão: alguns campos em uma entidade podem ter requisitos para atualizar valores específicos durante a importação, com base no valor fornecido no arquivo de importação de origem. Por exemplo, no aplicativo de origem, o valor de determinado campo é falso ou verdadeiro. Enquanto você estiver importando no Dynamics 365, o valor deverá ser importado como Não ou Sim. O botão Conversão no formulário Mapear origem para preparo permite que você insira informações de mapeamento de valor para valor, o que atualizará os campos envolvidos durante a operação de importação.

Transformação de dados entre aplicativos de finanças e operações e a Tabela de preparo

Você pode acessar uma entidade de dados por meio do bloco Entidades de dados no espaço de trabalho Gerenciamento de dados. Para adicionar a lógica de transformação de dados, selecione o botão Modificar mapeamento de destino na barra de comandos da entidade de dados selecionada. A página Detalhes de mapeamento deve ser exibida.

Captura de tela da página Mapear preparo para destino, mostrando a guia Detalhes de mapeamento.

As opções para criar campos virtuais e colunas computadas estão disponíveis na entidade de dados. Esses campos serão exibidos no campo Preparo, que pode ser mapeado com os campos de Destino em finanças e operações. Você pode desenvolver a lógica de transformação de dados em campos virtuais ou colunas computadas escrevendo código em X++.

Colunas computadas

Considere os seguintes fatores ao desenvolver a lógica de transformação de dados em colunas computadas:

  • O Valor é gerado por uma exibição SQL de coluna computada.
  • Durante a leitura, os dados são calculados pelo SQL e são buscados diretamente da exibição.
  • Para gravações, o código personalizado em X++ deve analisar o valor de entrada e, em seguida, gravar os valores analisados nos campos comuns da entidade de dados. Os valores são armazenados nos campos regulares das fontes de dados da entidade.
  • Os campos computados são usados principalmente para as leituras.
  • Se possível, você deve usar colunas computadas em vez de campos virtuais, pois elas são computadas no nível do SQL Server, enquanto os campos virtuais são computados linha por linha em X++.

Campos virtuais

Considere os seguintes fatores ao desenvolver a lógica de transformação de dados em campos virtuais:

  • Os campos virtuais não são persistentes.
  • Os campos virtuais são controlados pelo código personalizado em X++.
  • A leitura e a gravação ocorrem por meio de código personalizado em X++.
  • Geralmente, os campos virtuais são usados para valores de entrada que são calculados usando o código em X++ e não podem ser substituídos por colunas computadas.