Thank you, Razzak, unfortunately I'm not using a date variable I'm using a DATETIME variable which the help indicates is valid:

Where arg is a value that has either a DATE or DATETIME data type, IDAY returns the integer day of the month for a particular date.

Returns the integer month for a particular date, where arg is a value that has a DATE or DATETIME data type.

Where arg is a value that has a DATE or DATETIME data type, IYR4 always returns a four-digit integer year of date,

I'm not actually using the old IYR - I found that because I left off the 4 when I was first checking.
This used to work in v7.6:

SET VAR vNowDT   = .#NOW
SET VAR vTxtDay  = (CTXT( (IDAY(.vNowDT)) ))
SET VAR vTxtMon  = (CTXT( (IMON(.vNowDT)) ))
SET VAR vTxtYear = (CTXT( (IYR4(.vNowDT)) ))

IF (SLEN(.vTxtDay)) < 2 THEN
 SET VAR vTxtDay = ('0' + .vTxtDay)
ENDIF
IF (SLEN(.vTxtMon)) < 2 THEN
 SET VAR vTxtMon = ('0' + .vTxtMon)
ENDIF

SET VAR vNowText = +
(.vTxtYear + '/' + .vTxtMon + '/' + .vTxtDay & (SGET( (CTXT( (TEXTRACT(.vNowDT)) )), 5, 1)) )

The day & month fail in v9.0 so I get, as an example: 2010/00/00 23:11
This then gets added to some more text...

Regards,
Alastair.



--------------------------------------------------
From: "A. Razzak Memon" <[email protected]>
Sent: Wednesday, June 09, 2010 9:03 PM
To: "RBASE-L Mailing List" <[email protected]>
Subject: [RBASE-L] - Re: v9.0 INT day/month/year

On 6/9/10, Alastair Burr <[email protected]> wrote:
----------------------------Am I imagining this or just going nuts:

R>SET VAR vIntYear INTEGER =  (IYR4(.#Now)) ; SHOW VAR vIntYear
       2010
R>SET VAR vIntYear INTEGER =  (IYR(.#Now)) ; SHOW VAR vIntYear
          0
R>SET VAR vIntMon INTEGER =  (IMON(.#Now)) ; SHOW VAR vIntMon
          0
R>SET VAR vIntDay INTEGER =  (IDAY(.#Now)) ; SHOW VAR vIntDay
          0

Alastair,

Here's how:

SET VAR vIntYear INTEGER =  (IYR(.#DATE))
SET VAR vIntMon INTEGER =  (IMON(.#DATE))
SET VAR vIntDay INTEGER =  (IDAY(.#DATE))

Very Best R:egards,

Razzak.




Reply via email to