ERP – Modelos de Plano – Por que não aparece a conta/centro de custo nos erros apresentados durante a mudança de plano
Dúvida
No módulo de Cadastros, por que não aparece a conta/centro de custo nos erros apresentados durante a mudança de plano?
Solução
O intuito da mudança de plano é atualizar todas as tabelas do sistema que possuírem uma coluna de conta ou centro de custo, com a nova conta ou centro de custo relacionada.
Para conseguirmos atingir este objetivo, os comandos precisam ser criados de forma dinâmica e automáticas, não teríamos como escrever um comando UPDATE para cada tabela do sistema no código fonte, além de que, a manutenção disso seria inviável. Portanto, quando ocorre algum erro durante o processo de mudança de plano, este erro vem diretamente do banco de dados, pois são questões de relacionamentos, chaves duplicadas, entre outras coisas.
Com relação as mensagens de erro durante o processo, a grande maioria dos comandos realizados para atualização das contas/centros de custo são realizados em massa e não um para cada registro. Como estamos processando uma massa de dados, não sabemos qual especificamente foi o registro que ocasionou o erro no banco de dados, nem a mensagem que vem do banco trás qual foi o registro.
Não teríamos como varrer linha por linha de praticamente todas as tabelas do sistema, temos que criar os comandos dinamicamente e realizar o processamento de toda a massa de dados da tabela de uma única vez e partir para a próxima até que todas sejam concluídas.
O banco de dados só retorna o tipo do erro, nós pelo código fonte ainda conseguimos identificar dentro deste looping dinâmico qual foi a tabela base no momento da exceção do banco de dados e apresentamos na tela, mas qual o registro dentro desta tabela é algo que não teríamos como apresentar.