Proteção contra libs distintas aplicadas no mesmo ambiente


Skip to end of metadata


Implementação:
Proteção contra libs distintas aplicadas no mesmo ambiente e alteração das tabelas XX4, XXD, XXV, XB0, SXH e SXI para o banco de dados.
A partir da lib. label 10102016 (versão 11 e versão 12) as tabelas XX4 (Cadastro de Adapters), XXD (De-para de Empresas do EAI), XXV (Tags do EAI), XB0 (Rotas X Adapters), SXH (Eventos EventViewer) e SXI (Inscrições EventViewer), para bases de dados TOPCONN, serão importadas para o banco de dados, deixando de existir como tabelas locais.
Um mesmo ambiente Protheus não pode possuir rpos com libs de label diferentes sendo usadas ao mesmo tempo. A partir deste label, caso seja verificada a incompatibilidade de estruturas destas tabelas o sistema é abortado, informando que existem libs diferentes no sistema.
Caso seja verificado que uma destas tabelas existe tanto no banco de dados como localmente o sistema é abortado para evitar inconsistências.
O sistema também irá abortar no seguinte cenário: Aplicação de um label que altere a estrutura destas tabelas e logo após, o retorno de um label anterior. Quando da aplicação de um label mais novo, que contenha o tratamento de verificação de estruturas, o sistema também será abortado.
Ações a serem tomadas caso o sistema seja abortado:
  • O administrador deverá verificar quais registros deseja manter: se os registros do banco de dados ou os registros locais;
  • Se a opção é utilizar um label antigo, a tabela deverá ser excluída do banco de dados;
  • Se a opção é utilizar o novo label, a tabela deverá ser removida da pasta system.
Importação das tabelas para o banco de dados
As tabelas são importadas por demanda, e as tabelas locais são renomeadas, junto com seus índices para “TABELA_aaaammddhmmss_bkp”, onde aaaa é o ano com dois dígitos, mm o mês com dois dígitos, dd o dia com dois dígitos, hh a hora com dois dígitos, mm os minutos com dois dígitos e ss os segundos com dois dígitos do momento da importação da tabela.
Como verificar que existem libs diferentes no mesmo ambiente:
  • É possível verificar, através do atalho Shift+F6, dentro do sistema, a versão de Lib Protheus em uso atualmente;
  • Em caso de tentativa de uso de algum repositório com versão de Lib diferente, a mensagem a seguir é apresentada (o exemplo a seguir leva em conta que foi encontrada inconsistência na tabela SXH).
    Tabela SXH no banco de dados e no StartPath.
    Erro ocasionado pela existência de Rpos com versões de libs diferentes ou tentativa de atualização 'a quente' do repositório.
    Verifique a tabela local, o backup (tabela+xxxxxxxxxxxxxx+BKP). Não será possível acessar o sistema com a tabela no banco e no StartPath.
    Contate o administrador do sistema para que o ambiente seja reestabelecido.

Fonte envolvido:
FWDAEAI.PRW com data superior a 06/10/2016

Comentários

Postagens mais visitadas