[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