[firebase-br] parcelamento
Forum ASR & Associados
forum em asreassociados.com.br
Sáb Mar 8 11:26:01 -03 2008
SET TERM !!;
CREATE PROCEDURE SP_PARCELAMENTO
(VALOR_TOTAL NUMERIC(13,2)
,DT_INI DATE
,QTD_PARCELA SMALLINT)
RETURNS
(PARC_NUM SMALLINT
,PARC_DT_VENC DATE
,PARC_VALOR NUMERIC(13,2))
AS
DECLARE VARIABLE V_QTD_PARCELA SMALLINT DEFAULT 1;
DECLARE VARIABLE V_VALOR_CONTROLE NUMERIC(13,2) DEFAULT 0;
BEGIN
PARC_VALOR = (VALOR_TOTAL / QTD_PARCELA);
PARC_DT_VENC = DT_INI;
WHILE (V_QTD_PARCELA <= QTD_PARCELA) DO
BEGIN
PARC_NUM = V_QTD_PARCELA;
-- QUALQUER DIFERENÇA POR CAUSA DO CÁLCULO, IREMOS JOGAR NA ÚLTIMA
PARCELA
IF (PARC_NUM = QTD_PARCELA) THEN
PARC_VALOR = PARC_VALOR + (VALOR_TOTAL - (PARC_VALOR * QTD_PARCELA ));
SUSPEND;
V_QTD_PARCELA = V_QTD_PARCELA + 1;
PARC_DT_VENC = PARC_DT_VENC + 30;
END
END !!
SET TERM ; !!
Exemplo:
SELECT * FROM SP_PARCELAMENTO(50000,CAST('04/01/2008' AS DATE),30)
Resultado:
PARC_NUM PARC_DT_VENC PARC_VALOR
1 01.04.2008 1.666,66
2 01.05.2008 1.666,66
3 31.05.2008 1.666,66
4 30.06.2008 1.666,66
5 30.07.2008 1.666,66
6 29.08.2008 1.666,66
7 28.09.2008 1.666,66
8 28.10.2008 1.666,66
9 27.11.2008 1.666,66
10 27.12.2008 1.666,66
11 26.01.2009 1.666,66
12 25.02.2009 1.666,66
13 27.03.2009 1.666,66
14 26.04.2009 1.666,66
15 26.05.2009 1.666,66
16 25.06.2009 1.666,66
17 25.07.2009 1.666,66
18 24.08.2009 1.666,66
19 23.09.2009 1.666,66
20 23.10.2009 1.666,66
21 22.11.2009 1.666,66
22 22.12.2009 1.666,66
23 21.01.2010 1.666,66
24 20.02.2010 1.666,66
25 22.03.2010 1.666,66
26 21.04.2010 1.666,66
27 21.05.2010 1.666,66
28 20.06.2010 1.666,66
29 20.07.2010 1.666,66
30 19.08.2010 1.666,86
Espero ter ajudado !!!
Atenciosamente,
Airton Salviano
Analista de Sistemas
www.asrtecnologia.com.br
www.pedeborracha.com
maria silva escreveu:
> alguem pode me ajudar por favor?
> quero dividir um valor em parcelas iguais e com vencimento mensal. Por ex.
> tenho 50.000,00 e que dividir em 30 meses.
> agradeco a ajuda.
> ______________________________________________
> 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