Pessoal, to com outra dificuldade em relação a data. No sistema, o usuario vai digitar a data do vencimento e eu tenho que jogar a data para o mesmo dia digitado do mês seguinte,(levando em consideração que pode ser várias parcelas) também verificar se o mês tem 30 ou 31 dias e se o ano é bisexto Alguém da um help?
Bom dia meu amigo, testa isso aqui, e veja se resolve o teu problema.. Código: DEFINE VARIABLE dt-teste AS DATE NO-UNDO. ASSIGN dt-teste = TODAY - 8. /*data de hj é 08/02/2012*/ MESSAGE dt-teste VIEW-AS ALERT-BOX INFO BUTTONS OK. MESSAGE ADD-INTERVAL (dt-teste, 1, "month") VIEW-AS ALERT-BOX INFO BUTTONS OK.
Bom dia ! Rotinazinha pra checar a questão do Bisexto. Código: def var i-ano as int no-undo. DEF VAR v-bisexto AS LOG FORM "Sim/Não" NO-UNDO. ASSIGN i-Ano = YEAR(TODAY). IF (i-ano mod 400 = 0 or (i-ano mod 4 = 0 and i-ano mod 100 <> 0)) THEN ASSIGN v-bisexto = YES. ELSE v-bisexto = NO. MESSAGE v-bisexto VIEW-AS ALERT-BOX. Geralmente jogamos data + 30.. ou 60 ou 90. Mas se a questão é Jogar para o mesmo dia da data digitada vc usa vData-parcela = DATE(MONTH(vDataDigitada) + 1, DAY(vDataDigitada), YEAR(vDataDigitada)). Porém vai dá erro, pq tem mes que nao tem 31 dias por ex.. quando digitado 31/03 , ele iria colocar 31/04 e iria dá erro.