Ir para o conteúdo

Mapeamento Múltiplo

O conceito de mapeamento múltiplo é a ideia de que você precisa mapear uma única estrutura plana para uma estrutura hierárquica por natureza, com segmentos inferiores contendo vários conjuntos de valores, como pares nome/valor. Nessa circunstância, as cópias de uma determinada pasta podem ocorrer várias vezes, cada cópia de pasta deve ser mapeada com as regras apropriadas.

Uma situação de amostra é fornecida abaixo para ilustrar como obter transformações planas para hierárquicas.

Exemplo de Situação 3

Considere a situação em que a fonte de dados é uma estrutura de dados simples (desnormalizada) e a definição de destino é de natureza hierárquica. Neste exemplo, os dados de origem são representados em uma estrutura desnormalizada, como um arquivo simples.

Estruturas e Dados do Documento

  • Estrutura do documento de origem: O documento de origem é um arquivo de texto.

  • Dados do documento de origem: Este arquivo contém dados de amostra que espelham a estrutura do arquivo DTD.

  • Estrutura do documento de destino: a estrutura de dados do documento de destino é de natureza hierárquica, com pelo menos uma linha de cabeçalho e várias linhas de detalhes atribuídas à linha de cabeçalho.

  • Saída de Destino: O resultado final desejado desta transformação é a saída em um formato específico.

Nota

Uma definição de tipo de documento (DTD) é um conjunto de declarações de marcação que definem um tipo de documento para uma linguagem de marcação da família SGML, como SGML, XML, HTML. Uma DTD define os blocos de construção legais de um documento XML.

Mapeamento para Pastas Únicas

O primeiro conjunto de mapeamentos é para itens iguais para cada registro (lembre-se de que pode haver vários registros criados no destino).

  • Mapeie cada uma dessas entradas de origem para seu respectivo destino:
Fonte Alvo
Código do armazém inventory.warehouse.warehouseinfo.warehousecode
Estado de Armazém inventory.warehouse.warehouseinfo.warehousestate
ItemNúmero inventory.warehouse.instockitem.itemnumber
ItemQuantidade inventory.warehouse.instockitem.itemquantity
  • Depois de mapear esses primeiros quatro elementos, compare seu trabalho com a figura abaixo.

Adicionar Pastas Extras

Os elementos de dados de origem restantes (cor, peso e custo) exigirão cada um sua própria cópia da pasta de destino.

  • Selecione o nome da pasta que deseja duplicar (neste caso, instockitem).

  • Clique no ícone de várias pastas anexo para exibir a caixa de diálogo Mapping Options. Como você tem três elementos de dados que deseja mapear separadamente, selecione o botão de opção Criar pastas adicionais e insira o número 3:

    anexo

  • Clique em OK para fechar a caixa de diálogo.

  • Agora você terá três cópias adicionais da pasta instockitem, indicadas por #1, #2 e #3 no final de seus nomes de pasta.

Origem do Mapa para Novos Elementos de Dados de Destino

Agora você precisa mapear seus elementos de dados de origem para essas novas pastas de destino.

  • Selecione Cor no painel Origem.

  • Alterne para abrir instockitem#1, abra a pasta de atributo e, finalmente, selecione o elemento de dados de valor da pasta attributevalue ([V]).

  • Clique no botão Mapear para mapear esta relação.

  • Repita essas etapas para os elementos de dados Peso e Custo de origem, mapeando-os para os respectivos valores de atributo [V] do iteminstockitem#2 e do iteminstock#3. Compare seu trabalho com a figura abaixo.

Definir Códigos de Atributos Associados

Cada um dos elementos de dados que você mapeou para as várias ocorrências das pastas precisa ter seu elemento de dados attributecode correspondente definido corretamente:

  • Selecione o elemento de dados de valor da pasta attributecode ([V]) na pasta de atributos do attributecode em instockitem#1.

  • Clique no botão Fórmula para iniciar o Construtor de Fórmulas.

  • Digite o valor apropriado para o campo no campo de expressão na parte superior da janela. Neste exemplo, digite COLOR (mas não use aspas).

    Nota

    Certifique-se de usar todas as letras maiúsculas, pois o destino XML pode diferenciar maiúsculas de minúsculas.

  • Esse código simples é tudo que esse elemento de dados requer, então clique em OK para descartá-lo.

Repita essas etapas para as outras duas pastas que foram criadas, para que cada um dos campos de atributo na origem seja mapeado para seus valores apropriados (PESO e CUSTO) no destino.

Você concluiu seu mapeamento de transformação. Para testá-lo, crie uma operação que faça referência à origem e ao destino apropriados e a essa transformação que você acabou de fazer.