3097 - Erro - Registro não encontrado ou alterado por outro processo Tabela: R030fil
Problema: Está ocorrendo um problema nas estações, acessando com um usuário administrador, ao fazer alguma alteração no cadastro da filial está retornando a mensagem de erro: Registro não encontrado ou alterado por outro processo. Tabela: R030FIL. Valores dos campos chave [NumEmp: 1, CodFil: 1].
Esta situação pode ocorrer em outras telas/tabelas.
Quando ocorre / onde se aplica: Alterações em cadastros gerais do sistema.
Solução: Este erro somente ocorre em banco ORACLE. O erro é causado pelo ambiente que não está com a configuração adequada no banco de dados do cliente.
As instalações de clients de Oracle, e o client utilizado pelo sistema para se conectar na base, está com a configuração do código de página diferente da configuração utilizada pelo server. Essa diferença apresenta incompatibilidade de alguns caracteres, o que gera o erro descrito no chamado. Para visualizar se determinada informação possui caráter incompatível é necessário realizar uma consulta na base de dados conforme exemplo anexo.
No exemplo anexo foi evidenciado a existência do caráter ¿. Como este caracteres não é visível na tela é necessário excluir este caráter diretamente na base de dados.
Para solucionar o problema, deverá ser ajustada a configuração dos clients para utilizar a mesma configuração de código de página do server.
Todas as máquinas que apresentarem a diferença na configuração do código de página entre client e server deverão ser ajustadas.
A configuração do client deve ser orientada pelo DBA.
# Para verificar a configuração do código de página do server basta executar o seguinte comando:
SELECT USERENV('LANGUAGE') FROM DUAL
# A configuração do código de página dos clients, pode ser verificada na chave NLS_LANG do registry do Windows de cada client.
Normalmente o registry de cada client se encontra no seguinte caminho HKEY_LOCAL_MACHINE/Software/oracle/ do registro do Windows (regedit).
Caso o Windows seja 64bits, o caminho da chave no registro poderá ser: HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/ORACLE/.
Anexo Exemplo.
Mesmo ajustando a configuração do código de página entre client e server a mensagem persistir é necessário realizar um select na tabela que apresenta a mensagem de erro e verificar se determinado registro possui algum caracter que não é visível na tela. No exemplo anexo foi verificado que a mensagem persistia ao realizar um cadastro de curso no módulo Treinamento. Ao realizar um select na tabela R128CUA foi evidenciado a existência do caracterer ¿ (decorrente de importação do registros). Este caracter especial que usamos no exemplo pode ser utilizado no sistema, no entanto, o conteúdo apresentado no select deve ser o mesmo apresentado no select. Se apresentar caracteres na consulta no banco e em tela não é necessário ajustar este registro diretamente na base de dados removendo o caracter.
Esta situação pode ocorrer em outras telas/tabelas.
Quando ocorre / onde se aplica: Alterações em cadastros gerais do sistema.
Solução: Este erro somente ocorre em banco ORACLE. O erro é causado pelo ambiente que não está com a configuração adequada no banco de dados do cliente.
As instalações de clients de Oracle, e o client utilizado pelo sistema para se conectar na base, está com a configuração do código de página diferente da configuração utilizada pelo server. Essa diferença apresenta incompatibilidade de alguns caracteres, o que gera o erro descrito no chamado. Para visualizar se determinada informação possui caráter incompatível é necessário realizar uma consulta na base de dados conforme exemplo anexo.
No exemplo anexo foi evidenciado a existência do caráter ¿. Como este caracteres não é visível na tela é necessário excluir este caráter diretamente na base de dados.
Para solucionar o problema, deverá ser ajustada a configuração dos clients para utilizar a mesma configuração de código de página do server.
Todas as máquinas que apresentarem a diferença na configuração do código de página entre client e server deverão ser ajustadas.
A configuração do client deve ser orientada pelo DBA.
# Para verificar a configuração do código de página do server basta executar o seguinte comando:
SELECT USERENV('LANGUAGE') FROM DUAL
# A configuração do código de página dos clients, pode ser verificada na chave NLS_LANG do registry do Windows de cada client.
Normalmente o registry de cada client se encontra no seguinte caminho HKEY_LOCAL_MACHINE/Software/oracle/ do registro do Windows (regedit).
Caso o Windows seja 64bits, o caminho da chave no registro poderá ser: HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/ORACLE/.
Anexo Exemplo.
Mesmo ajustando a configuração do código de página entre client e server a mensagem persistir é necessário realizar um select na tabela que apresenta a mensagem de erro e verificar se determinado registro possui algum caracter que não é visível na tela. No exemplo anexo foi verificado que a mensagem persistia ao realizar um cadastro de curso no módulo Treinamento. Ao realizar um select na tabela R128CUA foi evidenciado a existência do caracterer ¿ (decorrente de importação do registros). Este caracter especial que usamos no exemplo pode ser utilizado no sistema, no entanto, o conteúdo apresentado no select deve ser o mesmo apresentado no select. Se apresentar caracteres na consulta no banco e em tela não é necessário ajustar este registro diretamente na base de dados removendo o caracter.