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

Murilo >> CPR Sistemas murilo em cprinformatica.com.br
Qui Jan 3 11:59:37 -03 2008


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
> 





Mais detalhes sobre a lista de discussão lista