Você está na página 1de 3

08/05/2015 Como Fazer–Entenda o conversor TOTVS Educacional (RM Classis Net) ­ TOTVS Connect ­ TDN

TOTVS Connect /  2012 /  October /  23


Como Fazer–Entenda o conversor TOTVS Educacional (RM
Classis Net)
Created by TOTVS TDN on Out 23, 2012

Produto: RM Conversor                                                                Versão: 4.0.0

Processo: Entenda o conversor de base de dados do RM Classis para o TOTVS Educacional (RM
Classis Net)

Antes 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.
1. 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.
2. 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 status do registro referente ao conversor que estava em execução
estará como convertendo (2) na tabela CONTROLECONVERSOR. Caso o usuário execute novamente o
conversor o processo não será continuado. Exceto quanto o conversor for paralelo, pois mesmo estando em
execução por qualquer máquina, o conversor irá continuar o processo.
Caso seja necessário executar novamente um conversor, é necessário alterar o status do registro referente ao
conversor desejado para pendente na tabela CONTROLECONVERSOR.
3. 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.
Por 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.

http://tdn.totvs.com/pages/viewpage.action?pageId=42043810 1/3
08/05/2015 Como Fazer–Entenda o conversor TOTVS Educacional (RM Classis Net) ­ TOTVS Connect ­ TDN

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.
Recomendamos executar o conversor apenas em uma máquina e adicionar mais máquinas apenas durante a
execução de conversores que convertem uma grande quantidade de dados em paralelo.
4. 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.
Por 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.
5. 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.
6. 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.

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.

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.

A mensagem acima é retornada pelo banco de dados, que não conseguiu inserir o registro por regras de integridade
http://tdn.totvs.com/pages/viewpage.action?pageId=42043810 2/3
08/05/2015 Como Fazer–Entenda o conversor TOTVS Educacional (RM Classis Net) ­ TOTVS Connect ­ TDN

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.

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.
7. 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.

Esta explicação lhe foi útil? Comente, critique, tire suas duas dúvidas e dê sugestões!

http://tdn.totvs.com/pages/viewpage.action?pageId=42043810 3/3