Fórum Erro Procedure This operation is not defined for system tables. #404904
13/07/2011
0
Galera eu tentei criar essa Store Procedure no Firebird 2.1 e deu o seguinte erro:
This operation is not defined for system tables.
unsuccessful metadata update.
STORE RDB$PROCEDURES failed.
Malformed string.
Store Procedure:
CREATE PROCEDURE NEW_PROCEDURE (
dt_ini date,
dt_fim date)
returns (
prod_id integer,
prod_descricao varchar(50),
vend_id integer,
vend_nome varchar(50),
grupo_descricao varchar(30),
tqtde numeric(18,3),
faturamento numeric(18,2),
tcobranca numeric(18,2),
tretorno_cob numeric(18,2),
saldo_cob numeric(18,2),
prox numeric(18,2),
inad numeric(18,2),
vtotal numeric(18,2))
as
BEGIN
FOR
select
p.prod_id,
p.prod_descricao,
v.vend_id,
vend.vend_nome,
g.grupo_descricao,
------------ Totalização -------------
sum(coalesce(it.ven_qtde,0)) as tqtde,
sum(coalesce(v.ven_total,0)) as faturamento,
sum(coalesce(v.cobranca,0)) as tcobranca,
sum(coalesce(v.retor_cob,0)) as tretorno_cob,
sum(coalesce(v.saldo_cob,0)) as saldo_cob,
sum(coalesce(v.retor_cob,0)+coalesce(v.venda_prazo,0)) as prox,
sum(case
when coalesce(v.cobranca,0) > 0 then cast((coalesce(v.retor_cob,0) / coalesce(v.cobranca,0))*100 as numeric(15,2))
else
0
end) as inad,
sum(coalesce(v.venda_total,0)) as vtotal
from cx_itens it
inner join cx_vendedor v on (v.cxven_id = it.cxven_id
and v.vend_id = v.vend_id
and v.dt_caixa between :dt_ini and :dt_fim
and v.situacao = 'FECHADO'
)
left join vendedor vend on (vend.vend_id = v.vend_id)
right join produtos p on (it.prod_id = p.prod_id)
left join grupo_prod g on (g.grupo_id = p.grupo_id)
where p.ativo = 'A' and it.ven_qtde is not null
group by p.prod_id, p.prod_descricao, v.vend_id,vend.vend_nome,g.grupo_descricao, p.ativo
order by 5,1,4
INTO :PROD_ID,
:PROD_DESCRICAO,
:VEND_ID,
:VEND_NOME,
:GRUPO_DESCRICAO,
:TQTDE,
:FATURAMENTO,
:TCOBRANCA,
:TRETORNO_COB,
:SALDO_COB,
:PROX,
:INAD,
:VTOTAL
DO
BEGIN
SUSPEND;
END
END
This operation is not defined for system tables.
unsuccessful metadata update.
STORE RDB$PROCEDURES failed.
Malformed string.
Store Procedure:
CREATE PROCEDURE NEW_PROCEDURE (
dt_ini date,
dt_fim date)
returns (
prod_id integer,
prod_descricao varchar(50),
vend_id integer,
vend_nome varchar(50),
grupo_descricao varchar(30),
tqtde numeric(18,3),
faturamento numeric(18,2),
tcobranca numeric(18,2),
tretorno_cob numeric(18,2),
saldo_cob numeric(18,2),
prox numeric(18,2),
inad numeric(18,2),
vtotal numeric(18,2))
as
BEGIN
FOR
select
p.prod_id,
p.prod_descricao,
v.vend_id,
vend.vend_nome,
g.grupo_descricao,
------------ Totalização -------------
sum(coalesce(it.ven_qtde,0)) as tqtde,
sum(coalesce(v.ven_total,0)) as faturamento,
sum(coalesce(v.cobranca,0)) as tcobranca,
sum(coalesce(v.retor_cob,0)) as tretorno_cob,
sum(coalesce(v.saldo_cob,0)) as saldo_cob,
sum(coalesce(v.retor_cob,0)+coalesce(v.venda_prazo,0)) as prox,
sum(case
when coalesce(v.cobranca,0) > 0 then cast((coalesce(v.retor_cob,0) / coalesce(v.cobranca,0))*100 as numeric(15,2))
else
0
end) as inad,
sum(coalesce(v.venda_total,0)) as vtotal
from cx_itens it
inner join cx_vendedor v on (v.cxven_id = it.cxven_id
and v.vend_id = v.vend_id
and v.dt_caixa between :dt_ini and :dt_fim
and v.situacao = 'FECHADO'
)
left join vendedor vend on (vend.vend_id = v.vend_id)
right join produtos p on (it.prod_id = p.prod_id)
left join grupo_prod g on (g.grupo_id = p.grupo_id)
where p.ativo = 'A' and it.ven_qtde is not null
group by p.prod_id, p.prod_descricao, v.vend_id,vend.vend_nome,g.grupo_descricao, p.ativo
order by 5,1,4
INTO :PROD_ID,
:PROD_DESCRICAO,
:VEND_ID,
:VEND_NOME,
:GRUPO_DESCRICAO,
:TQTDE,
:FATURAMENTO,
:TCOBRANCA,
:TRETORNO_COB,
:SALDO_COB,
:PROX,
:INAD,
:VTOTAL
DO
BEGIN
SUSPEND;
END
END
Sidney Abreu
Curtir tópico
+ 0
Responder
Posts
13/07/2011
Sidney Abreu
Reinstalei o Firebird e resolveu
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)