[firebase-br] Geral data de vencimento. Dificil!!!

Cezar Wagenheimer wagenheimer em gmail.com
Sex Dez 14 10:35:40 -03 2007


Meio gambi, mas funciona 100% e da pra vc ter uma ideia. É uma procedure.

        ANOATUAL=ANO;
        MESATUAL=(:MES+:CONDICAO_ENTRADA_DIAS+:PARCELA_NUMERO-1);

        IF (MESATUAL>36) THEN
        BEGIN
            ANOATUAL=ANOATUAL+3;
            MESATUAL=MESATUAL-36;
        END
        IF (MESATUAL>24) THEN
        BEGIN
            ANOATUAL=ANOATUAL+2;
            MESATUAL=MESATUAL-24;
        END
        IF (MESATUAL>12) THEN
        BEGIN
            ANOATUAL=ANOATUAL+1;
            MESATUAL=MESATUAL-12;
        END

        DataAtual=CAST(MESATUAL||'/01/'||ANOATUAL AS DATE);

        DiasDoMes= EXTRACT(DAY FROM (DataAtual - EXTRACT(DAY FROM DataAtual) 
+ 32 - EXTRACT(DAY FROM DataAtual - EXTRACT(DAY FROM DataAtual) + 32)));

        DiaAtual=Dia;
        if (DiaAtual>DiasDoMes) then
        DiaAtual=DiasDoMes;

        DataAtual=CAST(MESATUAL||'/'||DIAATUAL||'/'||ANOATUAL AS DATE);

        PROMISSORIA_DATA=DataAtual;
     END


"-:- Enio Marconcini -:- www.enio.pro.br -:-" 
<eniorm em gmail.com> escreveu na notícia da 
mensagem:354e237b0712140255n142729eao7773e13d0d56b420 em mail.gmail.com...
> Salve!
>
> estou usando uma procedure no FB2.0 para gerar data de vencimento para
> lançamentos de títulos a pagar (parcelados)
>
> ele usa uma tabela com as formas de pagamento para gerar N parcelas, onde
> cada data de vencimento é calculada a partir da data base + N dias (tipo 
> 30
> dias, 60 dias etc)
>
> mas por exemplo uma data base de 14/12/2007, + 30 dias, resulta em
> 13/01/2008 devido os 30 e 31 dias de cada mes, sem contar agora em 2008 
> com
> fevereiro com 29 dias
>
> eu gostaria de saber como gerar todas para o mesmo dia, a partir da data
> base, pois eu consegui chegar perto, usando o cast, mas num caso onde a
> forma de pagamento é por exemplo, para daqui 15 dias, ou 10 dias direto, 
> ai
> nem sempre funciona como o esperado.
>
> se alguém tiver uma dica eu ficarei extremamente grato!
>
> falow
>
> -- 
> []'s
> ENIO RODRIGO MARCONCINI
> ...: www.santafedosul.sp.gov.br
> ....................: www.enio.pro.br
> ......: gtalk: eniorm em gmail.com
> .......................: skype: eniorm
> Linux User................. #433647
> ______________________________________________
> 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