Forums
FOCUS/WebFOCUS
[SOLVED] Error-Calculate difference between dates with DATEDIF:|
Go
![]() |
New
![]() |
Search
![]() |
Notify
![]() |
Tools
![]() |
Reply
![]() |
|
|
Member |
I was just calculating de difference between two dates when I got some error message:
The codes I input: DEFINE FILE WHATEVER -*some other fields DATERANGE/I8 = DATEDIF(PROJECT_DATE, &YYMD, 'D', 'I8'); END -*(PROJECT_DATE is a timestamp field in WHATEVER) Then I got this: (FOC275) FOCUS FUNCTION HAS INCORRECT NUMBER OF ARGUMENTS: ; I tried also with COMPUTE command: COMPUTE DATERANGE/I8 = DATEDIF(PROJECT_DATE, &YYMD, 'D', 'I8'); Then I got this: (FOC259) FIELDNAME EXCEEDS ITS MAXIMUM SIZE: COMPUTE DATERANGE I'm using 764 with WIN XP This message has been edited. Last edited by: minos4, ____________________ 764_XP |
||
|
|
Member |
Is it the problem with timestamp or do I ALWAYS have to convert date type if the date types of two dates are not identical before DATEDIF calculation?
Are unidentical date types nonp-comparable? ____________________ 764_XP |
|||
|
|
Member |
Is there a way to transfer timestamp to only dates format?
____________________ 764_XP |
|||
|
|
Member |
I tried SQL translation, but can only convert to I8YYMD, to YYMD is impossible, but I8YYMD cannot be compared with YYMD either! So the format is still useless.
____________________ 764_XP |
|||
|
|
Gold member |
Try this:
-DEFAULT &YYMD = 20080101 ; (just to be sure you have a value for this parameter) DEFINE ... DATERANGE/I8 = DATEDIF(PROJECT_DATE, &YYMD.EVAL, 'D'); END If this doesn't work, convert you datatimestamp to an I8 interger and use this field instead of PROJECT_DATE in the DATEDIF syntax. WF 7.6.4, DB: Progress, UniVerse, SQLServer, MySQL, Oracle 9i. |
|||
|
|
Member |
Hi minos4...
The reason for getting the error is because you are trying to give 4 arguments where DATEDIF take only 3 arguments .. Try this: tod/YMD=HDATE((HGETC(10,'HYMDH')), 'YYMD'); DIF/I5=DATEDIF(HIREDATE, tod, 'Y'); |
|||
|
|
Virtuoso |
Another issue is that you are not feeding parameters of the proper type to your functions. DATEDIF only uses DATE fields - it cannot use a DATETIME field. HDIFF is available for datetime stamps. The comparison must use values of like type so one or the other must be converted.
Regards, Darin WF Server: 7.1.6 on Z/OS and Linux, ReportCaster, Self-Service, MRE, Java Data: DB2, DB2/UDB, Adabas, SQL Server Output: HTML,PDF,Excel2K WF Client: Linux w/WebSphere, Servlet, CGI |
|||
|
|
Member |
the HDATE command doesn't work out for me. I don't know why, just can't transfer HYYMDm into YYMD.
Finally I used HGETC to express current time into HYYMDm format so that the two formats match. Then I used HDIFF to calculate 'DAY' differences. This works. ____________________ 764_XP |
|||
|
| Previous Topic | Next Topic | powered by eve community |
| Please Wait. Your request is being processed... |
|
Forums
FOCUS/WebFOCUS
[SOLVED] Error-Calculate difference between dates with DATEDIF:
