[firebase-br] duvidas sobre procedure
Sandro Souza
escovadordebits em gmail.com
Qua Set 16 09:29:01 -03 2009
Bom dia/tarde Marcio.
Grande Marcio, faço aqui a minha humilde sugestão.
Muito provavelmente, você já deve ter criado uma variável local para guardar
o valor total do desconto, dentro de sua stored procedure.
Sugiro que acrescente as seguintes variáveis locais:
DECLARE VARIABLE QUANTIDADE_DE_ITENS INTEGER;
DECLARE VARIABLE DESCONTO_RESTANTE
<mesmo-tipo-que-a-variável-do-total-de-desconto>;
Logo no início, você obteria a quantidade total de itens e armazenaria esse
valor na variável "QUANTIDADE_DE_ITENS". Também copiaria para a variável
"DESCONTO_RESTANTE", o valor total do desconto.
A cada item, você poderia executar os seguintes passos:
...
-- Não é o último item?
IF (QUANTIDADE_DE_ITENS > 1) THEN
BEGIN
...
-- Calcula o valor do desconto apropriadamente para o item atual.
...
-- Subtrai o valor calculado do desconto do item atual, do valor restante
do desconto.
DESCONTO_RESTANTE = DESCONTO_RESTANTE -
<variável-que-contém-o-desconto-calculado-desse-item>;
...
END -- IF
ELSE
BEGIN
...
-- Como é o último item, utilizaremos o valor de desconto que restou.
<variável-que-contém-o-desconto-calculado-desse-item> = DESCONTO_RESTANTE;
...
END -- ELSE
-- Atualiza a quantidade de itens que ainda serão processados.
QUANTIDADE_DE_ITENS = QUANTIDADE_DE_ITENS - 1;
...
É só uma mera sugestão.
Espero ter ajudado mais que atrapalhado. :D
2009/9/15 Marcio Da Silva Ereno <marcio em msereno.com.br>
> Ola pessoal,
>
> Eu estou montando uma procedure para gerar o arquivo do sintegra
> nesta procedure eu tenho que ratear o valor total do desconto entre os
> itens
> vendidos
> mais dependo do valor que da, da uma diferença de centavos e gostaria de
> jogar esta diferença
> no ultimo item.. mais não sei como fazer alguem pode me ajudar...
> grato t+
>
> --
> Marcio Ereno
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista