Como fazer a migração de dicionário do Protheus (CTREE para SQL)

No artigo de hoje, vamos demonstrar em como fazer a migração do dicionário de dados de CTREE para SQL.

Parte 1: Revisão dos Códigos no Code Analysis

  1. Crie uma conta em https://codeanalysis.totvs.com.br/
  2. Faça login e depois clique no botão + Projeto

Criação de projetos no Code Analysis

  1. Defina as propriedades do projeto, e tome atenção no nome da pasta das Includes que você deverá enviar junto dos fontes, nesse exemplo, a pasta se chama “Include”

Detalhes do Projeto

  1. Para fazer o envio dos fontes, basta clicar nos 3 pontos, e depois em Agendar

Botão para agendar o envio de fontes

  1. Depois, clique na esquerda em Agendamentos, e depois quando estiver com o status Executado, basta clicar no link do SonarQube

Listagem de envios

  1. Os erros e code smells devem ser corrigidos, na maioria das vezes, ao clicar em um erro ou warning, ele já diz o que deve ser feito, como retirar GetMV dentro de While, retirar ConOut e colocar FWLogMsg no lugar, etc
  2. Após finalizar de revisar os códigos e ficar com 0 inconsistências, tire um print da página

Tela do resultado sem bugs e sem code smells

Parte 2: Conseguindo o Token para fazer a migração

  1. Faça login no https://suporte.totvs.com/
  2. Vá em Meu Espaço > Gestão de Licenças

Abrindo o Gestão de Licenças

  1. Será aberto uma página com seu TOTVS ID, tire um print da página

Tirando um print da licença

  1. Agora abra um chamado, anexando os prints salvos nos tópicos 7 e 10, abaixo um exemplo da abertura do chamado:

Macrossegmento: Framework

Produto: Framework (Linha Protheus)

Módulo: Atualização

Agrupador de Rotina: Atualização Protheus

Assunto: Migração do Dicionário de Dados para o Banco de Dados

Descrição:

Boa tarde.

Estamos atualizando nosso sistema e iremos migrar do dicionário em CTREE para o SQL e precisamos do TOKEN de migração.

Em anexo segue o print do TOTVS ID e o print da tela do Code Analysis.

Ficamos no aguardo.

Obrigado.

Tipo da Solicitação: Suporte Técnico

Impacto: Dúvida sobre o produto

Versão e Ambiente, você coloca conforme os que você tem instalado ai

  1. Aguarde eles responderem, lhe enviando o Token

Parte 3: Realizando a migração

  1. Faça um backup e leia a Observação Importante após o último tópico antes de prosseguir. Lembre-se de executar esse procedimento sem ninguém estar usando o sistema, totalmente em modo exclusivo
  2. No programa inicial do Smartclient, coloque MPSYSTODB

Acionando a função MPSYSTODB

  1. Prossiga no programa, ele irá solicitar o usuário, senha e o Token do passo 12

Colocando usuário, senha e o Token recebido pela TOTVS

  1. Ao avançar, ele irá fazer validações nos arquivos, como RPO, binários, etc… Se ele encontrar alguma situação anormal, irá solicitar para você resolver

Verificando as falhas antes da migração

  1. No caso dessa imagem acima, eu tive que baixar uma sxsbra (dicionário completo) da 12.1.33 e colocar na systemload e no menu SIGACTB, tive que acessar pelo Configurador e salvar ele novamente (pois existem analistas que editam via notepad, e pode acarretar esse problema)
  2. Insira as informações para disparo de email, em caso de recuperação de senha do admin

Inserindo os dados para disparo de eMail caso perda a senha do admin

  1. Será enviado um email para o destinatário que foi inserido no primeiro campo com um código, esse código você irá preencher na próxima tela, conforme print abaixo

Informe a chave enviada no email

  1. Avançando, será exibido os itens que serão migrados da antiga base para a nova (de CTREE para SQL)

Tela de resumo antes de prosseguir

  1. Clique em Iniciar, e agora aguarde o sistema terminar
  2. Ao findar, será exibido se tudo deu certo

Detalhes após a migração

  1. Agora abra o Configurador (SIGACFG), e abra qualquer tela, se tudo deu certo, ai você já pode liberar para os usuários utilizarem

Possíveis erros:

No processo de migração pode ser que haja algum erro acusando falha de insert, por exemplo:

Thread Erro –> [SYS_COMPANY_CFGIT: DB error (Insert): -37 File: SYS_COMPANY_CFGIT – – Integrity failure.] – [|THREAD ERROR ([12960], daniel.atilio___, SRV) 21/10/2022 11:07:11|SYS_COMPANY_CFGIT: DB error (Insert): -37 File: SYS_COMPANY_CFGIT –

Nesse erro acima, ele não conseguiu inserir informações na tabela SYS_COMPANY_CFGIT, e essa tabela é a antiga XX9, no caso do cliente em específico, essa tabela tinha dados duplicados.

Observação Importante:

Esse tutorial foi montado com base no conteúdo disponibilizado no TDN da TOTVS (clique aqui para acessar).

É muito importante, que vocês leiam a documentação e recomendações antes de fazer os procedimentos descritos aqui (como por exemplo, fazer um backup da base, verificar o cadastro de usuários se há duplicidade, entre outros).

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

4 Responses

  1. Luiz Correia disse:

    Muito obrigado pelo material tão instrutivo!

  2. Mozart disse:

    Dani, você é o cara.
    Parabéns pela iniciativa.

    Muito obrigado por compartilhar seu conhecimento com todos.

    Abraço.
    Mozart.

Deixe uma resposta