Bom dia Meu cliente deseja saber quantos “meses completos” existem entre duas datas informadas. Um exemplo: Data inicial: 10/03/2019 Data final: 12/06/2019. Neste exemplo os “meses completos” são os meses 04 e 05, ou seja: Abril e Maio. Já tive várias idéias para resolver esta questão. Mas elas me pareceram complicadas. Alguém já resolveu um problema semelhante? Obrigado
desculpe, entendi errado a sua pergunta, nesse caso vc tem que criar uma procedure pra calcular isso.
Eu faria assim ... Código: define variable dataInicial as date no-undo. define variable dataFinal as date no-undo. define variable quantidadeMeses as integer no-undo. assign dataInicial = 03/10/2019 dataFinal = 06/12/2019. run intervaloMesesCompletos(dataInicial, dataFinal, output quantidadeMeses). message substitute('Meses completos entre &1 e &2 são &3', dataInicial, dataFinal, quantidadeMeses) view-as alert-box info buttons ok. procedure intervaloMesesCompletos: define input parameter dataInicial as date no-undo. define input parameter dataFinal as date no-undo. define output parameter quantidadeMeses as integer no-undo. /* ajustando data inicial para o mes seguinte */ assign dataInicial = date(month(dataInicial), 28, year(dataInicial)) + 10. assign dataInicial = date(month(dataInicial), 1, year(dataInicial)). /* ajustando data Final para o mes anterior */ assign dataFinal = date(month(dataFinal), 1, year(dataFinal)) - 1. assign quantidadeMeses = abs(interval(dataInicial, dataFinal, 'month')) + 1. end procedure.