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.


Deve ser atualizado o ultimo pacote de Lib disponível no Portal do Cliente



  • É necessário utilizar o RPO 64 bits
  • É necessário utilizar o Binário 64 bits
  • É necessário utilizar o License Server Virtual, versão igual ou superior a 01.03.013
  • O formato de arquivos CodeBase (DBF) não é mais suportado pelo Application 



  • É necessário utilizar o License Server Virtual, versão igual ou superior a 3.0.0



  • É necessário utilizar o License Server Virtual, versão igual ou superior a 3.2.0



  • É necessário utilizar o License Server Virtual, versão igual ou superior a 3.2.0

  • É obrigatória a atualização para a última versão dos artefatos abaixo:
    - Application Server (Binário Harpia)
    - SmartClient (Binário Harpia)
    - DBAccess
    - WebApp
    - RPO específico para binário Harpia
    * Informações de como atualizar os artefatos neste link

  • Na chave DBDATABASE (da seção do Ambiente), para ambientes com Banco de Dados SQL Server, utilizar o valor MSSQL e não MSSQL7
    Ex.: [P12.1.33]
    SourcePath=
    ...
    DBALIAS=P12133
    DBSERVER=192.168.1.1
    DBDATABASE=MSSQL
    DBPORT=7890

  • Importante: o binário Harpia possui uma arquitetura exclusiva. Portanto, não sobrescreva os arquivos do Harpia na pasta do antigo Lobo Guará. Faça uma pasta nova de binário (renomeie as antigas appserver e smartclient e crie novas), descompacte o novo binário nelas, e copie da original apenas os arquivos appserver.ini e smartclient.ini.


  • A partir do Release 12.1.2210, será obrigatório o uso dos arquivos de infraestrutura (dicionários, menus, usuários, etc.) no Banco de Dados.

  • Antes de efetuar a atualização para o release 12.1.2210, será necessário a migração dos arquivos de infraestrutura (dicionários, menus, usuários, etc.) para o Banco de Dados.

  • Para migrar para o Banco de Dados, o passo a passo pode ser encontrado aqui: https://tdn.totvs.com/pages/viewpage.action?pageId=360450442

  • Caso queira iniciar um novo ambiente diretamente no Banco de Dados, o passo a passo pode ser encontrado aqui: https://tdn.totvs.com/pages/viewpage.action?pageId=364926893

  • Para migrar para a Release 12.1.2210, o License Server deverá obrigatoriamente ser da versão 3.4.3 ou superior.
  • Quem já estiver na Release 12.1.2210, deve obrigatoriamente utilizar a versão 3.4.3 ou superior do License Server.
  • A partir do Release 12.1.2210 os dicionários de dados para as Tabelas (SX2) e para os Campos (SX3) do sistema, passam a ter uma chave única. Para mitigar eventuais problemas de duplicidade nestes dicionários, que acarretam problemas de atualização, é fortemente recomendada a verificação de integridade de registros duplicados, através da rotina CHECKDUPL, antes da atualização do Release.


Para migrar para a Release 12.1.2310, são necessários os pré requisitos abaixo:

  • O License Server deverá obrigatoriamente ser da versão 3.6.0 ou superior.
  • O DBAccess deverá obrigatoriamente ser da versão 23.1.1.0 ou superior.
  • O AppServer (Build) deverá obrigatoriamente ser da versão 20.3.2.0 ou superior.
  • A Lib deverá obrigatoriamente ser da versão 20231009 ou superior.

Ao final do processo de migração será necessário configurar o tipo do ambiente.

Para migrar para a Release 12.1.2410, são necessários os pré requisitos abaixo:



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:

- Para atualizar o RPO, siga o procedimento 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)
. REPOSITÓRIOS
. Selecione, na parte superior da página, os filtros Categoria=Repositório de Objetos e Idioma=PT-BR (Para outro idioma, baixar REPOSITORIO DE OBJETOS MERCADO INTERNACIONAL)
. REPOSITORIO DE OBJETOS 12.1.XX - TOP CONNECT
. Confirme no nome do Arquivo se refere-se ao país desejado, conforme a  língua utilizada no ambiente (Exemplo: 20-10-16-REPOSITORIO_DE_OBJETOS_BRASIL_12_1_27_TTTP120.RPO)
. Faça o download do arquivo do repositório para o País desejado
ATUALIZAR:
. Pare o serviço do Protheus
. Na pasta APO, renomear o repositório anterior, ou mover para outra pasta
. Copiar o novo arquivo para o diretório APO do sistema
. Renomear o arquivo mantendo apenas os últimos 7 caracteres mais a extensão (Exemplo: TTTP120.RPO)
Obs.: após trocar o RPO, é necessário atualizar a LIB baixando e aplicando a mais recente do Portal. Link com os procedimentos de atualização: http://tdn.totvs.com/pages/viewpage.action?pageId=271651871

- Para atualizar o RPO, siga o procedimento 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)
. REPOSITÓRIOS
. REPOSITORIO DE OBJETOS 12.1.XX - MULTI IDIOMA
. Faça o download do arquivo do repositório Multi Idioma da Release desejada (Para outro idioma, baixar REPOSITORIO DE OBJETOS MERCADO INTERNACIONAL)
ATUALIZAR:
. Pare o serviço do Protheus
. Na pasta APO, renomear o repositório anterior, ou mover para outra pasta
. Copiar o novo arquivo para o diretório APO do sistema
. Renomear o arquivo mantendo apenas os últimos 7 caracteres mais a extensão (Exemplo: TTTM120.RPO)
Obs.: após trocar o RPO, é necessário atualizar a LIB baixando e aplicando a mais recente do Portal. Link com os procedimentos de atualização: http://tdn.totvs.com/pages/viewpage.action?pageId=271651871




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


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"