Função responsável por extrair as informações de uma mensagem de negócio (BusinessMessage) vindas de um aplicativo externo.
Essa função será chamada automaticamente com todo o conteúdo da mensagem de negócio guardada na Record do Helper. Não é necessário saber se a mensagem é síncrono ou assíncrono.
Sintaxe
EAIAdapter<Transação><versão>_ReceiveBusinessMessage()
Retorno
Tipo | Valor | Descrição |
---|---|---|
Bool | TRUE | Indica que a extração do conteúdo do BusinessContent foi executado com sucesso. |
FALSE | Indica que a ocorreram erros durante a extração do conteúdo, interromperá a seção, indicando para a Engine do EAI2 que deverá retornar com erro a resposta. |
Observação
Os valores obtidos da mensagem, através do Helper da mensagem, podem ser enviados para o programa através do uso do Mapper.
Exemplo
#----------------------------------------------------------# FUNCTION EAIAdapterUnitOfMeasure1_ReceiveBusinessMessage() #----------------------------------------------------------# #Função responsável por extrair o conteudo da BusinessMessage recebida e executar a regra de negócio. DEFINE lr_unid_med RECORD cod_unid_med LIKE unid_med.cod_unid_med, den_unid_med_30 LIKE unid_med.den_unid_med_30 END RECORD, l_status SMALLINT l_msg_erro CHAR(30) LET lr_unid_med.cod_unid_med = EAIHelperUnitOfMeasure1_get_BusinessContent_Code() LET lr_unid_med.den_unid_med_30 = EAIHelperUnitOfMeasure1_get BusinessContent_Description() IF lr_unid_med.cod_unid_med IS NULL THEN CALL EAIHelperSalesOrder1_add_error_message("Código da unidade de medida não informado na integração.",'0') RETURN FALSE END IF #Testando o tipo de mensagem. CASE EAIHelperUnitOfMeasure1_get_MessageType() WHEN 'upsert' #Event - upsert IF lr_unid_med.den_unid_med_30 IS NULL THEN CALL EAIHelperSalesOrder1_add_error_message("Descrição da unidade de medida não informado na integração.",'0') RETURN FALSE END IF CALL manm217_unid_med_leitura(_BusinessContent._Code,TRUE,1) RETURNING l_status, l_msg_erro CALL manm217_unid_med_set_null() CALL manm217_unid_med_set_cod_unid_med(_BusinessContent._Code) CALL manm217_unid_med_set_den_unid_med_30(_BusinessContent._Description) IF l_status THEN CALL manm217_unid_med_inclui(FALSE,TRUE) RETURNING l_status, l_msg_erro IF NOT l_status THEN CALL EAIHelperSalesOrder1_add_error_message(l_msg_erro,'0') RETURN FALSE END IF ELSE CALL manm217_unid_med_modifica(FALSE,TRUE) RETURNING l_status, l_msg_erro IF NOT l_status THEN CALL EAIHelperSalesOrder1_add_error_message(l_msg_erro,'0') RETURN FALSE END IF END IF WHEN 'delete' #Event - delete WHENEVER ERROR CONTINUE DELETE FROM unid_med WHERE cod_unid_med = lr_unid_med.cod_unid_med WHENEVER ERROR STOP IF sqlca.sqlcode <> 0 THEN CALL log0030_processar_err_sql("DELETE","unid_med",1) CALL EAIHelperSalesOrder1_add_error_message(l_msg_erro,'0') RETURN FALSE END IF OTHERWISE #Request END CASE RETURN TRUE END FUNCTION
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas