[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