ERP – Conciliação Contábil – Não foi possível executar a conciliação de saldos contábeis! Erro de acesso ao banco de dados: Banco de Dados: Oracle 19. Erro do Banco (1438): ORA-01438: value larger than specified precision allowed for this column ORA-06512
Incidente
No módulo Gestão de Contabilidade, ao tentar rodar a conciliação de saldos contábeis, é apresentada a mensagem: Erro de acesso ao banco de dados:
Banco de Dados: Oracle 19.
Erro do Banco (1438): ORA-01438: value larger than specified precision allowed for this column
ORA-06512: at "COADAMI.SP_SALDOCTB_EXEC", line 49
ORA-06512: at "COADAMI.SP_SALDOCTB_EXEC", line 40
ORA-06512: at line 2
Causa
Este incidente pode ocorrer, quando o parâmetro global GerSdlCTB está com o campo Valor igual a 'S'.
Esse parâmetro quando está 'S', utiliza o método de geração de saldos contábeis anterior à versão 5.8.9.
Solução
Desde a versão 5.8.9 foi implementada uma nova rotina de conciliação de saldos, mais performática. O objetivo do parâmetro global GerSdlCTB é indicar se deve utilizar o método de geração de saldos contábeis anterior a 5.8.9, ou seja, a rotina antiga. Com a atualização deste parâmetro para Não, o sistema passa utilizar por padrão a nova rotina.
A nova forma de conciliação de saldos é mais performática, deixando a responsabilidade para o banco de dados fazer todo processamento através de Stored Procedure. Vale lembrar que, essa Stored Procedure existe apenas para banco de dados Oracle.
Observação
Para clientes que possuem banco de dados SQL Server, continuará realizando a conciliação antiga, mesmo alterando o parâmetro, devido não possuir SP implementadas para esse banco.
Então para que esse incidente não ocorra, realize os passos a seguir:
1. Acesse a tela F000PGS-Cadastros / Identificadores e parâmetros / Parâmetros Globais (Manutenção dos parâmetros globais do Sistema), e altere para 'N' o campo Valor do parâmetro global GerSdlCTB.