Contents:
The Year 2000 Problem
The rapid approach of the twenty-first century is a cause of concern
for all data processing shops. While the actual scope of problems
caused by the millennium rollover will vary from company to company
and even by application, the potential exposure is enormous.
The year 2000 crisis is fueled by a variety of factors:
-
Data elements containing dates have been stored in a variety of formats
that only maintain two digits for the year value, e.g. "52" instead of
"1952". The motivation for storing only the least significant two digits
of a year value was to save storage space.
A recent study
suggests that for most companies the historical savings from storing
two-digit year values are substantially greater than the
expected expenditures for year 2000 projects!
Date values containing only two-digit years cause no problems
as long as all dates are from the same century. "96" is greater
than "75", and the difference is clearly 21 years. When dates from
different centuries are mixed, simple relationships break down.
When the year 2001 is represented as "01", it will compare as
less than the year 1996 represented as "96". The difference
between the two will be -95 instead of +5. This problem is
especially pronounced for Model 204 because there
is no standard format for date values, which are typically stored
as character strings.
-
Mission critical legacy applications at the core of most businesses
have proven to be surpisingly durable and costly to replace. As a
result many applications that were scheduled to be replaced before
1999 are now expected to remain active well into the next century.
Shops that retooled for application conversions are now scrambling
to rebuild expertise in their legacy systems.
-
The quantity of data containing date values with two-digit years
is enormous and growing steadily. Significant resources will be
required to reorganize the data, converting two-digit year values
into the correct four-digit year values.
-
The deadline for year 2000 compliance is rigid. Although many
projects will no doubt spill over into the next century, all
mission critical systems must be at least year 2000 tolerant by
the end of 1999.
There are two fundamental schools of thought on how to achieve
year 2000 compliance with Model 204 applications.
One approach leaves the databases as they are, presumably with
a mixture of two-digit and four-digit year values, and confines
all changes to the application logic. The alternative champions
converting all date fields to a format that includes four digits
for each year value, and then making any required changes to the
application code.
Proponents of the first approach argue that it allows the coexistence
of unmodified old applications with the new year 2000 compliant
versions under development and that it requires fewer resources to
implement. The basis for these claims is the assumption that the
underlying databases will not require reorganization. Proponents
of the database-centric second approach maintain that while it
might require more steps, it provides a framework for managing a
a year 2000 project that is amenable to automation and that the
resulting applications and databases are more robust. In
addition the trend towards warehousing increasing amounts of
historical data argues for consistent representations of data
elements that contain dates.
The first approach employs various techniques to map the two-digit
year values contained in the databases into a contiguous 100 year
range in the full space of four-digit year values. While storing
dates with two digit year values may work in many cases, there are
a variety of common cases that will require four-digit year values
when the date values span a century boundary:
- sorting records based upon date values,
- performing a range retrieval using a date field, or
- when the values stored for a date field span more than 100 years.
Sirius believes that the database-centric approach is superior,
especially when coupled with specialized support tools. It provides
a natural framework for project management and produces robust
applications and databases, providing a solid foundation for
future applications.
Sir2000 - the Sirius Millennium
Solution
Sir2000 is a suite of add-on products for Model 204 that
addresses all aspects of the millennium problem. Sir2000 operates in
conjunction with enhancements to existing Sirius products to
dramatically reduce the resources required to achieve year 2000
compliance for Model 204 applications. Sir2000 provides
the benefits of a database-centric approach while supporting a low
risk incremental conversion effort.
Sir2000 comprises an improved method for converting two-digit
year values to four-digit year values, new and improved formats
for date values, and three separately packaged product sets.
In addition, all Sirius products are year 2000 ready and several
products have been enhanced to address specific aspects of the year
2000 problem. Sir2000 supports all popular releases of
Model 204, including Version 2.2,
Version 3.1, Version 3.2.1 and
Version 4.1.
Improved Conversion from YY to YYYY -
CENTSPAN
A date field with only two digits for the year value is capable of
representing a range of one hundred years. When we compare a pair of
two-digit year values we are accustomed to thinking of the century as
fixed, so that all dates are either "19xx" or "20xx". A date field
with two-digit year values can contain dates from two different
centuries, provided that the range of dates does not exceed 100 years.
CENTSPAN provides a mechanism for unambiguously converting dates with
two-digit year values into dates with four-digit year values. The
CENTSPAN mechanism allows two-digit year values to span two centuries
without confusion. CENTSPAN identifies the four-digit year value that
is the start of the 100 year span represented by the two-digit
year values.
CENTSPAN may be specified as an absolute unsigned four digit
value between 1753 and 9999, or it may be specified as a
relative
signed value between -100 and +100, inclusive. A relative CENTSPAN value
is dynamically converted to an effective absolute value each
time it is needed to perform a YY to YYYY conversion. The effective
CENTSPAN value is formed by adding the relative CENTSPAN to the current
four-digit year value at the time of reference.
A simple algorithm is used to convert a two-digit year value (YY) to a
four-digit year value, using a four-digit absolute or effective
CENTSPAN value (HHLL). If the two-digit year value is less than the
low-order two digits of the CENTSPAN value, then the resulting century
is one greater than the high-order two digits of the CENTSPAN value.
Otherwise the resulting century is the same as the high-order two
digits of the CENTSPAN value.
Relative CENTSPAN settings provide a powerful tool for accomodating
the gradual migration from date values with two-digit years to date
values with four-digit years. Applications can be coded with a fixed
value, for example CENTSPAN=-75, and the 100 year window of dates
slowly slides from 1922 forward. As long as there are no date values
older than 1935 for a particular field, CENTSPAN=-75 can accomodate
two-digit year values until 2010 or beyond.
New and Improved Formats for Date Values
Sirius has defined a complete set of storage formats for dates and
date/time stamps. Sirius has also extended the set of formatting options
available for displaying date values.
Sir2000 User Language Tools
The Sir2000 User Language Tools is a package of utilities designed
to aid programmers and analysts with the process of
converting Model 204 applications to correctly function
after 1999. Powerful testing facilities allow individual programmers
to freely move backwards and forwards in time without affecting the
physical consistency of any files. A sophisticated execution monitor
allows the interception of run time errors, such as when invalid
arguments are provided to date dollar functions. A well thought
out package of dollar functions assists with storing and formatting
of date and date/time values.
Sir2000 User Language Tools includes the following components:
-
APPDATE command allows individual programmers to independently
change the date and/or time returned by the various Model
204
date dollar functions. Time can be moved forwards and backwards
without confusing other users or the various auditing tools.
-
APPDATE command and related dollar function provides a facility
to trap errors within various date dollar functions, without
requiring any changes to the User Language code. Greatly simplifies
ad-hoc testing and debugging of existing applications.
-
A powerful dollar function library precisely tailored to the various
problems of storing and manipulating date and date/time values within
User Language applications. Provides improved programmer productivity
and readability of application code.
-
SirPro Model 204 editor interface with supersearch
feature
to help programmers rapidly locate and rename datefields in procedures.
-
SirLib to manage the many changes to User Language procedures.
Sir2000 Database Analysis Tools
A package of utilities designed to aid programmers, analysts,
and system managers with the process of converting Model
204
applications and files to correctly function after 1999. Includes the
following components:
-
DATESTAT utility. An automatic tool for analyzing a file and
determining the date fields. Provides detailed information about each
identified field, including the formats and distribution of date
values. Greatly simplifies the process of determining the appropriate
CENTSPAN value, if any. DATESTAT is built on top of the Fast/Unload
I/O routines.
-
SirDBA, which is the JANCAT file exploration and mapping utility
from the Janus OMNI
SQL Server, packaged as a standalone product. This provides the
ability to analyze a Model 204 file and automatically
determine its structure. SirDBA produces a relational view of a file,
after identifying record type fields, record types, and all likely
date fields.
-
Extensions to SirPro that provide integration with the catalog
maintained by the SirDBA. For example,
while viewing a SirDBA dictionary list of date fields, a single
keystroke will produce a SirPro list of procedures containing the
field name string.
Sir2000 Field Migration Facility
The Sir2000 Field Migration Facility makes it possible to
separate the process of updating date fields to contain 4-digit
years from the process of updating applications to use the 4-digit
year fields.
With the Sir2000 Field Migration Facility it is a simple matter to
populate Model 204 files with 4-digit year fields that correspond
to existing 2-digit year fields. Since both fields are stored in the
database files, applications will continue to work through 1999 with
no
modification. Furthermore, the Sir2000 Field Migration Facility
will automatically keep the 2-digit year fields in synch with
the 4-digit year fields so that any updates to either of these
fields will be reflected in their corresponding 2-digit or 4-digit
field. What this means is that applications can be converted to
use 4-digit fields in stages rather than all at once. In fact,
it is possible to only change references to the 2-digit year
fields where absolutely necessary (in SORT statements, for example).
Sir2000 Field Migration Facility simplifies the process of managing
Y2K data and code conversion and, in many cases, dramatically
reduces the amount of coding required to make applications
"Y2K compliant".
Provides the following functionality:
-
Support for RELATE processing. Includes modifications
so that the Fast/Reload correctly handles RELATEd
fields, as well as User Language and IFAM2 update DML.
-
Support for WARN, NOWARN, and CANCEL to allow,
warn, or prevent non-enhanced load modules from
accessing Model 204 files that have RELATEd fields
defined.
-
Support for CENTSPAN.
Millennium Extensions to Other Sirius
Products
- Extensions to Fast/Unload
-
Several extensions to Fast/Unload will assist with the high
volume of file maintenance expected to accompany efforts
to make Model 204 applications ready for the year 2000.
FUEL extensions. These include support for FUEL variables,
assignment statements, date manipulation and
other "# functions" (the FUEL analog of $ functions),
and ADD/CHANGE/DELETE field support.
- Extensions to Fast/Reload
-
LOAD field_old AS field_new. Provides the ability for a
field to be renamed during a Fast/Reload. This is especially
useful during a UAI/LAI reorganization, for
example to rename DOB4 to DOB. Requires the FLOD
compiler feature of Fast/Reload.
The statements here are
Year 2000 Readiness
Disclosures.
If you are purchasing or receiving any Sirius software or service
designed to detect or
correct Year 2000 processing problems in systems, products or services
(for example, Model
204) manufactured or rendered by another-
person or entity, please note that: STATEMENTS
MADE TO YOU IN THE COURSE OF THIS SALE ARE SUBJECT TO THE YEAR 2000
INFORMATION
AND DISCLOSURE ACT (Public Law 105-271, 112 Stat. 2386). IN THE CASE
OF A DISPUTE, THIS ACT MAY REDUCE YOUR LEGAL
RIGHTS REGARDING THE USE OF ANY SUCH STATEMENTS, UNLESS OTHERWISE
SPECIFIED BY
YOUR CONTRACT OR TARIFF.