Páginas filhas
  • 2.2. InternalIdTranslateValues

Função responsável por receber uma InternalId do aplicativo externo, verificar se já existe um cadastro de InternalId e caso não existir fazer o cadastro já com os valores internos carregados na BusinessMessage.

Essa função será acionada após a SendBusinessMessage, ou seja, é o tratamento da InternalId para mensagens de envio. Com isso, não será necessário criar os campos internos, uma vez que já foram repassados para a BusinessMessage. Somente é preciso cadastrar o InternalId, caso não exista.

Exempo de implementação:


#------------------------------------------------------#
 FUNCTION EAIHelperCompany1_InternalIdTranslateValues()
#------------------------------------------------------#
  DEFINE l_Received_PaymentConditionInternalId  VARCHAR(255)
         l_InternalId                           VARCHAR(255)
         l_aplicativo_externo                   VARCHAR(255)
         l_erro                                 VARCHAR(100)
  LET l_Received_InternalId = EAIHelperRequest1_get_BusinessContent_InternalId()
  LET l_aplicativo_externo = EAIHelperRequest1_get_ExternalApplication()
 
  IF NOT EAI_depara_existe("CompanyInternalId","empresa") THEN
    LET l_erro = "InternalId 'CompanyInternalId' não está instalado."
    CALL EAIHelperRequest1_add_error_message(l_erro,'1')
     RETURN FALSE
  END IF
  LET l_CompanyInternalId = EAI_depara_get_value("CompanyInternalId", l_aplicativo_externo, l_Received_CompanyInternalId)
  IF l_CompanyInternalId IS NOT NULL AND
     l_CompanyInternalId = " " THEN
      
     #Cadastro já efetuado.
     RETURN TRUE
  END IF
   
  #Montando InternalID do aplicativo interno: 'CAMPOS + @ + TABELA'
  LET l_InternalId = EAIHelperRequest1_get_BusinessContent_CompanyId() CLIPPED, "@", "empresa"
   
  IF NOT EAI_depara_set_value("CompanyInternalId",l_InternalId, l_aplicativo_externo, l_Received_CompanyInternalId) THEN
     LET l_erro = "Problema na inclusão dos valores: '", l_InternalId CLIPPED, "'."
     CALL EAIHelperRequest1_add_error_message(l_erro,'1')
     RETURN FALSE
  END IF
   
  RETURN TRUE
END FUNCTION