Páginas filhas
  • 7. ExtractReturnMessage

Versões comparadas

Chave

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

...

Essa função será chamada automaticamente pelo Helper com todo o conteúdo do ReturnMessage, independente da mensagem ser síncronasíncrono ou assíncronaassíncrono.

Sintaxe

...

Bloco de código
languageruby
EAIAdapter<Transação><versão>_ExtractReturnMessage()

...

Os valores obtidos da mensagem, através do Helper da mensagem, podem ser enviados para o programa através do uso do Mapper.

Exemplo

...

Bloco de código
languageruby
linenumberstrue
#-----------------------------------------------------#
 FUNCTION EAIAdapterSalesOrder1_ExtractReturnMessage()
#-----------------------------------------------------#
  ### Nesse ponto serão extraídos os dados da mensagem de retorno da BusinessMessage.
  
  LET mr_pedidos.cod_empresa = EAIHelperSalesOrder1_get_ReturnContent_CompanyId()
  LET mr_pedidos.num_pedido  = EAIHelperSalesOrder1_get_ReturnContent_OrderId()
  
  CALL vdpm46_pedidos_set_cod_empresa(mr_pedidos.cod_empresa)
  CALL vdpm46_pedidos_set_num_pedido(mr_pedidos.num_pedido)
  
  IF NOT vdpm46_pedidos_inclui(TRUE,1) THEN
     RETURN FALSE
  END IF
  
  RETURN TRUE
END FUNCTION

...

Bloco de código
languageruby
linenumberstrue
#-----------------------------------------------------#
 FUNCTION EAIAdapterSalesOrder1_ExtractReturnMessage()
#-----------------------------------------------------#
  ### Nesse ponto serão extraídos os dados da mensagem de retorno da BusinessMessage.
  
  LET mr_pedidos.cod_empresa = EAIHelperSalesOrder1_get_BusinessContent_CompanyId()
  LET mr_pedidos.num_pedido  = EAIHelperSalesOrder1_get_BusinessContent_OrderId()
  
  CALL vdpm46_pedidos_set_cod_empresa(mr_pedidos.cod_empresa)
  CALL vdpm46_pedidos_set_num_pedido(mr_pedidos.num_pedido)
  
  IF NOT vdpm46_pedidos_inclui(TRUE,1) THEN
     RETURN FALSE
  END IF
  
  ### Regra de negocio definida para o cliente X.
  IF find4glfunction('vdpy300_regra_especifica_integracao_cliente_X') THEN
     LET l_size = EAIHelperSalesOrder1_get_custom_info_size_resposta()
     FOR l_ind = 1 TO l_size
        LET l_valor = EAIHelperSalesOrder1_get_custom_info_resposta(l_tabela, l_ind, l_chave)
        CALL vdpy300_regra_especifica_integracao_cliente_X_set(l_ind, l_valor)
     END FOR
  END IF
  
  RETURN TRUE
END FUNCTION

 

...