1. Preparando a base para o Upgrade
Recomendamos fortemente que:
- Qualquer processo que envolva atualização do dicionário e base de dados do sistema seja efetuado inicialmente em ambiente de homologação e que os processos mais importantes para a operação da empresa sejam validados.
- Seja efetuada uma CÓPIA FRIA (todos os serviços parados) e CONSISTENTE (das pastas adequadas e banco de dados) da base de produção antes da aplicação dessa atualização.
- Seja efetuada uma CÓPIA FRIA (todos os serviços parados) e CONSISTENTE das pastas do Protheus (Ex.: C:\TOTVS 12\) antes da aplicação da atualização.
Estas recomendações tornam-se obrigatórias no caso de sistemas de missão crítica, quando a operação da empresa depende totalmente ou quase que totalmente do sistema Protheus.
Novidades do Release
Acesse aqui as Novidades dos Releases separados por ano e Release.
Deve ser atualizado o ultimo pacote de Lib disponível no Portal do Cliente
Atenção
Antes de iniciar o Upgrade para a Release 12.1.25 do Protheus, é obrigatório desligar a Auditoria de Rastro de Usuários. Efetue o procedimento abaixo:
- Acesse o Configurador > Usuário > Senhas > Política > Aba Outros > Regras de Auditoria, e desabilite as seguintes opções:
. Auditar atualizações no dicionário de dados
. Auditar atualizações no cadastro de usuário
. Auditar autenticação/acesso
. Auditar rejeição de acesso à recursos
É recomendada a utilização do Repositório de Imagens no Banco de dados. O Procedimento para configuração pode ser verificado no link a seguir: Repositório de Imagens no banco de dados
Foi incluído um bloqueio para impedir que o sistema retroceda para releases anteriores. Se existir no ambiente alguma empresa com Release posterior a que está sendo aplicada, a atualização não será permitida.
Exemplo: Migração para Release 23, mas existe empresa já na Release 27.
Diagnostico de dicionário
Protheus disponibiliza a ferramenta de diagnostico de Dicionário de dados, onde pode verificar as divergências do dicionário antes de realizar a atualização: TOTVS Diagnóstico de Dicionários.
2. Checando duplicidades na base
- Caso sua Base de Dados seja Relacional (utiliza DBACCESS) será necessário rodar o processo de verificação dos registros duplicados para todas as empresas. Assistente executado a partir da rotina CHECKDUPL via Configurador, que tem como pré-requisito a atualização do dicionário de dados padrão na pasta SYSTEMLOAD. Para fazer o download do dicionário, siga os procedimentos do seguinte link:
http://tdn.totvs.com/pages/viewpage.action?pageId=271415266
Crie dentro da pasta Protheus_Data, a pasta UPGRADE e nela descompacte o dicionário de dados Completo da release para a qual vai atualizar. Na verificação de duplicidade será solicitado o SX2.UNQ,(Pode utilizar o SX2.UNQ, do pacote Dicionário Dif). Utilize este como referência para a checagem.
- Vide Instruções para verificação de duplicidades no link:
http://tdn.totvs.com/pages/viewpage.action?pageId=242386686
Obs.: Para migrar para a Release 12.1.2410, não poderá haver chave duplicada nas tabelas dos dicionários de dados SX5 e SX6, caso houver a migração não poderá ser finalizada. Ambas as tabelas estão disponíveis na ferramenta de verificação de duplicidade de registros - CheckDupl (Vide link acima) a partir da LIB 20240520.
3. Atualizando os arquivos
- É necessário atualizar os arquivos de dicionário de dados (Completo e Diferencial) da versão da release que deseja atualizar, o RPO (Repositório de Objetos) da mesma versão e o Arquivo Diferencial de Helps.
Informação:
Antes de executar o UPDDISTR você deve baixar tanto o arquivo de dicionário completo (SXSBRA.TXT, por exemplo) quanto o dicionário diferencial (SDFBRA.TXT, por exemplo), e descompactá-los na pasta Systemload. Embora a migração de release utilize apenas o arquivo diferencial, o arquivo completo também deve ser baixado para a pasta, pois futuramente, quando for criar uma nova empresa ou filial, por exemplo, o arquivo que será utilizado será o COMPLETO.
A partir do Release 12.1.2310, passam a ser expedidos dois arquivos SDFs: um para os clientes que estão em um release anterior ao corrente, e um novo SDF especificamente para o cliente que está no release corrente. Saiba mais clicando aqui.
Também é necessário baixar o Arquivo Diferencial de Helps (HELPS DE CAMPOS/PERGUNTAS DIFERENCIAL - BRASIL), no Portal do Cliente, e descompactar os arquivos .txt na pasta Systemload do Ambiente.
Dicionários:
- Para atualizar os dicionários, siga o procedimento do seguinte link:
http://tdn.totvs.com/pages/viewpage.action?pageId=271415266
Repositório de Objetos:
Helps de Campos:
É necessário atualizar também os arquivos de Helps de Campo (Arquivo Diferencial de Helps, conforme passos abaixo:
. Acesse o site do Suporte: https://suporte.totvs.com/download
. Linha Protheus
. MICROSIGA PROTHEUS VERSÃO 12.1.XX (onde XX é a versão da nova release)
. HELP DE CAMPO
. Baixe o arquivo HELPS DE CAMPOS/PERGUNTAS DIFERENCIAL - BRASIL (ou idioma desejado)
Obs.: se não estiverem aparecendo as versões, em "Filtros de pacotes" selecione "Todos pacotes disponíveis" e selecione a categoria novamente.
. Os arquivos .txt contidos no arquivo compactado dever ser extraídos na pasta Systemload do ambiente
Para Mercado internacional, baixar os dicionários, Helps e Reposotório de Objeto, correspondentes ao seu País.
Exemplo País Chile:
Dicionário Completo(SXSCHI.TXT).
Dicionário Diferencial(SDFCHI.TXT).
(HELPS DE CAMPOS/PERGUNTAS DIFERENCIAL - CHILE)
Repositório: REPOSITORIO DE OBJETOS MERCADO INTERNACIONAL
Informação:
Se você utilizar o Appserver em Linux, transfira o arquivo compactado para o Linux, e só descompacte-o no Linux. Descompactar o arquivo no Windows e depois transferir o .txt para o Linux pode causar erros.
Nota:
Ao preparar o ambiente para o Upgrade, não é recomendável abrir o Protheus após atualizar os arquivos, mas sim, rodar direto o compatibilizador (UPDDISTR).
Caso o servidor onde o Protheus está sendo executado possuir antivírus, deve ser adicionada a pasta raiz do Protheus às exceções do antivírus, caso contrário podem ocorrer erros de acesso a exclusão de alguns arquivos temporários, como no exemplo de erro abaixo:
Ctree Error (Disk Manager) - Create Index - DelTree 118 - It was not possible to delete file c:\protheus 12\protheus_data\system\n01sx31.idx - The directory is not empty.
Atenção
Existem inconsistências no momento de execução do UPDDISTR que exigem a restauração do ambiente ou de algum artefato. Para maiores detalhes, abra um ticket para o Suporte do Framework. Para maior agilidade, encaminhe um e-mail para [email protected]
Aviso
O uso do APSDU restringe-se apenas ao ajuste de Erros Críticos que podem ocorrer na execução do UPDDISTR. Não recomendamos o uso do APSDU antes da finalização do processo. Caso seja necessário algum ajuste através da ferramenta, é recomendado o uso com o RPO da Release de origem.
4. Limpeza das Pastas
-Deletar todos os arquivos da pasta Systemload e manter somente os arquivos de dicionário de dados SXSBRA, SDFBRA e os arquivos de Help diferencial.
-Deletar todos os arquivos *.cdx que existirem na pasta System. Se estiver com dicionário de dados no banco de dados, desconsiderar este item.
- Deletar os arquivos Console.log e mpupddistri.old e/ou *.tsk, dentro das pastas Appserver e System.
O arquivo MPUPDDISTRI.TSK só deve ser apagado no inicio do processo de migração de release ou quando for necessário voltar o backup dos dicionarios e/ou base de dados.
Caso a migração já tenha sido iniciada e o processo foi parado para a correção de um erro critico, ao reiniciar a migração o arquivo MPUPDDISTRI.TSK não deve ser apagado.
5. Executando o compatibilizador de Upgrade de Release - UPDDISTR
Atenção
O UPDDISTR não deve ser utilizado para efetuar a migração do Protheus 11 (ou versões anteriores) para o Protheus 12. Nessa situação, deve ser utilizada a ferramenta MP710TO120.
Atualizar Menu (apenas para bases com Dicionário de Dados no Banco de Dados):
Há a possibilidade de atualizar os menus padrões (são os menus que possuem o nome dos módulos do Protheus) através do UPDDISTR.
Insira o arquivo (Exemplo: sigafin.xnu) do menu que deseja atualizar dentro do diretório systemload/updmenu, caso não exista o diretório deverá ser criado.
Obs. 1: Esta funcionalidade está disponível apenas para ambientes com dicionário no banco de dados e versão da LIB maior ou igual 20180820.
Obs. 2: A atualização de menus só é realizada com pacote de dicionário que contenha marca de release, ou seja, somente nas atualizações de release.
Antes de iniciar o processo, duas informações pertinentes:
Sobre o dicionário de dados
Um Dicionário de Dados diferencial é um dicionário parcial que é utilizado para atualizar o dicionário de dados (metadado) do Protheus em uso.
O Dicionário de Dados diferencial pode ser utilizado para diversos fins, a saber:
- Atualizar o Dicionário de Dados do Protheus para uma versão atualizada dentro de um mesmo release.
- Inserir o dicionário de um novo produto, módulo ou funcionalidade.
- Efetuar atualizações pontuais devido a um novo requisito legal.
Sobre a ferramenta UPDDISTR
Para aplicar o dicionário de dados diferencial, utilizamos uma ferramenta especial chamada UPDDISTR. O UPDDISTR atualiza o dicionário de dados do Protheus usando as mesmas regras e funcionalidades do atualizador de versão do Protheus.
De fato, o "core" (núcleo) do UPDDISTR e o do atualizador de versão são exatamente iguais, garantindo que não haja disparidade de regras entre as duas ferramentas. A maior diferença reside no fato do UPDDISTR poder utilizar um dicionário parcial, enquanto o atualizador de versão sempre exigir um dicionário completo.
Além do Dicionário de Dados, as alterações na Base de Dados decorrentes do novo dicionário (como por exemplo tamanho de campos) também são efetuadas, da mesma maneira que no atualizador de versão padrão.
Observação importante: a ferramenta UPDDISTR apenas atualiza o dicionário de dados (metadado), os helps de campo e a base de dados. As alterações no repositório do sistema (sejam elas substituição do repositório, aplicação de "patchs", "updates" e pacotes) e atualizações de menus devem continuar sendo efetuadas conforme instruído em cada processo específico.
Link com Regras para atualização dos dicionários - UPDDISTR e Migrador de Versão: https://tdn.totvs.com/pages/releaseview.action?pageId=301201717
Atenção
A partir da versão de lib 20250113, foi implementado a chave MAXTHREADUPD que pode ser incluída na seção GENERAL.
Essa chave permite configurar a quantidade de threads que serão abertas para atualização das tabelas ao executar o UPDDISTR, com valor mínimo de 15 e máximo de 50.
Caso a chave não esteja configurada no appserver.ini, o valor default será 15.
Exemplo:
[GENERAL]
MAXTHREADUPD=30
Procedimento do UPDDISTR
- Abra o Smartclient, e no Programa Inicial, digite: UPDDISTR
Selecionar os grupos de empresas;
Algumas tabelas não possuem grupo de empresas em seu nome, logo essa configuração não terá efeito sobre elas. Os arquivos de help, por exemplo, são compartilhados por todos os Grupos de Empresas de dado STARTPATH. Dessa forma, o arquivo compartilhado será atualizado.
Após a chamada, será exibido um assistente de atualização. A primeira tela traz um informativo dos requisitos para iniciar a atualização. As telas seguintes possuem um Termo de Aceite, que deve ser lido com atenção e marcadas as devidas caixinhas de confirmação. Atente-se também em selecionar a localização correta (país) que será utilizada na atualização.
Após o Termo de Aceite confirmado, será aberta a janela de login para confirmação de autorização a executar o UPDDISTR. A autorização só é concedida para o usuário Administrador do Protheus, ou para usuários do Grupo Administradores¹ que possuam o acesso 194 habilitado. O usuário e senha serão validados ao clicar no botão Avançar.
¹ Grupo Administradores com acesso 194 permitido a partir da LIB versão 20210517
Também é possível nesta tela:
- Configurar se a execução será apenas uma Simulação, onde nenhuma alteração será efetivada na base
- Determinar se o dicionário de índices é exclusivo por grupo de empresas (SIX) ou se é utilizado o dicionário SINDEX
Clique em Avançar. Na tela seguinte serão exibidas informações sobre o pacote de atualização encontrado na base, que será utilizado neste processo.
Clique em Avançar. Na próxima tela deve-se informar o diretório de dados (X2_PATH) para cada Grupo de Empresas para as novas tabelas a serem inseridas pela atualização. No caso de Bases de Dados SQL (Top Connect), não é necessário informar o diretório.
Avance novamente. Na tela de Configuração de execução do Update, deve-se marcar/desmarcar as configurações e arquivos de log que deseja utilizar durante o processo. Indicamos manter apenas as opções Log de Atualização, Log de Critical Error e Corrigir erros automaticamente habilitadas, lembrando que a opção de corrigir os erros automaticamente executará as alterações de base pelo próprio sistema. NÃO marque a opção Manter o arquivo de log existente.
Ao avançar, será exibida uma janela confirmando quais grupos de empresas serão processados e quais operações serão executadas. Em seguida será efetuada uma análise da base de dados existente. A análise verificará diversos fatores, como por exemplo a consistência da base de dados em relação ao dicionário existente. Se forem encontrados problemas, os mesmos deverão ser corrigidos antes que a atualização possa prosseguir.
Deve-se notar que nesta fase é analisado apenas o conteúdo da Base de Dados e do Dicionário já existente. Nesse momento não é efetuada nenhuma consulta ao dicionário de dados diferencial que se pretende aplicar.
Caso não existam erros ou os mesmos já tenham sido corrigidos a atualização iniciará logo após o processo de verificação. Deve-se aguardar o final da atualização e encerrar.
Atualização importante de Controle de aplicação de pacotes no UPDDISTR, a partir da LIB versão 20211004, Release 33:
https://tdn.totvs.com/pages/viewpage.action?pageId=631622379
- Caso o Upgrade possua erros, será exibida uma janela com os logs dos erros, que devem ser corrigidos na base antes de continuar. Segue abaixo link com as correções de erros mais comuns em Migrações/Upgrades:
http://tdn.totvs.com/pages/viewpage.action?pageId=271414000
- Caso o erro não esteja listado, é necessário abrir um ticket para o Suporte Framework através do Portal do Cliente.
- Ao final do Upgrade, será exibida uma janela com a informação "O processo de atualização foi finalizado com sucesso."
- Para confirmar, acesse o Configurador, tecle Shift+F6, e confira a "Release do RPO"