Title: | FOCUS, from INFORMATION BUILDERS |
Moderator: | ZAYIUS::BROUILLETTE |
Created: | Thu Feb 19 1987 |
Last Modified: | Mon May 05 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 615 |
Total number of notes: | 1779 |
I'm having a problem retrieving records from an RDB file based on a date selection. I believe I am using the correct format of a date by specifying YYYYMMDD. In my example I have the following in the RDB file. Badge No Sys Date TEST01 29-JUL-1988 00:00:00.00 TEST02 30-JUL-1988 00:00:00.00 TEST03 31-JUL-1988 00:00:00.00 TEST04 01-AUG-1988 00:00:00.00 If I select records with a SYS_DT LT 19880801 I get four records. If I select SYS_DT LT 19880731 I get no records!! I've included the necessary commands that will show the problem that I'm having. It will create an RDB file, store the test records and run a FEX to create a TESTEX.DOC report with a few test conditions. We are running VMS 4.7 , RDB 2.3 and FOCUS 5.2 Any help would be greatly appreciated. $RDO SET VERIFY ! ! Define the Rdb Database. ! DEFINE DATABASE 'FOCTST.RDB'. ! ! Define the Fields. ! DEFINE FIELD BADGE_NO DATATYPE IS TEXT SIZE IS 6. DEFINE FIELD SYS_LAST_UPD_DT DATATYPE IS DATE. ! ! Define the Relation. ! DEFINE RELATION EMPLYE_RLN. BADGE_NO. SYS_LAST_UPD_DT. END EMPLYE_RLN RELATION. ! ! Define index ! DEFINE INDEX EMPLYE_IDX FOR EMPLYE_RLN DUPLICATES ARE NOT ALLOWED. BADGE_NO. END EMPLYE_IDX INDEX. ! COMMIT FINISH ! ! End Database Create. ! INVOKE DATA FILE 'FOCTST' START_TRANSACTION READ_WRITE RESERVING EMPLYE_RLN FOR SHARED WRITE STORE E IN EMPLYE_RLN USING E.BADGE_NO = "TEST01"; E.SYS_LAST_UPD_DT = "29-JUL-1988 00:00:00.00" END_STORE STORE E IN EMPLYE_RLN USING E.BADGE_NO = "TEST02"; E.SYS_LAST_UPD_DT = "30-JUL-1988 00:00:00.00" END_STORE STORE E IN EMPLYE_RLN USING E.BADGE_NO = "TEST03"; E.SYS_LAST_UPD_DT = "31-JUL-1988 00:00:00.00" END_STORE STORE E IN EMPLYE_RLN USING E.BADGE_NO = "TEST04"; E.SYS_LAST_UPD_DT = "01-AUG-1988 00:00:00.00" END_STORE COMMIT EXIT $FOCUS FILEDEF FOCTST DISK FOCTST.RDB TABLE FILE FOCTST HEADING "ALL RECORDS" PRINT BADGE_NO SYS_DT ON TABLE HOLD AS TESTFOC FORMAT DOC END TABLE FILE FOCTST HEADING "BEFORE 19890101" PRINT BADGE_NO SYS_DT IF SYS_DT LT 19890101 ON TABLE HOLD AS TESTFOC FORMAT DOC END TABLE FILE FOCTST HEADING "BEFORE 19880801" PRINT BADGE_NO SYS_DT IF SYS_DT LT 19880801 ON TABLE HOLD AS TESTFOC FORMAT DOC END TABLE FILE FOCTST HEADING "BEFORE 19880731" PRINT BADGE_NO SYS_DT IF SYS_DT LT 19880731 ON TABLE HOLD AS TESTFOC FORMAT DOC END TABLE FILE FOCTST HEADING "BEFORE 19880730" PRINT BADGE_NO SYS_DT ON TABLE HOLD AS TESTFOC FORMAT DOC IF SYS_DT LT 19880730 END FIN
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
125.1 | More info | NRPUR::CHABOT | Jerry Chabot | Fri Sep 02 1988 16:07 | 14 |
Here is the FOCTST.MAS and FOCTST.ACX files for the example given in 125.0. FILENAME=FOCTST, SUFFIX=RDB SEGNAME=EMPLYE, SEGTYPE=S0 FIELDNAME=BADGE_NO ,ALIAS= ,USAGE=A6 ,ACTUAL=A6 ,$ FIELDNAME=SYS_DT ,ALIAS= ,USAGE=I8YYMTD ,ACTUAL=A8 ,$ SEGNAME=EMPLYE, TABLENAME=EMPLYE_RLN ,$ FIELD=BADGE_NO ,ALIAS=BADGE_NO ,$ FIELD=SYS_DT ,ALIAS=SYS_LAST_UPD_DT ,$ | |||||
125.2 | NRPUR::CHABOT | Jerry Chabot | Fri Sep 02 1988 16:13 | 4 | |
My original note should have said when SYS_DT LT 19880801 that three records were found. | |||||
125.3 | Try alphanumeric | GVAADG::PERINO | Y a pas de quoi, service | Mon Sep 05 1988 03:45 | 10 |
Try this : FIELDNAME=SYS_DT ,ALIAS= ,USAGE=A8 ,ACTUAL=A8 ,$ and : IF SYS_DT LT '19880801' If you define USAGE=A16 you can also test the time '1988080122090000' for 1st Aug 1988 10:09PM - Jo�l - |