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

Etapa 2. Gerar os Arquivos C++

Etapa 2. Gerar os Arquivos C++

Depois de criar uma transformação Procedimento Externo, você pode gerar o código. O Designer gera nomes de arquivo com letras minúsculas porque os arquivos criados nas unidades mapeadas para UNIX estão sempre em minúsculas. As regras a seguir aplicam-se aos arquivos gerados:
  • Nomes de arquivos.
    O prefixo ‘tx’ é usado para arquivos de módulo TX.
  • Nomes de classes de módulos.
    O código gerado contém declarações de classe para o módulo que contém os procedimentos TX. O prefixo
    Tx
    é usado para classes de módulos TX. Por exemplo, se uma transformação Procedimento Externo tiver um módulo denominado Mymod, o nome da classe será TxMymod.
Para gerar o código de um procedimento externo:
  1. Selecione a transformação e clique em Transformação > Gerar Código.
  2. Marque a caixa de seleção ao lado do nome do procedimento que você acabou de criar.
    No exemplo BankSoft, selecione
    INF_BankSoft.FV
    .
  3. Especifique o diretório em que deseja gerar os arquivos e clique em Gerar.
    O Designer cria um subdiretório, INF_BankSoft, no diretório especificado.
    Cada transformação Procedimento Externo criada no Designer deve especificar um módulo e um nome de procedimento. O Designer gera código em um único diretório para todas as transformações que compartilham um nome de módulo comum. A criação do código em um diretório criará uma única biblioteca compartilhada.
    O Designer gera os arquivos a seguir:
    • tx<Nomedomódulo>.h.
      Define a classe de módulo do procedimento externo. Essa classe é derivada de uma classe base TINFExternalModule60. Não são definidos membros de dados para essa classe no código gerado. No entanto, você pode adicionar novos membros de dados e métodos aqui.
    • tx<Nomedomódulo>.cpp.
      Implementa a classe de módulo do procedimento externo. Você pode expandir o método InitDerived() para incluir a inicialização de quaisquer novos membros de dados que adicionar. O Serviço de Integração chama o método InitDerived() da classe derivada somente quando completa com sucesso o método Init() da classe base.
    Esse arquivo define as assinaturas de todas as transformações Procedimento Externo no módulo. Qualquer modificação dessas assinaturas provoca inconsistência com as transformações Procedimento Externo definidas no Designer. Portanto, você não deve alterá-las.
    Esse arquivo também inclui uma função C CreateExternalModuleObject, que cria um objeto da classe do módulo do procedimento externo usando o construtor definido no arquivo. O Serviço de Integração chama CreateExternalModuleObject, em vez de chamar o construtor diretamente.
    • <procedureName>.cpp.
      O Designer gera um desses arquivos para cada procedimento externo nesse módulo. Esse arquivo contém o código que implementa a lógica do procedimento, como a limpeza e a filtragem de dados. Para a limpeza de dados, crie um código para ler valores das portas de entrada e gerar valores para portas de saída. Para filtragem, crie um código para suprimir a geração de linhas de saída, retornando INF_NO_OUTPUT_ROW.
    • stdafx.h.
      Arquivo stub usado para construir sistemas UNIX. Os vários arquivos *.cpp incluem esse arquivo. Nos sistemas Windows, o Visual Studio gera um arquivo stdafx.h, que deve ser usado em substituição ao arquivo gerado pelo Designer.
    • version.cpp.
      Este é um pequeno arquivo que carrega o número de versão dessa implementação. Nas versões anteriores, a implementação do procedimento externo era tratada de maneira diferente. Esse arquivo permite que o Serviço de Integração determine a versão do módulo do procedimento externo.
    • makefile.aix, makefile.aix64, makefile.hp, makefile.hp64, makefile.hpparisc64, makefile.linux, makefile.sol.
      Crie arquivos para plataformas UNIX. Utilize makefile.aix, makefile.hp, makefile.linux e makefile.sol para plataformas de 32 bits. Utilize makefile.aix64 para plataformas AIX de 64 bits e makefile.hp64 para plataformas HP-UX (Itanium) de 64 bits.