******** Day 10,000 ********
The Day 10,000 Problem. The End of the World. The 5-Digit Crisis.
The Mount St Helen's Virus! Of course, these nicknames all refer to
the day that the Pick internal date turns to 5-digits: May 18th, 1995.
We have all heard warnings, rumors, even threats about how Day 10,000
will bring Pick machines to their knees. There are rumors that
documents will disappear from the system and that phantom processes
will abort. I've even heard that Day 10,000 could cause system
corruption.
The truth is that Day 10,000 is neither a virus nor a bug with the
operating system. Day 10,000 problems simply come from poor
programming techniques. Here are the most common problems:
Left-justified date dictionaries
This is the most common cause of Day 10,000 problems. A left-justified
date dictionary will cause 5-digit entries to sort incorrectly. This
can easily be resolved by right-justifying date dictionaries ("R" in
attribute 9 of the dictionary item).
Compound fields with dates
Pick Systems pleads guilty on this one. An example is in the ERRORS
file, where the item-id consists of the date concatenated with the
time. The dictionary definitions extract the date from characters 1-4,
and the time from characters 5-9. This would cause problems when the
digit turns to 5 digits. Please see note below regarding an available
patch to resolve this problem.
LOCATE with dates
If your application is using the LOCATE statement to find the sort
position in an attribute or value, you must use a right-justified
sequence expression (such as AR or DR).
Indexes with dates
Indexes treat index entries as text strings. When using indexes on
date attributes, make sure to apply a right-justified conversion to the
index entry, such as create-index journal a3(mr%5)
NOTE: AP ABS patch A89 is available from Pick Systems to resolve the
following problems within the Pick data set:
* Entries in the ERRORS file generated on or after May 18th will
appear on the report as 09/26/70.
* Jobs (phantom) entries generated on or after May 18th appear at the
end of the report.
* Other reports generated in the QA and PA accounts would sort
incorrectly.
This patch is available for all 6.1 releases.
In summary, if your application is sensitive to the above guidelines
(and if you load patch A89), Day 10,000 will pose no threat to the
integrity of the database, or to the daily operation of the system.
############################# end ##########################