Erro ora-01403 e ora-01841 - preciso de ajuda

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
Jezper
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 17 Ago 2009 11:02 am
Localização: Gaspar-SC

estou tentando atualizar uma tabela via forms, aparentimente meu forms está correto, insere e consulta nomalmente, mais quando vai atualizar da o seguinte erro:

Selecionar tudo

FRM-40735: ORA-01403: no data foud KEY-COMMIT trigger raised unhandled exception ORA-01841.
não sei porque da esse erro e nem como resolver!!! a tabela tem dados sim o estranho é porque da isso...

sera q alguém pode mi ajudar a solucionar isso????
RodrigoValentim
Moderador
Moderador
Mensagens: 367
Registrado em: Ter, 25 Mar 2008 3:41 pm
Localização: Salvador - BA
Rodrigo Valentim
Analista de Sistemas
Oracle Developer

Campanha: Faça uma pesquisa antes de perguntar!!!

Na sua trigger KEY-COMMIT existe um possível

Selecionar tudo

Select ....
into ....
from ...
porém, esse select não está retornando nada.

Para solucionar, use um cursor (que já faz o tratamento desse tipo) ou utilize um exception no final da sua rotina.

Selecionar tudo

exception
when no_data_found then
   null;
Espero ter ajudado!
Jezper
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 17 Ago 2009 11:02 am
Localização: Gaspar-SC

valeu RodrigoValentim por tentar mais ainda não ta funcionando... sera q mais alguém podera mi ajudar????
SergioLBJr
Rank: Oracle Guru
Rank: Oracle Guru
Mensagens: 448
Registrado em: Ter, 16 Jun 2009 3:07 pm
Localização: Parobé - RS
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

Verifique os campos para os quais você faz a consulta.

Verifique os campos de data que você utiliza, olhe bem o deles. Se não for isso verifique as demais propriedades.

Caso não encontre nenhum campo de data que esteja com erro, poste o seu código no forum
Jezper
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 17 Ago 2009 11:02 am
Localização: Gaspar-SC
Jeziel Peres

PL/SQL - Forms 6i

deu certo SergioLBJr esta atualizando normalmente ago... tive q fazer varias modificações.... obrigado por mi ajudar nesse problema galera...


mais acabo de descobri outro... eu preciso colocar uma mascara em um determinado campo, onde a partir do segundo numero tem q colocar uma virgula, e nada q eu fiz ate agora ta funcionando..... será q poderiam mi ajudar a solucionar esse caso???????????????????

obrigado.....
Jezper
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 17 Ago 2009 11:02 am
Localização: Gaspar-SC
Jeziel Peres

PL/SQL - Forms 6i

deu consegui achar a solução.... valeu galera pela atenção.... ate qualquer hora....
Jezper
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 17 Ago 2009 11:02 am
Localização: Gaspar-SC
Jeziel Peres

PL/SQL - Forms 6i

PRECISO DE UMA AJUDA..... TEM COMO EU TRATA O ERRO ORA-01841 SEM BOTAR NULLL NO EXCEPTION?????

O ERRO É NESSE MEU SELECT.

Selecionar tudo

SELECT TO_DATE('01'||replace(:T1583.DT_REFERENCIA,'/'),'DD/MM/YYYY')
 		    INTO WW_DATA_AUX
 		    FROM DUAL;
alguém PODE MI AJUDAR???
E QUAL É O MEIO MAIS FACIL DE SOLUCIONAR ISSO....
SergioLBJr
Rank: Oracle Guru
Rank: Oracle Guru
Mensagens: 448
Registrado em: Ter, 16 Jun 2009 3:07 pm
Localização: Parobé - RS
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

Cara , eu acho que este teu select ta mal, qual deve ser o resultado disso, e como está este campo DT_REFERENCIA (qual o valor dele);
Jezper
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 17 Ago 2009 11:02 am
Localização: Gaspar-SC
Jeziel Peres

PL/SQL - Forms 6i

é que o dt referencia so devera passar mês e ano, e por isso eu concateno com 01 pra fica dia mês e ano intendeu...

abraço...
SergioLBJr
Rank: Oracle Guru
Rank: Oracle Guru
Mensagens: 448
Registrado em: Ter, 16 Jun 2009 3:07 pm
Localização: Parobé - RS
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

Selecionar tudo

select ('01/'||to_char(sysdate,'MM/YYYY')) from dual
execute este select na tua base, e trabalhe nos mesmos moldes que deve funcionar;
Jezper
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 17 Ago 2009 11:02 am
Localização: Gaspar-SC
Jeziel Peres

PL/SQL - Forms 6i

ok vou ver se consigo ser mais claro....

tenho um campo e esse campo so deve receber o mês e o ano. se o usuario digita o dia também deve vim um alerta dizendo que so deve colocar mês e ano. esse alerta para no campo ate o usuario colocar somente o mês e ano....

como eu posso fazer esse comando???? como é o codigo?????

eu penso em bota num validate mais não não sei ao certo o camando a colocar la......

alguém poderia mi ajudar.?????????????

obrigado...
Jezper
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 17 Ago 2009 11:02 am
Localização: Gaspar-SC
Jeziel Peres

PL/SQL - Forms 6i

deu certo.... so fiz umas modificações mais deu tudo certo valeu Sergio....

abraço se cuida...
alias daqui a pouco eu volto pois tem coisas mais dificeis para resolver...

vlw galera...
Jezper
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 17 Ago 2009 11:02 am
Localização: Gaspar-SC
Jeziel Peres

PL/SQL - Forms 6i

como disse anteriormente eu voltei pois tenho problemas.....

esta dando o seguinte erro ORA-01839.

ele so orcorre quando eu insiro um registro que consequentimente o dia 1 começa na quinta...

poderiam me explicar o porque e como posso resolver????????

agradeço desde já....
SergioLBJr
Rank: Oracle Guru
Rank: Oracle Guru
Mensagens: 448
Registrado em: Ter, 16 Jun 2009 3:07 pm
Localização: Parobé - RS
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

Posta no fórum o código que está disparando este erro, porque só com isso tudo q consigo t dizer é q tu ta buscando um dia que não existe para o mês

EX 30-FEB-2009
Jezper
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 17 Ago 2009 11:02 am
Localização: Gaspar-SC
Jeziel Peres

PL/SQL - Forms 6i

é meio dificil de bota aqui pois é meio grande e fragmentado...

olha Sergio sendo mais claro, se possivel mi ajuda....

a questao é que se eu coloco um mês com 31 dias e nele abtribuo valores tipo

EX.: DATA: 01/2010

ITEM 1 =20
..
..
ITEM 31 = 40

SE EU DUPLICAR OS REGISTRO COMO O PROGRAMA DEVE FAZER,
ELE DA ERRO SE EU BOTO PRA DUPLICA PARA UM mês COM MENOS DE 31 DIAS, SENDO QUE não ERA PRA ACONTECE.. ERA PARA CADASTRA ATE O ITEM POSSIVEL O RESTO ERA PARA RECEBER NULL;

É DIFICIL DE EXPLICAR...

SE não INTENDER EU já AGRADEÇO... VLW PELA FORÇA...
SergioLBJr
Rank: Oracle Guru
Rank: Oracle Guru
Mensagens: 448
Registrado em: Ter, 16 Jun 2009 3:07 pm
Localização: Parobé - RS
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

Cara tu deve ta passando o dia 31 para um mês com 30 dias.

Eu não tenho como adivinhar onde e como isto ta fazendo, so eu vendo o teu código pra ter alguma ideia.

Se puder passar pelo menos o trecho onde tu busca o dia q tu vai atribui já ajuda
Jezper
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 36
Registrado em: Seg, 17 Ago 2009 11:02 am
Localização: Gaspar-SC
Jeziel Peres

PL/SQL - Forms 6i

deu... já concegui resolver... mais agradeço a força....


vlw Sergio...

abraço....
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 12 visitantes