[firebase-br] Procedure para Calcular total do Pedido

Jorge Henrique jorgehenrique em americamoveis.com
Ter Fev 20 20:42:04 -03 2007


Se vc for pegar o valor dos parametros de saída da SP através de 
componentes (IBX, DBExpress, etc) não precisa mesmo do suspende. Mas 
mesmo pra um registro se vc fizer:

SELECT * FROM MINHA_SP

e não tiver o SUSPEND no fim, isso não funciona.

[]'s

Fernando Reis Guimarães escreveu:
> nem precisa do suspend, ele serve para separar registros...
> no seu caso so vai retornar um registro não é? tira ele
> 
> Em 14/02/07, Marcelo Moreira <marcelo em easysistemasmg.com.br> escreveu:
>> Pessoal,
>>
>> Boa noite!
>>
>>
>>
>> Criei a seguinte Procedure para calcular e retornar o valor total de uma
>> Proposta Comercial com base nos itens da mesma que posteriormente vai
>> virar
>> um pedido:
>>
>>
>>
>> CREATE PROCEDURE PROPOSTA_VALOR_TOAL (
>>
>>     ID_PROPOSTA INTEGER)
>>
>> RETURNS (
>>
>>     TOTAL NUMERIC(15,2))
>>
>> AS
>>
>> DECLARE VARIABLE VALOR_PRODUTO NUMERIC(15,2);
>>
>> DECLARE VARIABLE VALOR_SERVICO NUMERIC(15,2);
>>
>> begin
>>
>>
>>
>>   /* PRODUTOS */
>>
>>   select SUM(QUANTIDADE * VALOR_UNITARIO)
>>
>>     from PROPOSTA_ITENS_PRODUTO
>>
>>    where ID_PROPOSTA = :ID_PROPOSTA
>>
>>     into :VALOR_PRODUTO;
>>
>>
>>
>>   /* SERVIÇOS */
>>
>>   select SUM(QUANTIDADE * VALOR_UNITARIO)
>>
>>     from PROPOSTA_ITENS_SERVICO
>>
>>    where ID_PROPOSTA = :ID_PROPOSTA
>>
>>     into :VALOR_SERVICO;
>>
>>
>>
>>   TOTAL = VALOR_PRODUTO + VALOR_SERVICO;
>>
>>
>>
>>   suspend;
>>
>> end^
>>
>>
>>
>>
>>
>> Esta seria a forma correta de se fazer isso?
>>
>> Tenho uma duvida também quanto ao SUSPEND ele estaria no lugar certo neste
>> caso?
>>
>>
>>
>> Obrigado pela atenção
>>
>>
>> --
>> No virus found in this outgoing message.
>> Checked by AVG Free Edition.
>> Version: 7.5.441 / Virus Database: 268.17.39/686 - Release Date: 14/2/2007
>> 07:54
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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