Quando você chama um procedimento, o Serviço de Integração captura um valor de retorno adicional, independentemente do valor de retorno codificado no procedimento. Esse valor adicional indica se o Serviço de Integração chamou o procedimento com sucesso.
Para procedimentos COM, esse valor de retorno utiliza o tipo HRESULT.
Os procedimentos Informatica utilizam o tipo INF_RESULT. Se o valor retornado for S_OK/INF_SUCCESS, isso indica que o Serviço de Integração chamou o procedimento com sucesso. Você deve retornar o valor apropriado para indicar o sucesso ou a falha do procedimento externo. Os procedimentos Informatica retornam quatro valores:
INF_SUCCESS.
O procedimento externo processou a linha com sucesso. O Serviço de Integração passa a linha para a próxima transformação no mapeamento.
INF_NO_OUTPUT_ROW.
O Serviço de Integração não grava a linha atual devido à lógica do procedimento externo. Isso não é um erro. Quando você usa INF_NO_OUTPUT_ROW para filtrar linhas, a transformação Procedimento Externo se comporta da mesma maneira que a transformação Filtro.
Quando usar INF_NO_OUTPUT_ROW no procedimento externo, certifique-se de vincular a transformação Procedimento Externo a outra transformação que receba linhas somente da transformação Procedimento Externo.
INF_ROW_ERROR.
Equivalente a um erro de transformação. O Serviço de Integração descarta a linha atual, mas pode processar a linha seguinte, a menos que você configure a sessão para parar em
n
erros.
INF_FATAL_ERROR.
Equivalente a uma chamada da função ABORT(). O Serviço de Integração anula a sessão e não processa mais nenhuma outra linha.