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

Assinatura

Assinatura

Um parâmetro passado a um procedimento externo é um ponteiro para um objeto da classe TINFParam. Essa função de assinatura fixa é um método da classe e retorna o tipo de dados do parâmetro como um valor de enum.
Os tipos de dados válidos são:
  • INF_DATATYPE_LONG
  • INF_DATATYPE_STRING
  • INF_DATATYPE_DOUBLE
  • INF_DATATYPE_RAW
  • INF_DATATYPE_TIME
A tabela a seguir descreve algumas funções de acesso a parâmetros:
Função de Acesso a Parâmetros
Descrição
INF_DATATYPE GetDataType(void);
Obtém o tipo de dados de um parâmetro. Use o tipo de dados do parâmetro para determinar qual função específica a ele deve usar ao acessar valores de parâmetro.
INF_BOOLEAN IsValid(void);
Verifica se os dados de entrada são válidos. Retorna FALSE se o parâmetro contiver dados truncados para a string ou tipos de dados brutos. Também retorna FALSE quando os dados de entrada excedem a precisão ou são um valor nulo.
INF_BOOLEAN IsNULL(void);
Verifica se os dados de entrada são NULL.
INF_BOOLEAN IsInputMapped (void);
Verifica se a porta de entrada que passa dados a esse parâmetro está conectada a uma transformação.
INF_BOOLEAN IsOutput Mapped (void);
Verifica se a porta de saída que recebe dados desse parâmetro está conectada a uma transformação.
INF_BOOLEAN IsInput(void);
Verifica se o parâmetro corresponde a uma porta de entrada.
INF_BOOLEAN IsOutput(void);
Verifica se o parâmetro corresponde a uma porta de saída.
INF_BOOLEAN GetName(void);
Obtém o nome do parâmetro.
SQLIndicator GetIndicator(void);
Obtém o valor do indicador de um parâmetro. As funções IsValid e ISNULL são casos especiais dessa função. Essa função também pode retornar INF_SQL_DATA_TRUNCATED.
void SetIndicator(SQLIndicator Indicator);
Define um indicador de parâmetro de saída, como inválido ou truncado.
long GetLong(void);
Obtém o valor de um parâmetro cujo tipo de dados é Long ou Integer. Só chame essa função se você souber que o tipo de dados do parâmetro é Integer ou Long. Essa função não converte dados de outro tipo de dados em Long.
double GetDouble(void);
Obtém o valor de um parâmetro cujo tipo de dados é Float ou Double. Chame essa função somente se você souber que o tipo de dados do parâmetro é Float ou Double. Essa função não converte outro tipo de dados em Double.
char* GetString(void);
Obtém o valor de um parâmetro como uma string não terminada em nulo. Chame essa função somente se você souber que o tipo de dados do parâmetro é String. Essa função não converte outro tipo de dados em String.
O valor no ponteiro mudará quando a linha seguinte de dados for lida. Se você quiser armazenar o valor de uma linha para uso posterior, copie explicitamente a string para o seu próprio buffer.
char* GetRaw(void);
Obtém o valor de um parâmetro como uma matriz de bytes não terminada em nulo. Chame essa função somente se você souber que o tipo de dados do parâmetro é Raw. Essa função não converte outro tipo de dados em Raw.
unsigned long GetActualDataLen(void);
Obtém a atual extensão da matriz retornada por GetRaw.
TINFTime GetTime(void);
Obtém o valor de um parâmetro cujo tipo de dados é Date/Time. Chame essa função somente se você souber que o tipo de dados do parâmetro é Date/Time. Essa função não converte outro tipo de dados em Date/Time.
void SetLong(long lVal);
Define o valor de um parâmetro de saída com tipo de dados Long.
void SetDouble(double dblVal);
Define o valor de um parâmetro de saída cujo tipo de dados é Double.
void SetString(char* sVal);
Define o valor de um parâmetro de saída cujo tipo de dados é String.
void SetRaw(char* rVal, size_t ActualDataLen);
Define uma matriz de bytes não terminada em nulo.
void SetTime(TINFTime timeVal);
Define o valor de um parâmetro de saída cujo tipo de dados é Date/Time.
Só use a função SetInt32 ou GetInt32 quando executar o procedimento externo em um Serviço de Integração de 64 bits. Não use nenhuma destas funções:
  • GetLong
  • SetLong
  • GetpLong
  • GetpDouble
  • GetpTime
Passe os parâmetros usando duas listas de parâmetros.
A tabela a seguir lista as variáveis de membro da classe base do procedimento externo:
Variável
Descrição
m_nInParamCount
Número de parâmetros de entrada.
m_pInParamVector
Matriz real de parâmetros de entrada.
m_nOutParamCount
Número de parâmetros de saída.
m_pOutParamVector
Matriz real de parâmetros de saída.
Portas definidas como entrada e saída mostradas nas duas listas de parâmetros.