[firebase-br] problema gravissimo com procedure + trigger - HELP

Murilo >> CPR Sistemas murilo em cprinformatica.com.br
Qui Jan 3 12:25:36 -03 2008


Foi feito no 1.5, mas foi feito o backup (no 1.5) / restore (no 2.0).

Chico escreveu:
> Esse seu banco foi criado nessa versão do FB?
> Caso ele tenha sido criado em uma versão anterior, você fez 
> backup/restore para esta versão mais atual ?
> 
> Murilo >> CPR Sistemas escreveu:
>> Ahh sim esquecei, usamos FB 2.0.3
>>
>> Murilo >> CPR Sistemas escreveu:
>>   
>>> tenho uma procedure que faz o seguinte update:
>>>
>>> update ITEMMOVIMENTO
>>> set id_subnivel_localitem = :id_subnivel_localitem
>>> where id_item = :id_item and
>>>        id_empresa = 1;
>>>
>>>
>>>
>>>
>>> Na tabela ITEMMOVIMENTO tenho a seguinte trigger
>>>
>>> CREATE OR ALTER TRIGGER TR_ITEMMOVIMENTO FOR ITEMMOVIMENTO
>>> ACTIVE AFTER UPDATE POSITION 0
>>> as
>>> begin
>>> 	if (new.id_subnivel_localitem is not null)
>>> 	     execute procedure PROC_ATUALIZAITEMESTOQUE(new.id_item, new.id_empresa, 
>>> new.id_itemgrade, new.id_subnivel_localitem, (new.qt_movimento - 
>>> old.qt_movimento), 0);
>>> end
>>>
>>>
>>>
>>> e na procedure PROC_ATUALIZAITEMESTOQUE eu tenho isso:
>>>
>>> CREATE OR ALTER PROCEDURE PROC_ATUALIZAITEMESTOQUE(
>>>      ID_ITEM INTEGER,
>>>      ID_EMPRESA INTEGER,
>>>      ID_GRADEITEM INTEGER,
>>>      ID_LOCALITEM INTEGER,
>>>      QT_FISICO DOUBLE PRECISION,
>>>      QT_RESERVADO DOUBLE PRECISION)
>>> AS
>>> begin
>>>
>>> 	if (ID_LOCALITEM is null)
>>> 		exception EXP_TESTE 'Ahhhhhhhhhhhhhhhhh';
>>> ....
>>> end
>>>
>>>
>>>
>>> Acontece que o meu id_subnivel_localitem na tabela ITEMMOVIMENTO é not null, e 
>>> eu tenho certeza que não existe nenhum registro com null, mas por algum motivo 
>>> ele passa dentro do if "if (ID_LOCALITEM is null)" e dispara a exceção 
>>> EXP_TESTE, o que pode estar acontecendo??? pois o só está indo nulo neste campo, 
>>> e antes que falem, já recompilei todas as dependências, já restartei o banco, 
>>> até a máquina já reiniciei no desespero. A posição do campo também já mudei e 
>>> também já fiz verificação dos outros campos, ele é o único que está indo nulo 
>>> (detalhe é que é o mais importante.... o único que nunca pode ser nulo).
>>>
>>>
>>> Agluém faz idéia do que seja? Problema de BIOS, bug,................ Já não sei 
>>> mais o que tentar, até mesmo já substituí a variável por um valor FIXO e 
>>> adivinha o que aconteceu.... NULOOOOOOOOOOooooooooooooooooooooooo
>>>
>>> :(
>>>
>>>
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>
>>>     
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>
>>   
> 





Mais detalhes sobre a lista de discussão lista