MICROSIGA PROTHEUS: VIRADA DE VERSÃO – AS PEDRAS DO CAMINHO
Como tenho postado, estou fazendo os testes para a virada de versão do Microsiga Protheus.
Até hoje, minha opção foi utilizar o Protheus sobre base de dados CODEBASE, nosso velho DBF, pois nosso volume de dados e quantidade de usuários não tornava imperativo o uso de SGBD´s como SQL Server. Além das outras desculpas como falta de tempo para me dedicar ao processo de migração de base de dados.
Agora resolvi me livrar de vez desse passado, virando a versão do sistema, do meu atual Microsiga Protheus 8.11 para o Microsiga Protheus 10.1 e, ao mesmo tempo, migrando a base de dados para o padrão SQL.
Até mesmo por falta de qualidade nas migrações anteriores, uma vez que o ERP da Microsiga está em uso aqui há mais de 12 anos, também achei interessante “passar um pente fino” no atual processo de virada de versão analisando, praticamente, registro por registro em cada tabela.
Por hora, os principais problemas com os quais me deparei foram as diferenças entre o dicionário de dados oficial da versão atual, 10.1, com o meu dicionário de dados.
Campos com tamanho diferente, campos inexistentes e campos obsoletos foram os maiores obstáculos que encontrei enquanto comparava o dicionário de dados correto (considero o dicionário de dados oficial – que pode ser baixado do site da microsiga – como correto) e o meu dicionário de dados e estruturas das minhas tabelas.
Também encontrei um campo do tipo DATA, no dicionário de dados da Microsiga, definido com o tamanho 11, quando o correto é 8.
Um passo básico nas viradas de versão da microsiga é a execução do aplicativo de UPDATE, no meu caso o MP710TO101, entretanto, essa rotina de atualização não corrige diversos erros que ela encontra pelo caminho, por considerá-los personalizados demais para correção automática, posição com a qual concordo plenamente. Por isso, precisei criar o meu próprio aplicativo de correção desses erros.
Em resumo, esse aplicativo que criei verifica os campos de minha base de dados que estão obsoletos, verifica se há conteúdo nesses campos e, caso negativo, remove-os. Ele cria os campos do dicionário que, por qualquer motivo, não existiam em minhas tabelas e ajusta o tamanho dos campos, na tabela ou no dicionário de dados, sempre mantendo o maior tamanho para evitar perda de dados.
Após executar esse utilitário (o que leva algumas horas), o programa de UPDATE da Microsiga pôde ser aplicado, fazendo os ajustes finais e liberando a nova versão para uso.
Na hora de migrar o banco de dados, de DBF para MS SQL, deparei-me com alguns (muitos) registros que geravam erro no momento da importação pelo APSDU.
Tratavam-se de campos cujo valor, nem era NULO, nem ESPAÇOS em branco, nem qualquer conteúdo visível.
Consegui identificar que esses campos estavam preenchidos com uma sequencia de caracteres NULOS e ESPAÇOS EM BRANCO, o que gerava conflito com a cláusula NOT NULL do SQL. Tive que fazer outro aplicativo para varrer minha base de dados e corrigir o problema.
Agora, estou finalizando a importação da base de dados para o MS SQL EXPRESS, para verificar como minhas funções customizadas se comportarão nesse novo ambiente.
Dúvidas, críticas, sugestões ? Deixe seu comentário.
Para Download, procure por MSDE 2000 Download em qualquer buscador web.
