Notícias

Produto: RM Conversor                                                                                                         Versão: 4.0.0
Processo: Conversor de base de dados do RM Classis para o TOTVS Educacional (RM Classis Net)

Existe uma versão mais atualizada deste documento, quer ver? Acesse aqui.
DB_reloadAntes de você ler este documento é interessante que veja o Como Fazer sobre o processo de conversão do RM Classis para o TOTVS Educacional.
Aqui você poderá conferir informações técnicas. É uma forma de aprofundar sobre os processos internos que acontecem quando o Conversor do RM Classis para o TOTVS Educacional é executado. Portanto, é interessante que você já tenha uma noção sobre este procedimento.
reload Conversor
A ferramenta de conversão é composta por um grupo de conversores. Cada conversor realiza a conversão de um determinado grupo de dados.
Exemplo: O conversor de matrícula (ConvMatricula) converte os dados da matrícula. O conversor de contratos (ConvContrato) converte os dados referentes à contrato e parcelas.
Os conversores possuem dependências, pois para converter determinada informação pode ser necessária a informação gerada em uma conversão anterior.
Exemplo: É necessário converter o curso para obter o código novo do curso que será necessário na conversão da grade.
reload Controle do conversor.

O conversor utiliza uma tabela de controle chamada CONTROLECONVERSOR para registrar quais conversores estão pendentes ou foram executados ou estão em conversão. Nesta tabela é armazenado o código da coligada, código do sistema (básico ou superior) o nome técnico do conversor, o código do status da conversão (1 = convertido, 2 = convertendo e 3 = pendente) e o usuário que realizou a conversão.
Caso seja necessário interromper a conversão o usuário deverá alterar o status do registro referente ao conversor que estava convertendo para o status de conversor pendente na tabela CONTROLECONVERSOR para que ele continue a conversão corretamente.
Caso seja necessário executar novamente um conversor, é necessário alterar o status do registro referente ao conversor desejado para pendente na tabela CONTROLECONVERSOR.
reload Conversão em paralelo.
O conversor também pode ser executado em paralelo. Basta clicar no botão “mais” (caso as configurações não estejam sendo exibidas) e marcar a opção “Execução simultânea em outras máquinas”. Não é necessário marcar os conversores para a execução, pois o próprio conversor decidirá a ordem da conversão de acordo com as dependências.
Ao executar o conversor em mais de uma máquina os conversores irão buscar o conversor que
estiver livre de dependências para ser executado.
Conversores que convertem um grande número de dados (matrículas e financeiro, por exemplo) são executados em lotes. O conversor cria um campo (LOTECONVERSAO) em uma tabela de origem dos dados onde ele faz o controle dos registros que estão em processo de conversão.
Exemplo: Caso duas máquinas estejam convertendo os contratos de uma base de dados em paralelo, a primeira cria a coluna LOTECONVERSAO na tabela EALUSERV e marca os primeiros 25000 registros com o nome da máquina e usuário logado concatenado com o caractere 1 (RM0004084-lucas.torres-1), indicando que está convertendo aqueles registros. A segunda máquina vê que a coluna já está criada e marca os primeiros 25000 registros disponíveis (que estejam com valor nulo) indicando que está convertendo. E continuam neste processo até completar a conversão desta tabela.
Caso seja necessário executar novamente um conversor que utilize lotes de conversão, além de alterar a tabela de controle do conversor, o usuário precisará limpar a coluna LOTECONVERSAO da tabela que aquele conversor utiliza. O usuário também poderá remover esta coluna, pois o conversor criará novamente durante o processo.
reload Tabelas temporárias
Alguns conversores criam tabelas temporárias para auxiliar no processo. Geralmente quando novos códigos são criados e são relacionados a registros que serão convertidos posteriormente então o conversor cria uma tabela temporária para que seja possível associar facilmente o registro do ensino básico ou do ensino superior com o registro do TOTVS Educacional.
Exemplo: ao converter os horários, a tabela TEMPHORARIO é criada. Esta tabela armazena o código antigo do horário (CODHOR) e o novo código de horário criado (CODHORNOVO). Desta forma é possível trabalhar a informação de horário nas próximas tabelas a serem convertidas.
As tabelas temporárias não são excluídas após o processo de conversão e é importante que sejam mantidas sem alterações. Caso ocorra alguma falha, estas tabelas são muito importantes para a análise.
reload Log de migração na base de dados
A partir da versão 4.0.0.19 o conversor cria a tabela SLOGMIGRACAO. Nesta tabela são armazenadas informações para auxiliar na análise da conversão. Você pode verificar qual tabela recebe os registros processados por um determinado conversor, ou quantos registros foram selecionados na origem e qual a consulta foi utilizada para realizar a seleção dos dados a serem processados.
O log guarda o registro da tabela principal de cada conversor e, na maioria dos casos, também as tabelas temporárias. Caso alguma tabela não tenha sido registrada será necessário solicitar que o conversor seja alterado para disponibilizar esta informação.
reload Log de migração em arquivo texto

Durante o processo de conversão, a ferramenta registra em um arquivo texto (log) as mensagens ocorridas. Geralmente, as mensagens ocorrem por algum tipo de inconsistência na base,
impossibilitando a inserção do registro novo. É importante que o usuário que está realizando a conversão observe os detalhes do log, pois pode esclarecer o motivo da não inserção de alguns registros.
O log pode exibir mensagens tratadas que exibem informações sobre casos mais comuns.
clip_image002

No caso da mensagem acima, indica que não faz sentido ter uma disciplina filha com o mesmo código da disciplina pai e por este motivo o registro não foi inserido.
O log também pode exibir mensagens que não são tratadas que exibem informações retornadas pelo banco de dados ou informações retornadas por alguma falha de tratamento pela aplicação.
clip_image004
A mensagem acima é retornada pela aplicação, que recebeu um valor diferente do esperado e não conseguiu realizar o tratamento. Neste caso foi um valor string que tentou ser inserido em um campo numérico.
Mensagens deste tipo podem ocorrer por alguma falha na integridade da tabela de origem dos dados ou porque há a necessidade de ajustar o conversor, pois recebeu uma informação diferente dos casos previstos.
clip_image006
A mensagem acima é retornada pelo banco de dados, que não conseguiu inserir o registro por regras de integridade do banco de dados. A tabela SBOLSAALUNO possui uma coluna chamada CODUSUARIO que iria receber um valor que não exista na tabela GUSUARIO. O banco de dados bloqueou a inserção porque existe uma chave estrangeira que não permite este tipo de situação. Provavelmente o usuário que realizou a operação foi excluído da GUSUARIO. Caso o registro realmente deva ser inserido, é necessário que a base de dados seja corrigida.
clip_image008
A mensagem acima é retornada pela aplicação, indicando que houve uma falha na conexão com o banco de dados. Neste caso, o serviço do banco de dados caiu durante a conversão.
reload Tuning
O tempo de conversão depende do volume de dados que a base de dados do cliente possui. Muitas tabelas temporárias são criadas e utilizadas em relacionamentos durante os processos de conversão. Em alguns casos este relacionamento pode não ser indexado. Também pode haver consultas que relacionam tabelas do TOTVS Educacional com tabelas do Ensino básico e superior. Portanto, caso seja necessário, criar índices ou atualizar estatísticas do banco de dados pode dar mais agilidade ao processo de conversão.
Caso um processo de conversão esteja muito demorado, um usuário avançado em banco de dados poderá verificar na tabela SLOGMIGRACAO a consulta que está sendo executada e analisar se há a necessidade de criar algum índice para agilizar o processo.
Quando uma conversão está sendo processada, mas a barra que exibe o percentual concluído daquele conversor está crescendo lentamente, certamente é devido ao grande volume de dados e um processo de tuning seria desnecessário. Este procedimento é útil para os casos em que o conversor aparenta estar travado, mas está “processando” alguma consulta pesada.
Fim!
aim  Este documento foi útil? Critique, dê sugestões e dicas!











































  • Sem rótulos