Histórico da Página
...
- Alterar a função EAIAdapter<Transacao><Versao>_getContextNames() e informar a lista de contextos que o adapter suporta. Os elementos da lista devem estar separados por vírgula. Use a função AdvPl eai_get_default_context() para retornar o contexto padrão.
Exemplo
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
############################################### # FUNÇÃO DE RETORNO DOS CONTEXTOS DO ADAPTER # ############################################### #---------------------------------------------------# FUNCTION EAIAdapterUnitOfMeasure2_getContextNames() #---------------------------------------------------# # Informe a lista de contextos que o adapter suporta, separando os elementos com virgula. # Ex.: 'Padrão,Financeiro,Manufatura' RETURN _ADVPL_eai_get_default_context() # Retorna a literal 'padrao'. END FUNCTION |
- Descomentar, no fonte do adapter, as linhas iniciais da função EAIAdapter<Transacao><Versao>_SendBusinessMessage(), relativas ao recebimento dos contextos enviados pelo programa de negócio.
Exemplo
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#--------------------------------------------------------------------# FUNCTION EAIAdapterUnitOfMeasure2_SendBusinessMessage(l_MessageType) #--------------------------------------------------------------------# DEFINE l_MessageType VARCHAR(6) #upsert / delete DEFINE l_ContextNames VARCHAR(100) CALL EAIHelperUnitOfMeasure2_inicializa_record() ### Atualizar o contexto na mensagem, se informado. ### Os contextos devem ser passados para o adapter usando o EAIMapper_set("ContextNames",<stringContexto>). # LET l_ContextNames = EAIMapper_getString( "ContextNames" ) # CALL EAIHelperUnitOfMeasure2_set_ContextNames( l_ContextNames ) IF NOT EAIHelperUnitOfMeasure2_esta_configurado_para_envio() THEN RETURN TRUE END IF |
No fonte do helper não é necessária nenhuma alteração.
Adapters existentes usando modelo helper/adapter
...
- Alterar a função EAIAdapter<Transacao><Versao>_SendBusinessMessage() para:
- Definir a variável l_ContextNames como VARCHAR(100).
- Colocar a chamada de função EAIHelper<Transacao><Versao>_inicializa_record() como uma das primeiras linhas da função.
- Inserir o trecho que recebe o contexto e o atualiza no Helper logo abaixo da chamada de função EAIHelper<Transacao><Versao>_inicializa_record() e antes da função EAIHelper<Transacao><Versao>_esta_configurado_para_envio(), já que o contexto é agora uma informação relevante para identificar rotas.
- Incluir a função EAIAdapter<Transacao><Versao>_getContextNames() com o corpo conforme exemplo abaixo. Nesta função deve-se informar a lista de contextos que o adapter suporta. Os elementos da lista devem estar separados por vírgula.
Exemplo
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#----------------------------------------------------------------# FUNCTION EAIAdapterUnitOfMeasure2_getContextNames() #----------------------------------------------------------------# RETURN _ADVPL_eai_get_default_context() clipped || “,manufatura,educacional” END FUNCTION |
...
- Definir variável modular _ContextNames com VARCHAR(100)
- Alterar função EAIHelper<Transacao><Versao>_cria_mensagem_negocio() para:
- Incluir os parâmetros de versão e de contextos na chamada da função _ADVPL_eai_create_message().
Exemplo
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
_ADVPL_eai_create_message( EAIHelper<Transacao><Versao>_get_transaction_name(), EAIHelper<Transacao><Versao>_get_adapter_versao(), _ContextNames ) |
- Incluir chamada à função EAIHelper<Transacao><Versao>_set_contextNames() após a chamada à função _ADVPL_eai_create_message().
- Criar a função EAIHelper<Transacao><Versao>_set_contextNames() com o seguinte corpo:
Exemplo
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#----------------------------------------------------------------# FUNCTION EAIHelperUnitOfMeasure2_set_ContextNames(l_contextNames) #----------------------------------------------------------------# DEFINE l_contextNames VARCHAR(100) LET _ContextNames = l_contextNames IF _ContextNames IS NOT NULL AND g_eai_msg_negocio IS NOT NULL THEN CALL _ADVPL_eai_set_context_names(g_eai_msg_negocio, _ContextNames) END IF END FUNCTION |
...
- Alterar a função EAIHelper<Transacao><Versao>_esta_configurado_para_envio() para informar na chamada à função_ADVPL_eai_is_send_configured() a variável _ContextNames.
Exemplo
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
_ADVPL_eai_is_send_configured( EAIHelper<Transacao><Versao>_get_transaction_name(), EAIHelper<Transacao><Versao>_get_adapter_version(), _ContextNames ) |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas