[firebase-br] ERRO NA SP - PRAZO DE ENTREGA EXPIRANDO !!!!

Caio Oliveira news em caiosistemas.com.br
Sex Fev 24 10:20:12 -03 2006


Olá Rodrigo,

A parte do código destacada abaixo deve ser modificado conforme segue, 
pois, acho que a descricao dos campos deve estar implícita no caso da 
cláusula INTO.

///////////////////// DE

/* select na tabela de estoque */
   for
     select E.* from ESTOQUE E order by E.CPRODUTO into :PCPRODUTO, 
:PCEMPRESA, :PEST_LOJA, :PEST_DEPO
   do begin
     /* VERIFICAR SE EXISTE O PRODUTO, SEMPRE VAI EXISTIR, POIS INCLUO 
NA PARTE DE CIMA */

////////////////////// PARA

/* select na tabela de estoque */
   for
     select E.CPRODUTO, E.CEMPRESA, E.EST_LOJA, E.EST_DEPO from ESTOQUE 
E order by E.CPRODUTO into :PCPRODUTO, :PCEMPRESA, :PEST_LOJA, :PEST_DEPO
   do begin
     /* VERIFICAR SE EXISTE O PRODUTO, SEMPRE VAI EXISTIR, POIS INCLUO 
NA PARTE DE CIMA */

abraço!

Caio Oliveira

Rodrigo - Winsoft escreveu:
> BOM DIA GALERA...
> 
> TENHO AS SEGUINTES TABELAS:
> 
> 
> CREATE TABLE PRODUTO (
>     CPRODUTO          VARCHAR(15) NOT NULL COLLATE PXW_INTL850,
>     NPRODUTO          VARCHAR(200) NOT NULL COLLATE PXW_INTL850
> );
> 
> 
> CREATE TABLE ESTOQUE (
>     CPRODUTO            VARCHAR(15) NOT NULL COLLATE PXW_INTL850,
>     CEMPRESA            D_CODIGO,
>     EST_LOJA            NUMERIC(18,3) NOT NULL,
>     EST_DEPO            NUMERIC(18,3) DEFAULT 0 NOT NULL
> );
> 
> 
> CREATE TABLE REL_ESTOQUE (
>     CPRODUTO  D_CODPRODUTO,
>     D3        D_VALOR3, /* CORRESPONDE AO ESTOQUE DEPOSITO DA EMPRESA DE COD. 3
>     L3        D_VALOR3, /* CORRESPONDE AO ESTOQUE LOJA DA EMPRESA DE COD. 3
>     D5        D_VALOR3, /* CORRESPONDE AO ESTOQUE DEPOSITO DA EMPRESA DE COD. 5
>     L5        D_VALOR3, /* CORRESPONDE AO ESTOQUE LOJA DA EMPRESA DE COD. 5
>     D8        D_VALOR3, /* CORRESPONDE AO ESTOQUE DEPOSITO DA EMPRESA DE COD. 8 
>     L8        D_VALOR3, /* CORRESPONDE AO ESTOQUE LOJA DA EMPRESA DE COD. 8
>     D10       D_VALOR3, /* CORRESPONDE AO ESTOQUE DEPOSITO DA EMPRESA DE COD. 10
>     L10       D_VALOR3  /* CORRESPONDE AO ESTOQUE LOJA DA EMPRESA DE COD. 10
> );
> 
> 
> estou criando a store procedure abaixo
> 
> CREATE PROCEDURE GERAR_ESTOQUE_GERAL (
>     PEST_LOJA FLOAT,
>     PEST_DEPO FLOAT,
>     PCEMPRESA INTEGER,
>     PCPRODUTO VARCHAR(15))
> AS
> begin
>   /* CRIAR OS PRODUTOS NA TABELA DE REL_ESTOQUE */
>   for
>     select P.CProduto from PRODUTO P order by P.CProduto into :PCPRODUTO
>   do begin
>     insert into REL_ESTOQUE(CPRODUTO, D3, L3, D5, L5, D8, L8, L10, D10)
>     values(:PCPRODUTO, 0, 0, 0, 0, 0, 0, 0, 0);
>   end
> 
> 
>   /* select na tabela de estoque */
>   for
>     select E.* from ESTOQUE E order by E.CPRODUTO into :PCPRODUTO, :PCEMPRESA, :PEST_LOJA, :PEST_DEPO
>   do begin
>     /* VERIFICAR SE EXISTE O PRODUTO, SEMPRE VAI EXISTIR, POIS INCLUO NA PARTE DE CIMA */ 
>  
>     if (exists (select RE.* from REL_ESTOQUE RE where RE.CPRODUTO = :PCPRODUTO)) then
>     begin
>       /*  VERIFICAR QUAL É A EMPRESA */   
>       if (:PCEMPRESA = 3) then
>       begin
>         update REL_ESTOQUE set L3 = (L3 + :PEST_LOJA ), D3 = (D3 + :PEST_DEPO) where CPRODUTO = :PCPRODUTO;
>       end
> 
>       if (:PCEMPRESA = 5) then
>       begin
>         update REL_ESTOQUE set L5 = (L5 + :PEST_LOJA ), D5 = (D5 + :PEST_DEPO) where CPRODUTO = :PCPRODUTO;
>       end
> 
>       if (:PCEMPRESA = 8) then
>       begin
>         update REL_ESTOQUE set L8 = (L8 + :PEST_LOJA ), D8 = (D8 + :PEST_DEPO) where CPRODUTO = :PCPRODUTO;
>       end
> 
>       if (:PCEMPRESA = 10) then
>       begin
>         update REL_ESTOQUE set L10 = (L10 + :PEST_LOJA ), D10 = (D10 + :PEST_DEPO) where CPRODUTO = :PCPRODUTO;
>       end
>     end
>   end
> 
>   suspend;
> end
> 
> 
> 
> ESTA ME RETORNADO O SEGUINTE ERRO:
> 
> count of column list and variable list do not match.
> Dynamic SQL Error.
> SQL error code = -313.
> count of column list and variable list do not match.
> 
> 
> sERÁ Q ALGUEM SABE O Q ESTÁ ACONTECENDO...
> SEI Q É MEIO COMPLICADO, MAS É UM POUCO URGENTE !!!
> 
> sE ALGUEM PUDER ME AJUDAR......
> 
> 
> Obrigado.
> 
> Rodrigo Pedroso
> Winsoft Informática - (14) 3664-1586
> rodrigo em netalfa.com.br
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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