Some major computer problems will begin in early 1999, growing worse in the fall of 1999. This gives us even less time to prepare.
This is from the MILLENNIUM JOURNAL (Nov. 1997), published by Data Dimensions, a y2k repair software company.
* * * * * * * *
The digit "9", used in the data singly or as a series of nines, since the beginning of data processing, has held special meanings. The meanings could be end of record, end of file, error return, cancellation, start, special discounts, missing date, or keep forever, to name a few. In some cases, the conditional nine is included in the programming language itself to have special meaning. In fact, "9" is the most frequently used element to mean transfer of logic.
During one of the early project reviews (1991), a client told a story about a new financial system that had been tested post 2000 in processing, but when 1999 was used, the system only returned error code messages! (Took 90 days to fix and retest.) The problem and its immediacy are discussed in greater detail in this article - we believe this problem is very real and urgent! Please pass this article around to your friends and colleagues. . . .
The date 12/31/99 is the last day of 1999. When the clock strikes "12" midnight on 12/31/99, computer failure should be expected if proper care is not taken before this date to resolve the two-digit date storage problem. However, computer failure can occur before 12/31/99, if you have an earlier Event Horizon.
Remember that the term, Event Horizon, refers to the last date that applications will process dates correctly. For more information on Event Horizons, see the Millennium Journal, Volume I.I.
Event Horizons can vary between Enterprises. For example, the U.S. Government's fiscal year 2000 begins on 10/1/99. This moves the 12/31/99 Event Horizon to 10/1/99. There are many factors specific to each program that can change an Event Horizon. . . .
Background on the "99" Problem
Many programmers did not think that their software would still be in use in 1999. Therefore, programmers often coded date fields with "99". Using "99" as program logic was standard practice at the time the products were created. The value "99" frequently was used to mean the following: end of record, end of file, error return, cancellation, start, keep forever, or other special commands. . . .
One of our clients, a large insurance company, uses IBM AS/400 computers. Like many AS/400 users, our client initially had System 38 and then upgraded to the AS/400 within the past five years, but has kept the original System 38 programs. In most cases, these computers use the languages, RPG and RPG III. Unfortunately, the teaching of RPG III encouraged the use of "99" as a program logic switch. As a company programming practice, programmers designated the "end of file" condition with a transaction date of "99". They have now realized that almost all of their programs will not work when they begin entering "real" transactions with an expiration date of 1999. This is a very serious situation for many AS/400 installations because this practice was very common with the System 38s. . . .
Another vulnerable area exists because of standard-language date editing, initialization, and validation rules. At the time many of these programs were written, the programs often required a number to be entered in the date field, even though a date might not be applicable. To accommodate program requirements for an entry, programmers designed programs so that users frequently enter 1/1/99 or 9/9/99 in date fields that do not have a specific date. . . .
There is yet another problem with the year, 1999. Many software programs perform year-end projections. In 1999, the computer will make projections about the year 2000. When projections are made for year 2000 in 1999, there could be complications because the year-end projections will require a date field. If your date field only allows for two-digits, then 2000 is going to be "00". With the field "00", your computer may interpret "00" as 1900. It is even possible that "00" has program logic assigned to it.
The Crash of 1999
Most information about the Y2K problem lists 12/31/99 as the typical Event Horizon. Although 12/31/99 has been widely publicized as the critical date for most systems' Event Horizon, 1/1/99 or 9/9/99 may actually be your organization's Event Horizon. Regardless of what other systems do, what will your computer do when it rolls over to the next "logical" date? . . .
This systemic failure due to "the nines" is potentially very damaging. It is no major exaggeration to say that every date processing program is potentially vulnerable to this error. And, it is almost too late to fix the problem before failure occurs. Unless immediate action is taken to address and solve the 1999 date problem, computer failure is inevitable.