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.
Importante: Caso o seu Dicionário de Dados estiver no formato DBF, será obrigatória a importação dos dados para o formato DTC (Ctree). Link do procedimento de importação:
Converter arquivos do formato DBF para DTC
- É 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.
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.
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, 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
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.
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
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
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
- Exclua os arquivos *.DBF e *.DTC da pasta SYSTEMLOAD
- Exclua os arquivos *.IDX da pasta SYSTEMLOAD
- Exclua os arquivos *.LOG da pasta SYSTEM
- Exclua os arquivos TOTVSP*.* da pasta SYSTEM
- Exclua os arquivos *.TSK e .LOG da pasta APPSERVER
Solicitamos que ao executar uma dada atualização pela primeira vez seja excluído (se existir) o arquivo MPUPDDISTRI.TSK do diretório APPSERVER da instalação do Protheus em uso. Este arquivo apenas é necessário caso o processo tenha sido interrompido antes de sua conclusão, e guarda quais tarefas foram concluídas e quais ainda estão pendentes.
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
A partir do pacote de LIB disponibilizado em 07/04/2016 será possível escolher quais Grupos de Empresas serão considerados na atualização. Será exibida uma janela onde é possível marcar os Grupos de Empresas desejados. Por padrão, todos os grupos já vem selecionados. Se desejar utilizar todos os grupos, basta clicar no botão OK.
Caso uma dada migração seja reiniciada, deve-se escolher exatamente os mesmos grupos de empresas para retomar o processo
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"