Resolving Y2K Problems
Definition; Why?
What to fix
- Hardware / ROM
- Operating System
- Compiler: e.g. Old COBOL compilers which gives just YY, RM/COBOL-85
- Application Software
How to fix Application Software
- Field Expansion: expand YY to YYYY
Advantages
- straightforward code changes
- minimum testing, cheaper maintenance
Disadvantages
- Change of database (files) and other application programs
- more storage required
- the year 10,000 problem!
- Century Window: interpret YY as YYYY
- Fixed Window: hard coded interpretation. For example, 60
thru 99 implies 1960 thru 1999 and 00 thru 59 implies 2000 thru 2059.
- Sliding Window: Generalized version of the fixed window
method. Subtract X from the current year (CCYY) to get the
first year in the 100-year cycle. For example, assume X is
50 and the current year is 1998. In this case, 48 thru 99
implies 1948 thru 1999. 00 thru 47 implies 2000 thru 2047.
The meanining of X is the number of past years to maintain.
When X = 99, future dates are NOT to be used.
When X = 0, past dates are NOT to be used.
Advantages
- No database (file) changes
Disadvantages
- inherently, the year range is limited (00 thru 99)
- complex to modify programs, error-prone
- increased maintenance cost
- Transformation
- YYYY to BB (binary) which can be decoded as YYYY
- YYMMDD to YYYDDD
- YYMMDD to BBBB (binary) which can be decoded as YYYYMMDD
Advantages
- No database (file) expansion
Disadvantages
- complex to modify programs, error-prone
- increased maintenance cost
- must translate whenever externalized. Can't read files
- Re-engineering