último dia do mês em progress

425 views
Skip to first unread message

Orlando Esau

unread,
Aug 10, 2018, 10:42:39 AM8/10/18
to Progress - 4GL
Bom dia.

Por favor gostaria de saber se existem algum comando progress que retorne o último dia do mês.

Exemplos:

data 1: 15/01/2016     (janeiro de 2016)
comando que traga último dia do mês = 31


data 2: 19/04/2016     (abril de 2016)
comando que traga último dia do mês = 30

e assim por diante.

Obrigado

Junior

Dyego Fernandes de Sousa

unread,
Aug 10, 2018, 10:43:42 AM8/10/18
to progre...@googlegroups.com
Pegue o primeiro dia do próximo mês e diminua 1, easy.

Dyego Fernandes de Sousa


--
Recebeu esta mensagem porque subscreveu ao grupo "Progress - 4GL" do Grupos do Google.
Para anular a subscrição deste grupo e parar de receber emails do mesmo, envie um email para progress_4gl...@googlegroups.com.
Para publicar uma mensagem neste grupo, envie um email para progre...@googlegroups.com.
Visite este grupo em https://groups.google.com/group/progress_4gl.
Para mais opções, visite https://groups.google.com/d/optout.

Reinaldo

unread,
Aug 10, 2018, 10:45:31 AM8/10/18
to progre...@googlegroups.com
FUNCTION fcDtaUltDiaMes  RETURNS DATE
  ( vcf-Dta AS DATE) :
/*------------------------------------------------------------------------------
  Purpose: Recebe uma data e retorna o ultimo dia do mes
  exemplo :  fcDtaUltDiaMes(01/01/2001) -> retorna 31/01/2001
------------------------------------------------------------------------------*/
     RETURN  DATE ( MONTH (DATE(MONTH(vcf-Dta),01,YEAR(vcf-Dta)) + 32),
                    01,
                    YEAR  (DATE(MONTH(vcf-Dta),01,YEAR(vcf-Dta)) + 32)) - 1.
END FUNCTION.

Em sex, 10 de ago de 2018 às 11:42, Orlando Esau <o.esa...@gmail.com> escreveu:
--

Rodrigo

unread,
Aug 10, 2018, 11:09:46 AM8/10/18
to progre...@googlegroups.com
Bom dia Dyego,

Você pode pegar o primeiro dia do próximo mês e subtrair de 1 (dia). Te retornará o último dia do mês corrente.

Ats

--

Dyego Fernandes de Sousa

unread,
Aug 10, 2018, 11:44:34 AM8/10/18
to progre...@googlegroups.com
Esta foi a resposta que eu dei... KK

Dyego Fernandes de Sousa

Dilonei - Gmail

unread,
Aug 10, 2018, 12:51:14 PM8/10/18
to progre...@googlegroups.com

Boa tarde,

 

                Isso deve lhe ajudar.

 

DEFINE VARIABLE dtAtual       AS DATE        NO-UNDO.

DEFINE VARIABLE dtPrimeiroDia AS DATE        NO-UNDO.

DEFINE VARIABLE dtUltimoDia   AS DATE        NO-UNDO.

 

ASSIGN dtAtual = TODAY.

 

ASSIGN dtPrimeiroDia = DATE(MONTH(dtAtual), 1, YEAR(dtAtual))

       dtUltimoDia   = ADD-INTERVAL(dtPrimeiroDia, 1, 'months')

       dtUltimoDia   = dtUltimoDia - 1.

 

MESSAGE dtPrimeiroDia SKIP

        dtUltimoDia

    VIEW-AS ALERT-BOX INFO BUTTONS OK.

 

 

                Sds,

 

 

Dilonei Grando
E-mail:
dilonei...@gmail.com

Skype: diloneigrando

Reply all
Reply to author
Forward
0 new messages