Páginas filhas
  • 6. Utilização dos Adapters em Regras de Negócio

Versões comparadas

Chave

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

...

Este exemplo de código demonstra como utilizar adapters do modelo novo para envio de mensagens. Observe a utilização do EAIMapper para a passagem de parâmetros.

Bloco de código
languageruby
linenumberstrue
#--------------------------------------#
 FUNCTION test_eai_send_unitofmeasure()
#--------------------------------------#     
    define l_retorno   smallint
    define l_qtd_erros smallint
    define l_mensagem  char(2000)
    define l_count     smallint
    define l_context   char(100)
     
    let l_context = "financeiro"
     
    # Limpar o conteúdo da estrutura no Mapper
    CALL EAIMapper_clear()
     
    # Limpar os erros do Mapper
    CALL EAIMapper_errorClear()
     
    # Informar os dados da mensagem
    CALL EAIMapper_set("Code","UN")
    CALL EAIMapper_set("InternalId","UN")
    CALL EAIMapper_set("Description","Unidade")
    CALL EAIMapper_set("ShortName","Unid.")
     
    # Informar os contextos
    IF l_context IS NOT NULL THEN
        CAll EAIMapper_set("ContextNames", l_context )
    END IF
     
    # Enviar a mensagem e receber o retorno
    LET l_retorno = EAIAdapterUnitOfMeasure2_sendBusinessMessage( "upsert" )
     
    # Tratar o retorno
    IF l_Retorno = FALSE THEN           
        LET l_qtd_erros = EAIMapper_errorSize()
     
        FOR l_count = 1 TO nErrors
            LET l_mensagem = l_mensagem, EAIMapper_getError(l_count) CLIPPED, " "
        END FOR   
     
        CALL log0030_mensagem("Unit of Measure - Não foi possivel enviar mensagem. Erro " || l_mensagem, "EXCL" )
    ELSE
        CALL log0030_mensagem("Unit of Measure - Envio realizado com sucesso", "INFO" )       
    END IF
     
END FUNCTION

...