Focal Point
[SOLVED] calculate monthend dates between two selected dates

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/7907061096

May 15, 2018, 12:47 PM
Neha_Chauhan
[SOLVED] calculate monthend dates between two selected dates
Hi

I would like to know the easy way to calculate month end dates between two calendar dates without using loop.

example : if I select March 1, 2017 and July 4,2017

I need month end dates for March - July 2017.

This message has been edited. Last edited by: FP Mod Chuck,


8.0.2 , Windows
May 15, 2018, 12:50 PM
BabakNYC
Look up DATEMOV and EOM in the Doc.

https://webfocusinfocenter.inf...g/source/datemov.htm


WebFOCUS 8206, Unix, Windows
May 15, 2018, 03:27 PM
jfr99
Here's an example that might help ...

-* SET CURRENT DATE
-SET &CUR_YYMD  = &YYMD;
-*-SET &CUR_YYMD  = 20180120;
-*
-* SET MONTH DATES
-SET &BCM_YYMD  = DATECVT(DATEMOV(DATECVT(&CUR_YYMD, 'I8YYMD', 'YYMD'), 'BOM'),'YYMD', 'I8YYMD');
-SET &ECM_YYMD  = DATECVT(DATEMOV(DATECVT(&CUR_YYMD, 'I8YYMD', 'YYMD'), 'EOM'),'YYMD', 'I8YYMD');
-*
-TYPE ------------------------------------------------
-TYPE CURRENT DATE           (CUR_YYMD) ----- &CUR_YYMD
-TYPE ------------------------------------------------
-TYPE BEGIN CURRENT  MONTH   (BCM_YYMD) ----- &BCM_YYMD
-TYPE END   CURRENT  MONTH   (ECM_YYMD) ----- &ECM_YYMD
-TYPE ------------------------------------------------
-*
-* SET OTHER DATE FORMATS
-SET &CUR_DTE1 = EDIT(DATECVT(&CUR_YYMD,'I8YYMD','A8MDYY'),'99/99/9999');
-SET &CUR_DTE2 = DATETRAN(DATECVT(&CUR_YYMD, 'I8YYMD', 'MDYY'), '(MDYY)', '(trD)', 'EN', 20, 'A20') ;
-SET &CUR_MTH1 = DATETRAN(DATECVT(&CUR_YYMD, 'I8YYMD', 'MYY'), '(MYY)', '(tr)', 'EN', 20, 'A20') ;
-*
-TYPE --- OTHER CURRENT DATES
-TYPE ------------------------------------------------
-TYPE CUR_DTE1 ---- &CUR_DTE1
-TYPE CUR_DTE2 ---- &CUR_DTE2
-TYPE -------------
-TYPE CUR_MTH1 ---- &CUR_MTH1
-TYPE ------------------------------------------------



WebFocus 8.201M, Windows, App Studio
May 16, 2018, 02:54 PM
dbeagan
Try running the following code in your environment. Maybe this is what you are looking for.

-DEFAULT &StartDate = 'March 1, 2017';
-DEFAULT &EndinDate = 'July 4,2017';
 TABLE FILE syscolum
 PRINT NAME NOPRINT
 COMPUTE Inc/I11        = Inc + 1;
 COMPUTE StartYYMD/YYMD = '&StartDate';
 COMPUTE StartYYM/YYM   = StartYYMD;
 COMPUTE MonthYYM/YYM   = StartYYM + Inc - 1;
 COMPUTE MonthYYMD/YYMD = DTADD(StartYYMD, MONTH, Inc - 1);
 COMPUTE MonthEOM/YYMD  = DATEMOV(MonthYYMD, 'EOM');
 COMPUTE Endin/YYMD     = '&EndinDate';
 COMPUTE EndinYYM/YYM   = Endin;
 WHERE TOTAL MonthYYM - EndinYYM LE 0; 
 ON TABLE HOLD AS eom 
 END
 TABLE FILE eom
 SUM MonthEOM AS 'DTE'
 ACROSS Inc
 ON TABLE SET ASNAMES ON
 ON TABLE HOLD AS eomdates 
 END
-RUN
-READFILE eomdates
-? &DTE



WebFOCUS 8.2.06