Focal Point Banner


As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only. Moving forward, myibi is our community platform to learn, share, and collaborate. We have the same Focal Point forum categories in myibi, so you can continue to have all new conversations there. If you need access to myibi, contact us at myibi@ibi.com and provide your corporate email address, company, and name.


Connect to myibi
Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [SOLVED] How to have proper previous day when first day of month

Read-Only Read-Only Topic
Go
New
Search
Notify
Tools
[SOLVED] How to have proper previous day when first day of month
 Login/Join
 
Virtuoso
posted
Hi,
I know that it,s probably been discussed many times, but I can't find it.

How can I have the proper previous day when we're the first of the month ?

I've used:
-SET &PDAY = DATEADD (&YYMD, 'DAY', -1);
-TYPE &PDAY

But it gives me 20140700 when &YYMD = 20140701, it's supposed to be 20140630...

I also tried with DATEMOV(&YYMD, 'WD-') but it stays the same date.

Thanks for your help and reminder :-)

This message has been edited. Last edited by: MartinY,


WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007
 
Posts: 2410 | Location: Montreal Area, Qc, CA | Registered: September 25, 2013Report This Post
Platinum Member
posted Hide Post
Hi,

Take a look at the AYMD function ... run this:

-*
-SET &PDAY = DATEADD (&YYMD, 'DAY', -1);
-SET &N_PDAY = AYMD (&YYMD, -1, 'I8YYMD');
-*
-TYPE YYMD ------- &YYMD
-TYPE PDAY ------- &PDAY
-TYPE N_PDAY ----- &N_PDAY


WebFocus 8.201M, Windows, App Studio
 
Posts: 227 | Location: Lincoln Nebraska | Registered: August 12, 2008Report This Post
Gold member
posted Hide Post
jfr99's code is much prettier but here goes my aproach anyway:

-SET &PDAY_V2 = &YYMD;
-SET &PDAY_V2 = DATECVT(&PDAY_V2.EVAL, 'I8YYMD', 'YYMD');
-SET &PDAY_V2 = DATEADD(&PDAY_V2,'D',-1);
-SET &PDAY_V2 = DATECVT(&PDAY_V2.EVAL, 'YYMD', 'I8YYMD');
-SET &PDAY_V2 = EDIT(&PDAY_V2,'9999/99/99');

-TYPE &PDAY_V2


WebFOCUS App Studio 8103
Windows7
All outputs
 
Posts: 58 | Location: London, UK | Registered: May 09, 2011Report This Post
Virtuoso
posted Hide Post
Thanks, I knew that I would find an answer :-)


WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007
 
Posts: 2410 | Location: Montreal Area, Qc, CA | Registered: September 25, 2013Report This Post
Platinum Member
posted Hide Post
Here's another way:

-SET &PRV_YYMD = DATECVT((DATEADD((DATECVT (&YYMD, 'I8YYMD', 'YYMD')),'D', -1)), 'YYMD','I8YYMD');


WebFocus 8.201M, Windows, App Studio
 
Posts: 227 | Location: Lincoln Nebraska | Registered: August 12, 2008Report This Post
Expert
posted Hide Post
DATEADD only works on Smartdates.

As &YYMD is just a number and not a date, you need to use AYMD, as works on legacy dates.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

 
Posts: 6349 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006Report This Post
  Powered by Social Strata  

Read-Only Read-Only Topic

Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [SOLVED] How to have proper previous day when first day of month

Copyright © 1996-2020 Information Builders