Histórico da Página
Para atender uma demanda especifica da equipe de negócio foi desenvolvido um ponto de customização ncriado um ponto de customização no Engine do EAI do Logix. Esta alteração visa atender o desvio do fluxo do envio de mensagens pelo EAI. O diagrama abaixo apresenta o novo fluxo de envio das mensagens.
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 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 |
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.