Focal Point Banner
Community Center Education Summit Technical Support User Groups
Let's Get Social!

Facebook Twitter LinkedIn YouTube
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
Go
New
Search
Notify
Tools
Reply
  
[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: 2344 | Location: Montreal Area, Qc, CA | Registered: September 25, 2013Reply With QuoteReport 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: 225 | Location: Lincoln Nebraska | Registered: August 12, 2008Reply With QuoteReport 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, 2011Reply With QuoteReport 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: 2344 | Location: Montreal Area, Qc, CA | Registered: September 25, 2013Reply With QuoteReport 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: 225 | Location: Lincoln Nebraska | Registered: August 12, 2008Reply With QuoteReport 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.06OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

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

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-2018 Information Builders, leaders in enterprise business intelligence.