Migrando da versão 18.2.12 para a versão 19.1.13

Uma das maiores preocupações ao implementar novas versões do MenuFlex é a de tornar o processo de migração para os desenvolvedores que estiverem usando a versão anterior do MenuFlex o mais simples possível. Abaixo seguem os detalhes do processo de migração.

Atenção: os passos descritos pressupõem que a versão atual do MenuFlex é a versão 18.2.12. Se a versão atual for a 18.0.11 primeiro deve ser feita a migração para a versão 18.2.12 conforme descrito no tópico "Migrando para a versão 18.2.12" para depois migrar para a versão 19.1.13.

Pré-requisitos

Para que a migração da versão 18.2.12 para a versão 19.1.13 ocorra sem problemas, os seguintes pré-requisitos devem ser observados:

  • O desenvolvedor não pode ter alterado nenhuma das tabelas que fazem parte do MenuFlex
  • O desenvolvedor não pode ter alterado nenhum pacote integrante do MenuFlex, incluindo os dicionários de dados das tabelas do MenuFlex, que serão substituídos pelos dicionários de dados da nova versão. 
  • A Workspace deve estar na mesma versão do DataFlex que a Library do MenuFlex que será usada. Portanto faça primeiro a migração da sua Workspace para a versão do DataFlex correta antes de continuar. Ao migrar sua Workspace, o assiste de migração irá apontar que a Library do MenuFlex também precisa ser convertida. Neste caso, após um backup, faça a migração da Library antiga do MenuFlex no local original dela.
  • A não observação dos pré-requisitos acima pode provocar problemas no processo de migração.

Backup

Antes de iniciar o processo de migração na área de desenvolvimento é recomendado que seja feito um backup de todas as Workspaces e Libraries que serão migradas.

Antes de iniciar o processo de atualização na área de produção é recomendado que seja feito um backup da base de dados e dos programas compilados. 

Migração passo-a-passo

Copiar novos arquivos

Foram acrescentadas duas novas tabelas na versão 19.1.13: MANTABLE e ITMANTABLE.

O primeiro passo do processo de migração será copiar estas duas tabelas (DAT, K*, TAG e HDR) para o diretório Data da sua Workspace. Pegue estes arquivos a partir do diretório Data da NovaWorkspace que acompanha o MenuFlex.

Não é necessário cadastrar estas tabelas no filelist da aplicação por enquanto, pois o programa de atualização fará isso automaticamente.

Lembre-se de que quando for colocar a nova versão da sua aplicação em produção, será necessário também copiar estes arquivos.

Removendo a Library antiga e acrescentando a Library nova

Primeiramente é necessário remover a Library da versão 18.2.12 e acrecentar a Library da versão 19.1.13 da seguinte forma:

  • Acessar "Tools > Maintain Libraries";
  • Remover a Library do MenuFlex "antiga";
  • Acrescentar a Library da versão 19.1.13 localizando o arquivo sws da nova versão.

Executando o programa de atualização

A Library do MenuFlex possui um projeto criado especialmente para atualizar a estrutura das tabelas do MenuFlex 18.2.12 para a versão 19.1.13. Para executar este programa nenhuma tabela pode estar aberta, pois ele abrirá as tabelas em modo exclusivo. É necessário executar este programa na área de desenvolvimento e na área de produção.

Adicione o projeto na Workspace clicando em "Project > Add Project" localizando o arquivo AtualizaTabelas19_1_13.src que está no diretório MenuFlexLibrary-AppSrc-MenuFlex_Library_Projetos-Atualizacao. Não é necessário copiar este arquivo para o diretório AppSrc da sua Workspace.

Além do programa que atualiza a estrutura da base de dados, adicione, compile e execute o programa "Atualiza_LogDD_Nm_Objeto_Orige.src". Este programa irá transformar em letras maiúsculas, o conteúdo do campo LOGDD.NM_OBJETO_ORIGE de todos os registros.

Atenção: Este processo pode demorar vários minutos se a quantidade de registros nas tabelas que serão reestruturadas for muito grande. Recomenda-se que a execução do programa de atualização seja feita na máquina onde está a base de dados e não via rede. Estes programas precisarão ser executados na base de produção quando o programa executável for atualizado com a nova versão do MenuFlex.

Atualizando os arquivos FD

Após executar o programa de atualização, gere os arquivos .FD das tabelas do MenuFlex da sua workspace.

Atualizando o arquivo SRC

É necessário adicionar ao projeto a nova view de manutenção de tabelas, para isso deve ser incluido a linha Use MenuFlex_Library_ViewsManutencaoDeTabelas.vw no src da Workspace 

Copiando os dicionários de dados

Uma vez que as tabelas já estão atualizadas, a próxima etapa é copiar os arquivos .DD. A partir do diretório DDSrc da NovaWorkspace, copie todos os arquivos .DD para o diretório DDSrc da sua Workspace.

Acrescentando arquivos de imagem no executável

A partir do menu principal do Studio escolher a opção “Project > Project Properties”, pressionar então o botão “Scan for images”, escolher “Sim” e aguardar o Studio fazer a varredura nos arquivos para criar a lista de ícones e bitmaps usados no projeto.

Executar a leitura das imagens para cada um dos projetos da workspace.

Cadastrando a nova tela no menu

Após a execução dos passos acima a Workspace estará pronta para ser compilada e testada com a nova versão do MenuFlex.

A última etapa necessária para completar a migração é cadastrar a nova tela que foi criada. Na imagem abaixo vemos destacada a nova opção adicionada no MenuFlex 19.1.13:

NovaOpcaoMenuFlex19_1_13

A seguir estão as informações necessárias para cadastrar este item. Basta cadastrá-lo na posição que achar mais conveniente para a aplicação. 

A primeira coluna mostra o campo código, que será gerado automaticamente no momento da gravação. A segunda coluna é o código do módulo, que pode ser 0 (zero) se for desejado que a opção apareça em todos os módulos. A quarta coluna é o nome de exibição. A quinta coluna deve ser deixada em branco. A sexta e a sétima colunas devem ser preenchidas com "VW" e a última coluna é o nome de ativação do objeto.

Manutenção de tabelas:

NovaOpcaoMenuFlex19_1_13_Cadastro