Sumário

Search

  1. Prefácio
  2. Introdução às Transformações
  3. Portas de Transformação
  4. Caches de Transformação
  5. Transformação de Validador de Endereço
  6. Transformação de Agregador
  7. Transformação de Associação
  8. Transformação de Exceção de Registro Inválido
  9. Transformação de Conversor de Maiúsculas/Minúsculas
  10. Transformação de Classificador
  11. Transformação de Comparação
  12. Transformação de Consolidação
  13. Transformação de Mascaramento de Dados
  14. Transformação do Processador de Dados
  15. Transformação de Decisão
  16. Transformação de Exceção de Registro Duplicado
  17. Transformação de Expressão
  18. Transformação de Filtro
  19. Transformação Hierárquica para Relacional
  20. Transformação Java
  21. Referência da API da transformação Java
  22. Expressões Java
  23. Transformação de Associador
  24. Transformação de Gerador de Chaves
  25. Transformação de Rotulador
  26. Transformação de Pesquisa
  27. Caches de Pesquisa
  28. Cache de Pesquisa Dinâmica
  29. Transformação de Correspondência
  30. Transformações de Correspondência na Análise de Campos
  31. Transformações de Correspondência na Análise de Identidade
  32. Transformação Normalizador
  33. Transformação de Mesclagem
  34. Transformação de Analisador
  35. Transformação Python
  36. Transformação de Classificação
  37. Transformação de Leitura
  38. Transformação de Relacional para Hierárquica
  39. Transformação de Consumidor de Serviço da Web REST
  40. Transformação de Roteador
  41. Transformação de Gerador de Sequência
  42. Transformação de Ordenador
  43. Transformação SQL
  44. Transformação de Padronizador
  45. Transformação de União
  46. Transformação de Estratégia de Atualização
  47. Transformação de Consumidor de Serviço da Web
  48. Analisando Mensagens SOAP de Serviços da Web
  49. Gerando Mensagens SOAP de Serviços da Web
  50. Transformação de Média Ponderada
  51. Transformação de Janela
  52. Transformação de Gravação
  53. Delimitadores de Transformação

Guia de Transformação do Developer

Guia de Transformação do Developer

Exemplo - transformação de Relacional para Hierárquica

Exemplo - transformação de Relacional para Hierárquica

O departamento de Finanças da empresa Electronics Superstore precisa processar cheques de pagamento para os funcionários da empresa. Eles precisam para transformar dados de funcionários armazenados em um banco de dados relacional em um formato hierárquico que seu sistema de pagamentos possa processar.
O mapeamento precisa usar uma transformação de Relacional para Hierárquica que processa a entrada dos detalhes de funcionários, como o nome, a ID, o endereço e os dados de conta bancária do funcionário, e gera a saída dos detalhes em um formato hierárquico utilizável.
Na entrada relacional, o elemento Bank_ID é uma chave primária na tabela Employee e uma Chave externa na tabela Bank:
Employee_ID
Last_Name
First_Name
Address
Bank_ID
Bank_Account
9173327437
Sandrine
Jacques
74 Mobile Avenue
74845
8723487234
9174562342
Race
Tom
266 Crouse St.
9234734
45324734
8484526471
Jones
Charles
3815 LaValle Boulevard
389236
234638437
7023847265
Smith
Delilah
193 Short Drive
74845
8723463432
9174596725
Frederick
George
17 Serenity Road
9234734
6342636699
Bank_ID
Bank_Name
SWIFT_Code
74845
National Bank
9173327
9234734
International Bank
9174562
389236
Star National Bank
8484526
Na saída Payment em formato hierárquico, os elementos são combinados a partir das tabelas:
<banks> <bank name="National Bank" SWIFT="9173327"> <account id="8723487234"> <employee_id>9173327437</employee_id> <fname>Sandrine</fname> <lname>Jacques</lname> <address>74 Mobile Avenue</address> </account> <account id="8723463432"> <employee_id>9082745558</employee_id> <fname>Delilah</fname> <lname>Smith</lname> <address>193 Short Drive</address> </account> </bank> <bank name="International Bank" SWIFT="9174562"> <accounts> <account id="45324734"> <employee_id>5534398889</employee_id> <fname>Race</fname> <lname>Tom</lname> <address>266 Crouse St.</address> </account> <account id="6342636699"> <employee_id>9174596725</employee_id> <fname>Frederick</fname> <lname>George</lname> <address>17 Serenity Road</address> </account> </accounts> </bank> <bank name="Star National Bank" SWIFT="8484526"> <accounts> <account id="234638437"> <employee_id>8484526471</employee_id> <fname>Jones</fname> <lname>Charles</lname> <address>3815 LaValle Boulevard</address> </account> </accounts> </bank> </banks>
A seguinte imagem mostra o mapeamento nesse exemplo:
Crie um mapeamento com uma entrada relacional, uma saída hierárquica e uma transformação de Relacional para Hierárquica.
O mapeamento contém os seguintes objetos:
Read_BankAccounts
A origem que contém os dados bancários.
Read_Employees
A origem que contém os dados dos funcionários.
BankAccountsAndEmployees_To_PaymentsSystemXML
Uma transformação de Relacional para Hierárquica que transforma a entrada relacional que contém informações de funcionários e contas bancárias em um formato XML que é consumido pelo sistema de pagamento.
Write_BanksXML
Um caminho de destino para o arquivo que armazena os dados transformados sempre que você executa o mapeamento.
O mapeamento usa os arquivos Read_BankAccount e Read_Employees para fornecer a entrada relacional. O mapeamento processa e transforma os dados com a transformação BankAccountsAndEmployees_To_PaymentsSystemXML. Em seguida, ele armazena a saída no caminho de destino listado no arquivo simples Write_BanksXML.