Erro bisonho no Oracle Forms
Esses dias eu estava lutando com o Forms 6i da Oracle que em um determinado aplicativo sempre exibia o seguinte erro:
ORA-01403: no data found
Ou seja, não foram encontrados dados. Quem já trabalha com Oracle (PL/SQL em particular) sabe que tal erro é disparado quando uma select ou algum outro recurso que não foi tratado adequadamente com uma exception não retorna dados no array de retorno (fetch).
Porém ao debugar esse Forms eu notei que todos os recursos de consulta retornavam dados e todos estavam sendo tratados com a exception no_data_found, era virtualmente improvável que o Forms disparasse aquele erro.
Foi então que comecei a pesquisar o tamanho das variáveis, foi nesse ponto que notei que uma variável number(4) era alimentada pelos dados de um campo de determinada tabela onde o mesmo era um number(5).
Então percebi que o Forms que já estava em produção a meses só passou a apresentar o erro naquele ponto (mesmo com o tratamento da exception) funcionou porque nunca a variável tinha sido preenchida com os dados do banco em mais de 4 posições, nunca até semana passada.
Foi só compatibilizar o tamanho da variável do Forms para o tamanho igual ao que estava no banco de dados que o problema foi resolvido.
Tomara que alguém da Oracle leia o post e melhore as mensagens de erro, iria facilitar muito a vida, principalmente de desenvolvedores iniciantes.
Descubra mais sobre ViamaisBLOG
Assine para receber nossas notícias mais recentes por e-mail.