[firebase-br] Ajuda na Procedure :-)

Joao de Lima jomello_fire em yahoo.com.br
Qua Set 29 19:39:50 -03 2004


Grande mano Nilton sempre perdendo um tempo com esse cabeção :-)
Valeu amigo mas...
Já tentei isso não dá certo não, mas acho que talvez quem sabe eu tenha achado a solução é fazer um outro FOR dentro do primeiro FOR ai pego o estoque atual que é igual pra todos para aquele PRODUTO  ai coloco em uma variavel e utilizo ela dentro do segundo FOR só não sei "ainda" se vou conseguir retornar os dados corretamente :-)
Depois te falo ok :-)
 
Abraços
 
    João 

Nilton Souza <ntn em bbs2.sul.com.br> wrote:
Olá João,

Sim te jeito, ficaria MAIS OU MENOS assim:

+====================================================+
as
DECLARE VARIABLE ESTOQUE INTEGER;
begin
ESTOQUE = 0;

for
select
c.cod_mp,
c.NUM_ESTOQ_ATU,
A.DAT_ATU,
sum(a.num_qde * b.num_qtd_mp) PRODUCAO

from
ap_ofabrica A,
AP_COMP_PA B,
ap_mprima C

WHERE
A.COD_PA = B.COD_PA and
B.COD_MP = C.COD_MP AND
A.dsc_status = 'A'

GROUP BY
c.cod_mp,
c.NUM_ESTOQ_ATU,
A.DAT_ATU

ORDER BY
C.COD_MP

into
:COD_PA,
:NUM_ESTOQ_ATU,
:DAT_ATU,
:PRODUCAO

do
begin
// Aqui preciso pegar o estoque atual e no proximo registro
// diminuir a qde da PRODUCAO e mostrar o novo estoque
// Essa diminuição do estoque é VIRTUAL e não posso mexer nele ok :-)

NUM_ESTOQ_ATU = NUM_ESTOQ_ATU - ESTOQUE;
ESTOQUE = ESTOQUE + PRODUCAO;

suspend;
end
end
+====================================================+

[]'s
Nilton Souza

----- Original Message -----
From: "Joao de Lima" 
To: "Firebase" 

Sent: Wednesday, September 29, 2004 6:41 PM
Subject: [firebase-br] Ajuda na Procedure :-)


> Oia nóis aqui tra vez :-)
> Amigos, me deem uma força nesse trem, olha só o que preciso:
>
> O que esse SELECT retorna?
>
> PRODUTO ESTOQ_ATUAL PRODUCAO
> AAA 24 2
> AAA 24 3
>
> Ai vem a PROCEDURE
>
> begin
> for select c.cod_mp, c.NUM_ESTOQ_ATU,A.DAT_ATU,sum(a.num_qde *
b.num_qtd_mp) PRODUCAO
> from ap_ofabrica A, AP_COMP_PA B, ap_mprima C
> WHERE A.COD_PA = B.COD_PA and B.COD_MP = C.COD_MP AND A.dsc_status
= 'A'
> GROUP BY c.cod_mp, c.NUM_ESTOQ_ATU,A.DAT_ATU
> ORDER BY C.COD_MP
> into :COD_PA, :NUM_ESTOQ_ATU, :DAT_ATU, :PRODUCAO
> DO
> begin
> // Aqui preciso pegar o estoque atual e no proximo registro
> // diminuir a qde da PRODUCAO e mostrar o novo estoque
> // Essa diminuição do estoque é VIRTUAL e não posso mexer"
nele ok :-)
> suspend;
> end
> end
>
> tem jeito???? :-)
>
> Desde já agradeço amigos
>
> Abraços
>
> João
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
> ______________________________________________
> FireBase-BR (www.firebase.com.br)
> Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>


______________________________________________
FireBase-BR (www.firebase.com.br)
Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


Mais detalhes sobre a lista de discussão lista