Páginas filhas
  • 7. Customização de adapter no envio da mensagem

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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
languageruby
linenumberstrue
#------------------------------------------------------------------#
 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
languageruby
linenumberstrue
#------------------------------------------------------------------#
 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
languageruby
linenumberstrue
#------------------------------------------------------------------#
 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.

Image AddedNo engine do EAI logo após a verificação do destinatário(Aplicativo Externo) no método dispatch é chamado o método é chamado