Histórico da Página
...
Para a equipe de negócio implementar a customização, a funcionalidade de Helper deverá ser regerada pelo EAI0032. Após regerar a funcionalidade de Helper é criado uma função neste arquivo com nome "Nome Funcionalidade" + "_antes_envio_mensagem". Esta função recebe como parâmetro a mensagem de negócio. O retorno padrão desta função sempre será verdadeiro, para não afetar o fluxo de envio da mensagem. Caso seja do interesse da equipe de negócio alterar o fluxo da mensagem de envio, essa alteração é implementada nesta função. O exemplo abaixo a apresenta função gerada pelo EAI0032.
Bloco de código | ||||
---|---|---|---|---|
| ||||
#------------------------------------------------------------------# FUNCTION EAIHelperUnitOfMeasure2_antes_envio_mensagem(l_msg_negocio) #------------------------------------------------------------------# DEFINE l_msg_negocio VARCHAR(10) RETURN TRUE END FUNCTION |
Ainda na implementação desta função poderá ser recuperado qual
O diagrama abaixo apresenta o fluxo de envio que EAI utiliza para enviar uma mensagem para um aplicativo externo com a implementação da função customizada.
Recuperando o aplicativo externo
A equipe de negócio que estiver implementando está função para customização do envio da mensagem, poderá recuperar o nome do aplicativo externo que está recebendo a mensagem, através da função EAIMapper_getString do programa EAIMapper, passando a String "AppDest" como parâmetro. Abaixo segue o exemplo do código.
Bloco de código | ||||
---|---|---|---|---|
| ||||
#------------------------------------------------------------------#
FUNCTION EAIHelperUnitOfMeasure2_antes_envio_mensagem(l_msg_negocio)
#------------------------------------------------------------------#
DEFINE l_msg_negocio VARCHAR(10)
DEFINE l_externalApplication VARCHAR(40)
LET l_externalApplication = EAIMapper_getString("AppDest")
#Lógica de Negócio
RETURN TRUE
END FUNCTION |
Incluindo mensagem de inconsistência
Para criar uma mensagem de inconsistência e esta mensagem seja apresentada no console do EAI10000, a equipe de negócio deverá chamar a função EAIMapper_setError do programa EAIMapper na funcionalidade Helper passando a mensagem de inconsistência como parâmetro para Engine do EAI possa recuperar essa informação. Abaixo segue o exemplo de código
Bloco de código | ||||
---|---|---|---|---|
| ||||
#------------------------------------------------------------------#
FUNCTION EAIHelperUnitOfMeasure2_antes_envio_mensagem(l_msg_negocio)
#------------------------------------------------------------------#
DEFINE l_msg_negocio VARCHAR(10)
DEFINE l_externalApplication VARCHAR(40)
DEFINE l_msgError VACHAR(1000)
LET l_externalApplication = EAIMapper_getString("AppDest")
#Lógica de Negócio
LET l_msgError = "Mensagem de Inconsistência.............."
CALL EAIMapper_setError(l_msgError)
RETURN TRUE
END FUNCTION |
O fluxo abaixo apresenta a forma que o Engine do EAI passa a utilizar para realizar a validação da customização de envio de mensagem.
No engine do EAI logo após a verificação do destinatário(Aplicativo Externo) no método dispatch é chamado o método é chamado