Year 2000 Statement of Compliance

RoAccess and RoLoader have been tested and verified that they are Year 2000 Compliant.

Dear RoAccess User, 

We have been asked frequently about Y2K compliance.  Below is our "Official Statement" verifying full Y2K compliance. Should you require any other information, please let us know and we will be happy to provide it.    We offer our assistance and will work with you to allow you to independently verify the Y2K compliance, if you desire. 

RoAccess is Year 2000 compliant and also has no license expiration date of any kind. 

We allow using newer versions of RoAccess with older Rochade/Autopilot and older
RoAccess with newer versions of Rochade/Autopilot.  This document address all cases.

Below are 4 sections: 

  - Date Formats: showing how dates are stored. 
  - Date Manipulation: showing how dates are manipulated. 
  - How to test the Audit Log for Y2K compliance. 
  - How to enable the Y2K option for &STAMP. 

Since you have complete source code, you can verify these statements yourself, if desired. 

RoAccess version 4.14 and later has a flag that will instruct RoAccess to use 4 digit years for &STAMP.  Older versions of Autopilot use 2 digit years, which RoAccess supports.  If you are using the newer versions of Autopilot that support 4 digit years, current RoAccess uses 4 digit years by default.

RoAccess will work with both "older" and "newer" versions of Autopilot and Rochade Repositories.  Below we describe how RoAccess accomplishes this and what settings to use.  This is of importance is you have currently elected to stay with an "older" version of Rochade or an older version of RoAccess.

If you are using "newer" Rochade/Autopilot and "newer" RoAccess, you can stop reading here.  Everything uses 4 digit years and is y2k compliant.
 

Autopilot and 4 Digit Dates

For 4 year dates, your Rochade version should be at release level 5.3.015 or above installed with AutoPilot version at release level 3.4.005 or above. Both of these products display a date from the Rochade kernel in four digit format, and pass the four digit format to the timestamp function in Rochade and AutoPilot. Although previous versions of Rochade and AutoPilot maintained two digits in the kernel and timestamp function, the date was internal only to those products. The two digits displayed in the previous versions of Rochade and AutoPilot does not affect the product's operational capabilities nor is it used in any date manipulation that would affect the user's data.
 

RoAccess Date Formats

RoAccess uses dates in 3 places: 

1) When an Item is updated/modified, the attribute &STAMP is  written to record the time/date of the modification.  It's format is: 
 

980218.002444.ROUSER  (older Autopilot)
or
19991118.002444.ROUSER (newer Autopilot)
If you are using an "older" Autopilot and the Rochade Repository server, it requires this to be a 2 digit year format, and we can match it to be compatible,  because older Autopilot will not operate correctly with a 4 digit year in &STAMP.  At the year 2000, older Rochade will revert back to "00" as the two digit year.  For compatibility with older Autopilot,  RoAccess will do the same,  by default. 

RoAccess has a configuration variable that can specify to use 2 digit years in the &STAMP attribute.

2) If you put RoAccess in 2 digit year mode, when creating a new Item, the Default DEFINITION  RoAccess generates is the same as old Autopilot's, and looks like: 
ADDED 980519.101254.ROUSER 

For years beyond 1999 it will automatically become: 

ADDED 20010519.111139.ROUSER 

Since the DEFINITION is only a text attribute, having a 4 year date will not adversely affect older Rochade.  Note: RoAccess will automatically shift the default DEFINITION to 4 digit years even if you specify to use 2 digit years.
 

3) The RoAccess Transaction Log keeps track of who made changes  to what, and when.  The log is in ASCII, and has a date in it.  A record format is like: 
C 19980505.162522.ROADM ... plus other information 

The first character, is like C for created, M for modified,  D for deleted.  The next field is a date, which always uses 4  digit years.  This Audit transaction log is already Y2K compliant. 

There are no other date usages at this time.
 

Date Manipulation

There are NO date mathematics, like subtracting dates or adding days to a date.  Rochade does not define a DATE formatted attribute, and hence no date mathematics can be performed. 

The RoAccess_history.log transaction Audit log is scanned by a RoAccess form where you can specify the starting and ending range of dates for the report.  The manipulation is of the form: 

  date > starting_date AND date < ending_date. 

Since the years in the log are 4 digits, the "less than" and "greater than" operations will continue to perform correctly beyond the year 2000. 
 

How to test the Audit Log for Y2K compliance Yourself

This transaction Audit log is completely ASCII.  Therefore you can edit this file and change a few dates to be 2000 and beyond.  You can then use the Audit report form to search using year ranges to find these records.  This will verify that years spanning 2000 are processed correctly. 

The current time and date are retrieved via the standard perl function call localtime(), which spans the year 2000. 

To test the Y2K features, first change the date on your WEB server to the year 2000 or beyond. 

Then enable history logging so you can later inspect the Audit record dates. 

Then create a new Item, and notice that the default DEFINITION will still have a 4 digit year. 

Then using RoAccess modify/update an attribute for that Item, save it and retrieve the &STAMP attribute with the current get_STAMP() routine.  This will show that 2 digit years are still being used for compatibility with Autopilot, showing the year to be: "00"    But then with the y2k_flag set (see below).  update the same Item, and you will  see the &STAMP attribute now will have 4 digit years. 

You can look at the &STAMP attribute by using the Rochade command line: 

  $GETP item_type item_name &STAMP 

or you can enable display of the &STAMP last updated date for that Item Type in AConfig.pl, and you can see the value of this data using RoAccess.  &STAMP by default does not display. 

Then delete that Item and look at the Audit transaction log with a text editor and look at the dates for when the above item was created, modified and deleted. 
 

RoLoader and Dates

RoLoader stores a date into the &STAMP value attribute each time an Item is created or changed.  It uses the same date stamp formatting procedure as RoAccess.  No date manipulation or mathematics is done.
 

How to enable 4 Digit Year Dates in Older RoAccess

This procedure, for RoAccess and RoLoader,  is only to be followed if Autopilot/Rochade Repository server uses a 4 digit year for &STAMP and you are still on an older
version of RoAccess.

If you are using an older version or RoAccess, in file common.pl, find module: get_STAMP().  There are two lines: 

    #-- uncomment for following line to make full 4 digit years 
    # local($y2k_flag) = 1 ; 

Remove the "#" sign for the second line, to make it look like: 

    local($y2k_flag) = 1 ; 

This will cause the &STAMP attribute to be written with 4 digit years. 

Caution: if you are still using "older" Autopilot and Rochade,  do not do this now, because older Autopilot will not operate properly with a 4 digit year in the &STAMP attribute.  It must continue what to use what it is expecting, 2 digit years. 

How to enable 2 Digit Year Dates in Newer RoAccess

If you are using newer RoAccess with Older Rochade, set the variable $use_2_year_dates (see AConfig.pro) to force the use of 2 digit years.

Concluding

The above tests have been performed on RoAccess and RoLoader and verified to operate correctly for Y2K and 4 year date compatibility. 

Regards, 

Dennis Simpson
RoAccess Product Manager