Páginas filhas
  • 2.1. InternalIdCreateLocalValues

Função responsável por receber uma InternalId do aplicativo externo, verificar se já existe um cadastro de InternalId e repassar os valores internos para o Helper. Caso não existir o registro de InternalId, fica a cargo de o desenvolvedor escolher a chave para o registro interno e repassar para que o Adapter cadastre.

Essa função será acionada antes da ReceiveBusinessMessage, ou seja, é o tratamento da InternalId para mensagens de recebimento.

Sintaxe


<EAI_Nome_Função>_InternalIdCreateLocalValues()

 

Exemplo de implementação


#----------------------------------------------------------#
 FUNCTION EAIAdapterrRequest1_InternalIdCreateLocalValues()
#----------------------------------------------------------#
  DEFINE l_Received_CompanyInternalId           VARCHAR(255)
         l_Received_InternalId                  VARCHAR(255)
         l_Received_PaymentConditionInternalId  VARCHAR(255)
 
 
         l_CompanyInternalId                    VARCHAR(255)
         l_InternalId                           VARCHAR(255)
         l_PaymentConditionInternalId           VARCHAR(255)
 
 
         l_aplicativo_externo                   VARCHAR(255)
         l_erro                                 VARCHAR(100)
 
 
  LET l_Received_CompanyInternalId          = EAIHelperRequest1_get_BusinessContent_CompanyInternalId()
  LET l_Received_InternalId                 = EAIHelperRequest1_get_BusinessContent_InternalId()
  LET l_Received_PaymentConditionInternalId = EAIHelperRequest1_get_BusinessContent_PaymentConditionInternalId()
 
 
  LET l_aplicativo_externo = EAIHelperRequest1_get_ExternalApplication()
 
 
  # Resolve o de-para da empresa (CompanyInternalId)
  LET l_CompanyInternalId = EAI_depara_get_value("CompanyInternalId", l_aplicativo_externo, l_Received_CompanyInternalId)
  IF l_CompanyInternalId IS NULL OR
     l_CompanyInternalId = " " THEN
     LET l_erro = "Empresa ", l_Received_CompanyInternalId, " não cadastrada localmente."
 
 
     CALL EAIHelperRequest1_add_error_message(l_erro,'1')
  ELSE
     #Setando as variáveis de internas da empresa
     CALL EAIHelperRequest1_set_BusinessContent_CompanyId(EAI_InternalId_get_value("CompanyInternalId",
                                                                                   l_CompanyInternalId,
                                                                                   NULL,
                                                                                   "cod_empresa"))
     CALL EAIHelperRequest1_set_BusinessContent_BranchId(" ")
  END IF
 
 
  # Resolve o de-para da requisição
  LET l_InternalId = EAI_depara_get_value("RequestInternalId",l_aplicativo_externo, l_Received_InternalId)
  IF l_InternalId IS NOT NULL AND
     l_InternalId != " " THEN
 
 
     CALL EAIHelperRequest1_set_BusinessContent_Number(EAI_InternalId_get_value("RequestInternalId", 
                                                                                l_Received_InternalId,
                                                                                NULL,
                                                                                "num_oc"))
  ELSE
     LET l_erro = "Numero da requisição ", l_Received_InternalId, " não cadastrado localmente."
     CALL EAIHelperRequest1_add_error_message(l_erro,'1')
  END IF
 
  # Resolve o de-para da condição de pagamento
  IF l_Received_PaymentConditionInternalId IS NOT NULL THEN
     LET l_PaymentConditionInternalId = EAI_depara_get_value("PaymentConditionInternalId", 
                                                             l_aplicativo_externo,
                                                             l_Received_PaymentConditionInternalId)
     IF l_PaymentConditionInternalId IS NULL OR
        l_PaymentConditionInternalId = " " THEN
 
 
        LET l_erro = "Condição de pagamento  ", l_Received_PaymentConditionInternalId, " não cadastrada localmente."
        CALL EAIHelperRequest1_add_error_message(l_erro,'1')
     ELSE
        CALL EAIHelperRequest1_set_BusinessContent_PaymentConditionCode(EAI_InternalId_get_value("PaymentConditionInternalId", 
                                                                                                 l_PaymentConditionInternalId,
                                                                                                 NULL, 
                                                                                                 "cod_cnd_pgto"))
     END IF
  END IF
 
  RETURN TRUE
 END FUNCTION

 

 

  • Sem rótulos