[firebase-br] AJUDA COM PROCEDURE - ERRO “Column does not belong to referenced table.”

Mauricio mauricio.shirley em gmail.com
Ter Maio 24 10:45:32 -03 2011


Em 24/05/2011 08:42, Diego Maccari escreveu:
> Boa Dia Pessoal
>
> Criei esta Procedure no IBExpert, mas não estou conseguindo faze-la funcionar toda vez me aparesse a mesma mensagem:
>
> “Column does not belong to referenced table.” – A Coluna não pertence a tabela referenciada.
>
> Já verifiquei várias vezes e não consegui descobrir o erro, todos os campos estão escritos corretamente no SQL.
>
> Será que alguém poderia dar alguma dica pra resolver e/ou otimizar esta PROCEDURE ?
>
>
> o Erro esta ocorrendo nesta linha “PIS = ((TB_IN_981_4104.BASE_CALCULO_PIS / 100) * TB_IN_981_4104.ALIQUOTA_PIS);”
>
>
> Segue o codigo SQL:
>
> SET TERM ^ ;
>
> CREATE OR ALTER PROCEDURE PROPORCIONA_PIS (percent_ex decimal(18,4), percent_mi decimal(18,4), percent_nt decimal(18,4))
> as
> declare variable pis decimal(18,2);
> declare variable pis_ex decimal(18,2);
> declare variable pis_mi decimal(18,2);
> declare variable pis_nt decimal(18,2);
> BEGIN
>    PIS = ((TB_IN_981_4104.BASE_CALCULO_PIS / 100) * TB_IN_981_4104.ALIQUOTA_PIS);
>    PIS_EX = (((TB_IN_981_4104.BASE_CALCULO_PIS  / 100) * TB_IN_981_4104.ALIQUOTA_PIS) * PERCENT_EX / 100);
>    PIS_MI = (((TB_IN_981_4104.BASE_CALCULO_PIS  / 100) * TB_IN_981_4104.ALIQUOTA_PIS) * PERCENT_MI / 100);
>    PIS_NT = (((TB_IN_981_4104.BASE_CALCULO_PIS  / 100) * TB_IN_981_4104.ALIQUOTA_PIS) * PERCENT_NT / 100);
>
>    IF (PIS_EX>  0.0000) THEN
>      IF (PIS_EX<  0.0100) THEN
>        PIS_EX = 0.0100;
>
>    IF (PIS_MI>  0.0000) THEN
>      IF (PIS_MI<  0.0100) THEN
>        PIS_MI = 0.0100;
>
>    IF (PIS_NT>  0.0000) THEN
>      IF (PIS_NT<  0.0100) THEN
>        PIS_NT = 0.0100;
>
>    UPDATE tb_in_981_4104
>    SET
>      VALOR_PIS = PIS,
>      VALOR_PIS_EXPORTACAO = PIS_EX,
>      VALOR_PIS_MERC_INTERNO = PIS_MI,
>      VALOR_PIS_N_TRIB_INTERNO = PIS_NT
>    WHERE
>      CNPJ = '00.000.000/0001-91' AND MES = 'Janeiro' AND ANO = 2010 AND
>      CODIGO_SIT_TRIBUTARIA_PIS = '70' AND CODIGO_SIT_TRIBUTARIA_COFINS = '70';
>
>    SUSPEND;
> END^
>
> SET TERM ; ^
>
> GRANT SELECT,UPDATE ON TB_IN_981_4104 TO PROCEDURE NEW_PROCEDURE;
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
esta faltando a referencia dos campos  :

TB_IN_981_4104.BASE_CALCULO_PIS
TB_IN_981_4104.ALIQUOTA_PIS

qual tabela ela vem ? acho que voce precisa fazer um select ai....

abs







Mais detalhes sobre a lista de discussão lista