Sumário

Search

  1. Prefácio
  2. Trabalhando com Transformações
  3. Transformação Agregador
  4. Transformação Personalizada
  5. Funções de Transformação Personalizada
  6. Transformação Mascaramento de Dados
  7. Exemplos de Mascaramento de Dados
  8. Transformação Expressão
  9. Transformação Procedimento Externo
  10. Transformação Filtros
  11. Transformação HTTP
  12. Transformação de Resolução de Identidade
  13. Transformação Java
  14. Referência da API da transformação Java
  15. Expressões Java
  16. Exemplo de Transformação Java
  17. Transformação Joiner
  18. Transformação Pesquisa
  19. Caches de Pesquisa
  20. Cache de Pesquisa Dinâmica
  21. Transformação Normalizador
  22. Transformação Classificação
  23. Transformação Roteador
  24. Transformação de Gerador de Sequência
  25. Transformação Classificador
  26. Transformação de Qualificador de Origem
  27. Transformação SQL
  28. Usando a Transformação SQL em um Mapeamento
  29. Transformação Procedimento Armazenado
  30. Transformação Controle de Transações
  31. Transformação União
  32. Transformação Dados Não Estruturados
  33. Transformação Estratégia de Atualização
  34. Transformações XML

Guia de Transformações

Guia de Transformações

Valores nulos

Valores nulos

Quando você atualiza um cache de pesquisa dinâmica e uma tabela de destino, os dados de origem podem conter alguns valores nulos. O Serviço de Integração pode manipular os valores nulos das seguintes maneiras:
  • Inserir valores nulos.
    O Serviço de Integração usa valores nulos a partir da origem e atualiza o cache de pesquisa e a tabela de destino usando todos os valores da origem.
  • Ignorar valores nulos.
    O Serviço de Integração ignora os valores nulos na origem e atualiza o cache de pesquisa e a tabela de destino usando apenas os valores da origem que não forem nulos.
Se você souber que os dados da origem contêm valores nulos, e não deseja que o Serviço de Integração atualize o cache de pesquisa ou o destino com valores nulos, selecione a propriedade Ignorar nulo para a porta de pesquisa/saída correspondente.
Por exemplo, você deseja atualizar a tabela mestre de clientes. A origem contém os clientes novos e atuais, cujos sobrenomes foram alterados. A origem contém as IDs e nomes dos clientes cujos nomes mudaram, mas contém valores nulos para as colunas de endereço. Você deseja inserir os novos clientes e atualizar os nomes dos atuais, enquanto mantém as informações atuais de endereço em uma tabela mestre de clientes.
Por exemplo, a tabela de cliente mestre contém os seguintes dados:
Primary Key
CUST_ID
CUST_NAME
ADDRESS
CITY
STATE
ZIP
100001
80001
Marion James
100 Main St.
Mt. View
CA
94040
100002
80002
Laura Jones
510 Broadway Ave.
Raleigh
NC
27601
100003
80003
Shelley Lau
220 Burnside Ave.
Portland
OR
97210
A origem contém os seguintes dados:
CUST_ID
CUST_NAME
ADDRESS
CITY
STATE
ZIP
80001
Marion Atkins
NULL
NULL
NULL
NULL
80002
Laura Gomez
NULL
NULL
NULL
NULL
99001
Jon Freeman
555 6th Ave.
San Jose
CA
95051
Selecione Insert Else Update na transformação de Pesquisa no mapeamento. Selecione a opção Ignorar nulo para todas as portas de pesquisa/saída na transformação de Pesquisa. Quando você executa uma sessão, o Serviço de Integração ignora os valores nulos nos dados da origem e atualiza o cache de pesquisa e a tabela de destino com valores que não sejam nulos:
PRIMARYKEY
CUST_ID
CUST_NAME
ADDRESS
CITY
STATE
ZIP
100001
80001
Marion Atkins
100 Main St.
Mt. View
CA
94040
100002
80002
Laura Gomez
510 Broadway Ave.
Raleigh
NC
27601
100003
80003
Shelley Lau
220 Burnside Ave.
Portland
OR
97210
100004
99001
Jon Freeman
555 6th Ave.
San Jose
CA
95051
Quando você opta por ignorar NULLs, deve verificar se produz a saída dos mesmos valores para o destino que o Serviço de Integração escreve no cache de pesquisa. Quando você opta por ignorar NULLs, o cache de pesquisa e a tabela de destino podem perder a sincronia se você transferir os valores nulos de entrada para o destino. Configure o mapeamento com base no valor que você deseja que o Serviço de Integração produza a saída a partir das portas de pesquisa/saída, quando ele atualiza uma linha no cache:
  • Valores novos.
    Conecte somente as portas de pesquisa/saída a partir da transformação de Pesquisa para o destino.
  • Valores antigos.
    Adicione uma transformação de Expressão depois da transformação de Pesquisa e antes da transformação de Filtro ou Roteador. Adicione portas de saída à transformação Expressão para cada porta na tabela de destino e crie expressões para garantir que valores nulos não sejam transferidos ao destino.