Das Jahr-2000-Problem - Ursachen, Auswirkungen, Lösungsansätze -
von Frank Ruschmeyer, E-Mail: 1ruschme@exvtc.de
[Inhaltsverzeichnis]
Kapitel
1
1.1
Einleitung
In der heutigen Zeit werden Planungen und Entscheidungen sowohl im
wirtschaftlichen, als auch im privaten Bereich immer häufiger mit
EDV-Unterstützung getroffen. Nur so ist es möglich die große
Flut von Informationen in angemessener Zeit zu verarbeiten und auszuwerten.
Hinzu kommt noch die Zuverlässigkeit der Verarbeitung und die Effizienz
gegenüber manueller Datenhaltung, sowie ein Wettbewerbsvorteil in der
jeweiligen Wirtschaftsbranche. Somit verwundert es nicht, daß in vielen
Unternehmen die computergestützte Informationswirtschaft einen hohen
Stellenwert einnimmt. Vielfach besteht bereits eine Abhängigkeit der
Unternehmen von der eingesetzten EDV. Diese Abhängigkeiten sind besonders
ausgeprägt, wenn es sich bei den EDV gestützten Prozessen um
besonders kritische Prozesse handelt, deren Beeinträchtigung den
Fortbestand des Unternehmens gefährden. Ein Teil- oder Totalausfall der
computergestützten Informationswirtschaft würde ein solches
Unternehmen vor große Probleme stellen, die möglicherweise den
Konkurs bedeuten können. Auch ist zu beachten, daß es sich bei einem
Unternehmen nicht um ein in sich geschlossenes System handelt, sondern
daß unzählige Bindungen zu weiteren Unternehmen bestehen, mit denen
intensiver Datenaustausch stattfindet. Infolgedessen ist ein Unternehmen nicht
nur von der eigenen EDV-Infrastruktur abhängig, sondern auch von der
Funktionstüchtigkeit seiner Umgebung.
Der in naher Zukunft bevorstehende Jahrtausendwechsel bringt ein EDV-Problem mit
sich, daß es in dieser Form noch nicht gegeben hat. Die ersten zwei
Stellen des Jahres im Datum werden von dem uns gewohnten Wert “19”
auf “20” springen. Da viele Unternehmen für die Abwicklung
ihrer täglichen Geschäftsprozesse mit dem Datum rechnen, wird diese
Tatsache die Firmen mit EDV, sollte das Problem ignoriert werden, in eine
Situation bringen, welche die oben genannten Folgen haben kann. Das
außergewöhnliche an diesem Problem ist, daß eine
“deadline”
vorgegeben ist, die sich nicht verschieben läßt, der 01.01.2000. So
beschreibt das Jahr-2000-Problem die Abbildung von Datumsfeldern in Elementen
der EDV: Datumsfelder werden oft in sechs statt acht notwendigen Stellen
repräsentiert. Der 24. Dezember 1997 wird so als “241297”
gespeichert, wobei die 19 als Jahrhundertangabe suggeriert wird. Selbst in
unserem täglichen Sprachgebrauch sprechen wir allzu oft vom Jahr 98 und
nicht von 1998. Ein Problem ergibt sich dann, wenn ein Datum abgebildet werden
soll, daß über das Jahr 1999 hinausgeht. Für den 01. Januar
2000 würde sich für einen Wert, der in einem sechsstelligen
Datumsfeld gespeichert wird, “010100” ergeben. Die wenigsten
Programme der derzeit eingesetzten EDV besitzen Mechanismen, welche die
eindeutige Interpretation erlauben, ob es sich dabei um das Jahr 1900, um das
Jahr 2000 oder um ein sonstiges Jahr mit der Endung 00 handelt. Beim
Jahr-2000-Problem sollte man sein Augenmerk nicht nur auf die
innerbetrieblichen Probleme der Unternehmen richten, deren Software am
01.01.2000 nicht mehr korrekt arbeiten könnte, sondern vielmehr auf die
Folgewirkungen, die sich aus dem Datumswechsel ergeben. So trifft das Problem
fast jeden Menschen auf dieser Welt, da jeder einzelne von uns auch indirekt,
vielleicht sogar ohne es zu wissen, von der EDV abhängig ist. Nahezu alle
automatisierbaren Prozesse wurden in den Industriestaaten mit entsprechender
EDV von Handarbeit auf Computer oder Computerunterstützung umgestellt, um
Zeit und Geld zu sparen. Würde das Problem also unbeachtet bleiben, ist
mit einem Ausbleiben von Lieferungen, verspäteten Zahlungen oder einem
Produktionsstillstand zu rechnen, um nur einige Beispiele zu nennen. Es wird
folglich unabdingbar sein, die Datumsfelder in den Programmen in geeigneter
Form zu korrigieren, so daß mit dem Wechsel ins Jahr 2000 ein
reibungsloses Funktionieren der Software gewährleistet ist und
Schäden an Menschen und in der Wirtschaft ausbleiben.
Kapitel
2
2.1 Die
Geschichtliche Entwicklung
Als Ende der 60er, Anfang der 70er Jahre die EDV Einzug in die Wirtschaft hielt,
waren Computer, genauer gesagt die Speichermedien teuer. Dies betraf sowohl
Speicherplatz in Form von RAM, als auch Disketten-, bzw. Festplattenplatz.
Computer mit 64 Kilobyte Hauptspeicher und einer Festplatte, bzw. Magnettrommel
von einem Megabyte waren groß und fast unbezahlbar. Eingabemedien wie
Tastaturen oder Computermäuse waren noch Zukunftsmusik, weshalb man die
Lochkarte, siehe Abbildung 2.1, als Eingabemöglichkeit für Daten
nutzte. In Lochkarten wurden Löcher, die der codierten Information
entsprachen, gestanzt und mit Hilfe eines Lichtstrahles ausgelesen. Erstmals
war es möglich Routineaufgaben, wie Additionen oder Multiplikationen
automatisch und jederzeit auf Knopfdruck durch Computer ausführten zu
lassen. Diese Hollerith-Karten [1]
faßten damals auf 12 Zeilen (Kanälen) und 80 Spalten, 80 codierbare
Zeichen, was, verglichen mit den heute speicherbaren Datenmengen, sehr gering
ist. Wenn man nur einmal seinen persönlichen Datensatz, bestehend aus
Name, Vorname, Adresse, Telefon zusammen nimmt, überschreitet man diese
Grenze um ein Vielfaches. So verwundert es nicht, daß ein Datumsfeld auf
so einer Karte aus Speicherplatzgründen nicht achtstellig, also mit
vierstelliger Jahreszahl, sondern sechsstellig codiert wurde. Diese
Einschränkung war durchaus vertretbar, da man sich im 20. Jahrhundert
wähnte und das fehlende Jahrhundert “dazu” dachte.
Außerdem wäre dieser Umstand in der Zukunft sicherlich korrigierbar.
Mit der Einführung der ersten Programmiersprachen, wie FORTRAN, COBOL, BASIC,
PL/1, u.a., konnte die Hardware noch effizienter und gezielter, vor allem aber
eingabengesteuerter angesprochen werden. Diese Sprachen wurden vorwiegend im
kaufmännischen Bereich eingesetzt, um Rechenoperationen zu automatisieren.
Die Programmierer von einst blieben aber weiterhin bei dem bewähren,
(speicher-) platzsparenden Programmierstil und implementierten ihre Programme
mit zweistelliger Jahreszahl.
Mit dem technischen Fortschritt Mitte der 1970 Jahre setzte eine Miniaturisierung
der Hardware ein. Zu dieser Zeit war die Entwicklung eines Programms noch recht
kostengünstig. Die Hardware hingegen paßte sich in Ihren Kosten nur
zögerlich der Software an. Aus diesem Grund wurden die verwendeten
Datenstrukturen und Programme beibehalten und keine Änderungen
hinsichtlich des Jahrtausendwechsels durchgeführt. Viele dieser Programme,
vor allem branchenspezifische Lösungen, existieren deshalb heute noch.
Niemand hätte damals angenommen, daß die Programme bis heute im
Einsatz wären. In diesen Programmen wird in irgendeiner Form die
Datumsberechnungen zweistellig ausgeführt sein, so daß eine
Änderung des Programmcodes nötig ist. Ein Hauptaspekt dieser
Programmentwicklung von damals war, daß in den frühen Computerjahren
die Firmen spezielle Geschäftsinteressen verfolgten, wie zum Beispiel den
“Ausbau Ihres Wirtschaftszweiges”, und die Computer deshalb als
nützliches und arbeitserleichterndes Werkzeug verwandten. Mit dem Einsatz
der Computer konnte man Arbeitsabläufe optimieren und rationalisieren.
Eine Überarbeitung der bestehenden Programme, wie die Implementation von
vierstelligen Jahresfeldern hielt man für unnötig, denn die Programme
taten Ihre Pflicht und erfüllten ihren Zweck.
Abb.
2.1 Lochkarte
Als dann um 1980 herum die Personal Computer auf den Markt kamen, ging man dazu
über, Software für immer wiederkehrende Berechnungen, fest in die
Hardware zu implementieren. So entstanden Computerchips, wie das PC-BIOS
(Basic
Input
Output
System).
Neben diesem Chip war unter anderem auch eine Echtzeituhr auf der Hauptplatine
installiert, die ein Datum und eine Uhrzeit generierte, allerdings nur mit
zweistellig ausgelegter Jahreszahl. Ein Fehler, der sich zur Jahrtausendwende
als schwerwiegendes Problem darstellt, denn bis heute hat sich an der
Grundarchitektur nichts geändert. Auch wurden immer häufiger
Fernsehgeräte, Radios und digitale Uhren mit Computerchips ausgestattet,
in denen ein festes Programm abläuft. Sollte diese “in Hardware
gegossene” Software ein Datum verarbeiten müssen, kann sich unter
Umständen auch hier ein Problem ergeben, wenn das Jahr nur zweistellig
gespeichert wird.
Mitte der 80er Jahre trat eine weitere Wende in der
EDV-Entwicklung ein: Die Hardware war plötzlich auch für
Einzelanwender erschwinglich geworden. Die Software gestaltete sich aufwendiger und teurer,
nicht zuletzt deshalb, weil Speicherplatz immer billiger wurde. Man war
nicht mehr an zweistellige Jahresfelder gebunden, so daß die
Programmiersprachen der 3. Generation, wie C++, u.a., über entsprechende Optionen zur Verarbeitung von vierstelligen
Jahreszahlen verfügten. Dennoch wurde an alten Prinzipien, wie
“never touch a running system” festgehalten, so daß die alten
Programme nicht umgeschrieben oder ersetzt wurden und immer noch im Einsatz
blieben. Wiederum verzögerten andere Geschäftsinteressen in vielen
Firmen die Entscheidung dem Jahr-2000-Problem zu begegnen und eine
Re-Programmierung der Software vorzunehmen.
Erst jetzt, Mitte der 90er Jahre, wo das Jahr 2000 näher und näher
rückt, macht man sich Gedanken zu dem bevorstehenden Jahrtausendwechsel
und den damit verbundenen Problemen von Berechnungen auf Datumsbasis, sowie der
nach Datum gespeicherten Datenbankarchive. Meist wird die Zeit für viele
Unternehmen mit einem großen EDV-Pool sehr knapp werden. Dennoch ist Eile
geboten, eine Entscheidung hinsichtlich des Jahr-2000-Problems zu treffen, wenn
ein programmtechnisch reibungsloser Wechsel ins nächste Jahrtausend
gewährleistet werden soll.
2.2. Kalender
und Schaltjahrberechnung
Auf Grund der verschiedensten geschichtlichen Entwicklungen auf unserer Erde
unterscheiden sich auch die Kalendersysteme auf den einzelnen Erdteilen
voneinander. So differenziert man zwischen gregorianischem, julianischem,
hebräischem, islamischem und chinesischem Kalender. Unser heutiger
europäischer und auch der nordamerikanische Kalender, ist auf die
Ägypter und Griechen zurückzuführen. Wissenschaftler machten
damals Zeitberechnungen auf astronomischen Beobachtungen der Mondphasen und
definierten den synodischen Mond mit 29,5306 Tagen. Das Mondjahr umfaßte
dadurch 354,397 Tage. Durch Julius Caesar wurde schließlich um 46 v. Chr.
der
julianische
Kalender
eingeführt, der sich auf das tropische Sonnenjahr von 365 Tagen
stützt. Caesar legte darüber hinaus fest, daß alle 4 Jahre ein
Schalttag eingeführt wird. Somit ergibt sich ein Durchschnittsjahr mit
365,25 Tagen. Dieser Kalender war bis ins 16. Jahrhundert Standard, ging aber
auf Grund der Differenz von Mondjahr und Sonnenjahr 10 Tage vor (jedes Jahr 11
Min. und 12 Sek.), weshalb Papst Gregor XIII. um 1582 mit der Kalenderreform
einen neuen Schaltalgorithmus einführte und die Berechnung des Kalenders
um eine weitere Eigenschaft ergänzte Er errechnete, daß der
Schalttag an vollen Jahrhunderten, mit Ausnahme der durch 4 dividierbaren ,
unterbleiben sollte. Durch diese Art der Berechnung ergibt sich ein
Durchschnittsjahr mit 365,2425 Tagen. Dieser
gregorianische
Kalender
wurde allmählich eingeführt. In Deutschland etablierte sich dieser
Kalender im 17 Jahrhundert, in Griechenland beispielsweise erst 1923 !
Ein Schaltjahr berechnet sich nach Papst Gregor nach folgendem in einer fiktiven
Sprache ausgedrücktem Algorithmus:
Wenn (Jahreszahl durch 4 teilbar ist) und
((Jahreszahl durch 100 teilbar) aber
(nicht durch 400 teilbar ist)) = ganze Zahl,
dann hat der Februar 29 Tage,
sonst hat der Februar 28 Tage.
Dem jüdischen und mohamedanischen Kalender
liegt auch heute noch das Mondjahr mit 354 Tagen, 12 Monaten und 29 oder 30 Tage, zu Grunde.
Die Frage, die also entsteht ist, ob jedes Land ein Jahr-2000-Problem hat ?
Grundsätzlich : Ja ! Einige Länder trifft das Problem nur früher
als andere. Alle Länder, die EDV einsetzen, werden sich mit einem
Datumsproblem auseinandersetzen müssen. Ob es nun Jahr 2000 oder ganz
anders heißt, irgendwann wird jedes System datumsbegründet an eine
Grenze stoßen, die Änderungen am Quellcode eines Programms
unumgänglich macht.
Durch die verschiedenen Kalender ergeben sich auch verschiedene Bedeutungen für
das Datum 01.01.2000. Die folgende Übersicht soll den Zusammenhang
zwischen den verschiedenen Kalendern verdeutlichen:
- gregorian.
Kalender:
Samstag,
01. Januar 2000
- julianischer
Kalender:
Samstag,
19. Dezember 2000
- hebräischer
Kalender:
Samstag,
23. Tevet 5760
- islamischer
Kalender:
Samstag,
24 Ramadân 1420
- chinesischer
Kalender:
Wuwu
Binqzi Jimao (der 25. Tag im 11. Mondmonat)
Daraus folgt, daß das Jahr 2000 ein Schaltjahr ist, 1900 hingegen war keines.
Testet man Computersysteme auf ein Schaltjahr im Jahr 2000, in dem man einen
Datumswechsel am 28.02.2000 simuliert, werden viele Systeme mit dem 01.03.2000
antworten.
Aber auch bei Ländern, die das selbe Kalendersystem zur Grundlage haben
können Probleme entstehen. So unterscheiden sich das U.S. amerikanische
Datumsformat von dem europäischen durch eine Vertauschung von Tag und
Monat. Der 31. Dezember 99, in Kurzschreibweise 31.12.99, wird im U.S.-Format
als 12/31/99 dargestellt.
2.3. Datumsstandard
nach ISO
Die Darstellung eines Datums sollte normalerweise eindeutig sein. So sollte man
annehmen, daß die Industrienormen in dieser Sache richtungsweisend sind.
Doch leider lassen die gängigsten Normen sowohl zwei- als auch
vierstellige Datumsdarstellungen zu. Es gibt zwei Hauptnormen (und einige
Varianten davon), die vorschreiben, wie Datumsangaben repräsentiert werden
sollen:
Die
eine Norm namens ANSI X3.30 - 1985 vom
American
National Standarts Institute
gibt in ihrem Abschnitt über “Representation for Calendar Date and
Ordinal Date for Information Interchange” (Repräsentation für
Kalender- und ordinale Datumsangaben für Informationsaustausch) Auskunft
über ein einheitliches Datumsformat. Diese Norm wurde als “FIPS
4-1” der
Federal
Information Processing Standards
übernommen.
Die
andere Norm ist unter ISO 8601 - 1988-06-15 zu finden und von der
International
Standards Organization
aufgestellt. Hierin geht der Teil “Data elements and interchange formats
- Information interchange - Representation of dates and times”
(Datumselemente und Austauschformate - Informationsaustausch -
Repräsentation von Datums- und Zeitangaben) auf das Datumsformat ein.
Diese Norm wurde von der
Canadian Standards Organisation
als “CAN/CSA-Z234.5-89” übernommen.
Beide Normen stimmen darin überein, daß für gregorianische
Datumsangaben die Form JJJJMMTT (alle Stellen numerisch, ohne Trennstriche)
bevorzugt wird. Für ordinale Datumsangaben, also das julianische Format,
besteht die Form JJJJTTT, wobei TTT für den Tag des Jahres steht. Man kann
beide Formen verwenden, um sowohl mit der ANSI, als auch mit der ISO-Norm
übereinzustimmen. Die Normen differieren in der Frage, wie das Jahr
repräsentiert werden soll. Wenn eine Kürzung der Jahreszahl auf zwei
Stellen erfolgen soll, weil einige Anwendungen dies erfordern, schreibt die
ISO-Norm vor, daß die Bezeichnung “Jahr des Jahrhunderts”
hinzuzufügen ist, damit weiterhin eindeutig das Jahr interpretiert werden
kann. Diese Aussage scheint etwas irreführend zu sein, da zum einen in
keinem Programm diese zusätzliche Bezeichnung auftaucht und zum anderen
das Weglassen der Jahrhundertstellen die Ursache für das Jahr-2000-Problem
ist. Die ANSI-Norm geht nicht näher auf dieses Thema ein. Beide Normen
geben allerdings an, daß das Jahrhundert immer als das “aktuelle
Jahrhundert” gelten soll, wenn die Jahrhundertstellen nicht verwendet
werden. Das bedeutet, wenn heute “001224” verwendet wird, dann wird
als Jahrhundert “19” vorausgesetzt, was folglich dem Datum
“24. Dezember 1900” entspräche. Würde man im Jahr 2000
das Kurzdatum, zum Beispiel “991224” verwenden und als aktuelles
Jahrhundert “20” voraussetzen, dann würde dieses Datum den 24.
Dezember 2099 charakterisieren. Wenn ein Programm die Datumsangaben auf diese
Weise behandeln würde, wäre es den Normen nach korrekt, das Resultat
hingegen wäre falsch.
Kapitel
3
3.1. Software
Die Software, die auf unseren Computern läuft, ist vielfältig. So
unterscheidet man neben den verschiedenen Programmiersprachen, in denen
Software geschrieben ist, die drei große Bereiche: Systemsoftware,
Standard-Software und Individual-Software. Eine Systemsoftware, häufig
auch als Betriebssystem bezeichnet, umfaßt alle Programme, welche die
Ausführung der Benutzerprogramme, die Verteilung der Betriebsmittel auf
die einzelnen Benutzerprogramme und die Aufrechterhaltung der Betriebsart
steuern und überwachen. Anders ausgedrückt stellt das Betriebssystem
eine Schnittstelle zwischen Benutzer und Hardware dar, die es ermöglicht,
elementare Aufgaben und Funktionen auf einer Maschine auszuführen.
Typische Betriebssysteme sind DOS (
disc
operating
system)
im PC-Bereich oder UNIX auf Workstations. Als Standard-Software bezeichnet man
meist ein Programm oder ein komplettes Programmpaket, daß ein eindeutig
definiertes betriebliches Anwendungsgebiet abdeckt. Die Grundversion wird zu
einem Festpreis vertrieben. Die Anpassung an die individuellen betrieblichen
Anforderungen werden nach Aufwand berechnet. Als Beispiele lassen sich hier die
Office-Familie aus dem Hause Microsoft nennen, oder das von SAP entwickelte
R/3. Individual-Software kennzeichnet ein einzelnes Programm/Programmpaket, das
meist in Eigenentwicklung entstanden ist oder von einem Softwarehaus speziell
für dieses Unternehmen konzipiert wurde. Mit einer solchen Software wird
z.B. die Prozeßsteuerung einer Fertigungsstraße geregelt und
überwacht, die den Bedürfnissen dieser Firma optimal angepaßt
wurde.
Die
Standard-Software entwickelte sich erst Anfang der 80er Jahre, so daß in
den Firmen, die damals schon EDV gestützt arbeiteten, meist eigens
entwickelte Programme, also Individuallösungen, im Einsatz sind. Vielfach
wurde nicht mit der nötigen Weitsicht geplant und eine
Datumsinterpretation nur mit zweistelliger Jahreszahl angelegt. Auch die
Systemsoftware hat Schwierigkeiten, das Datum korrekt und unzweideutig
darzustellen. Hinzu kommt noch, daß all diese Programme in diversesten
Programmiersprachen geschrieben sind. So wurden viele Anwendungen im
kaufmännischen Bereich in COBOL geschrieben. Auch die Sprache PL/1, die
für wissenschaftliche und kommerzielle Anwendungen, aber auch zur
Systemprogrammierung eingesetzt wird, ist, wie COBOL, in den 60er Jahren
weitläufig bei der Programmierung verwendet worden. PL/1 verwendet
dieselben Datentypen wie COBOL. Weitere Beispiele wären FORTRAN, Assembler
und BASIC ! Viele Programme, die in diesen Sprachen geschrieben wurden, haben
eines gemeinsam: Eine Datumsinterpretation auf sechs Stellen, d.h. eine
zweistellige Jahreszahl.
3.1.1 Systemsoftware
Die
Systemsoftware läßt sich in weitere Bereiche unterteilen. So lassen
sich dieser Gruppe zusätzlich zum Betriebssystem, auf das in diesem
Abschnitt das Hauptaugenmerk gerichtet werden soll, noch Treiber, Bibliotheken
und andere Komponenten zuordnen. Das Betriebssystem in einem Rechner
übernimmt im allgemeinen das Datum und die Uhrzeit zunächst von der
RTC (
Real Time Clock) und schreiben diese dann,
unabhängig von den Einstellungen der RTC fort. Die RTC ist als fester
Computerchip auf jeder Hauptplatine ( motherboard oder mainboard ) vorhanden. Sie enthält
Register, die das Datum und die Uhrzeit speichern und auch beim ausgeschaltetem
Rechner über eine Batterie mit Strom versorgt werden, so daß Datum
und Uhrzeit weitergezählt werden.
Beim Anmelden an ein lokales Netzwerk ( LAN, Local Area Network) wird in den meisten Fällen die Uhrzeit und das Datum
vom Hauptrechner ( Server) übernommen. Eine
Korrektur der RTC durch das eigene Betriebssystem am Rechner (C lient) auf die Vorgabe durch den Server, erfolgt in aller Regel nicht. Es wird
allerdings spekuliert, daß zukünftige Versionen von Betriebssystemen
vom Benutzer eine Bestätigung, bzw. Korrektur bei Anomalien verlangen, die
bei gewissen Systemen insbesondere beim Übergang ins Jahr 2000 auftreten
können.
3.1.1.1 Microsoft DOS und Windows
Das auf vielen PC’s installierte Betriebssystem
DOS ist ab Version 3.3 Jahr-2000-kompatibel. DOS ließt dazu aus einem
Chip, dem BIOS ( Basic Input Output
System), beim Bootvorgang das Datum und die Uhrzeit aus. Die Befehle
time und date erlauben es dem Benutzer dann
Einfluß auf die Systemzeit, bzw. das Systemdatum zu nehmen. DOS akzeptiert
allerdings erst ein Datum, daß nach dem 01.01.1980 liegt. Dies liegt
daran, daß 1980 das Entstehungsjahr des PC’s und damit auch von DOS
ist. Die Obergrenze für einen Datumswert liegt bei DOS im Jahre 2108. Tests
haben gezeigt, daß nach Änderung des Datums, mittels des Befehls
date auf ein Datum im Jahr 2000, sowohl die Sortierung von
Dateien in einem Inhaltsverzeichnisses ( directory), als auch die Ausgabe des Datums mittels date, korrekt wiedergegeben werden. Allerdings stellt DOS das mit dem Befehl
dir aufgerufene Directory nur mit einer zweistelligen Jahreszahl
dar, sortiert es aber dennoch, was die Ordnung betrifft, in der richtigen
Reihenfolge.
Die Fensteroberfläche Windows ist eine grafische
Oberfläche, die auf DOS aufsetzt. Dies bedeutet, daß die
gängigen Windows-Versionen (3.x und 95) sich im Endeffekt des vom
darunterliegenden DOS ermittelten Datums und der Uhrzeit bedienen. Auch wenn
Windows 95 den Eindruck eines eigenständigen Betriebssystems vermitteln
mag, wird das Datum von der DOS-Version 7.0 zur Verfügung gestellt.
Die ersten Windows-Versionen, Windows 3.x und Windows
for Workgroups sind in 16bit Code geschrieben und haben in der Darstellung des
Datums ein Jahr-2000-Problem. Der Dateimanger in der Version 3.1 zeigt das Jahr
nur zweistellig an. Die Jahreszahl 2000 wird als “:0” angezeigt,
aber beim Sortieren der Dateien richtig interpretiert. Microsoft hat aus diesem
Grund ein Zusatzprogramm entwickelt, das diesen Umstand beheben soll. Dieses
“Patch” soll die implementierte Datumsroutine in Windows
umschreiben, so daß beim Jahrtausendwechsel das Jahr 2000 als
“00” richtig dargestellt wird. Ohne dieses “Patch” kann
es passieren, daß weitere Anwendungen, die auf Windows aufsetzen, das Jahr
2000 als 1900 interpretieren. Das Dateisystem dieses Windows ist allerdings
Jahr-2000-tauglich und kann wie DOS das Datum bis zum Jahr 2108 fortschreiben.
In Windows 95, daß als 32bit Applikation
verkauft wird, wurde das Jahr-2000-Problem berücksichtigt. Laut Aussage von
Microsoft kann dieses Betriebssysteme Jahreszahlen von 1980 bis 2099, das
Dateisystem jedoch bis 2108, verwalten. Hierzu muß man aber von Hand
Einstellungen an Windows vornehmen. So existiert in den Ländereinstellungen
der Systemsteuerung eine Möglichkeit, das Datumsformat auf eine
vierstellige Jahreszahl zu setzten. Mit dieser Einstellung sollte es von Seiten
Windows keine Probleme in der Darstellung des Datums geben. Windows NT geht
sogar noch einen Schritt weiter. Hier wird das Datum direkt vom CMOS-RAM
ausgelesen und in einem Zeitfenster verarbeitet. Das bedeutet, daß ab
einem gewissen Schwellenwert das Datum unterhalb dieses Wertes zum 20., oberhalb
des Wertes zum 21. Jahrhundert zugeordnet wird.
3.1.1.2 OS/2
Für das Betriebssystem OS/2 gilt im Prinzip
dasselbe wie für das Betriebssystem UNIX, daß im Abschnitt 3.1.1.4
beschrieben wird. OS/2, auf einem PC-System installiert, bezieht das Datum und
die Uhrzeit einmalig bei Booten von der RTC, die auf dem
“motherboard” installiert ist. Das Datum wird aber anders als bei
DOS in einem binären Zähler gespeichert, der sekundenweise
aktualisiert wird. Das Register ist 32bit groß und erfährt einen
Überlauf am 17. Sep. 2042. Das Filesystem arbeitet bis zum Jahr 2118
korrekt. Allerdings müssen die verschiedenen Versionen von OS/2 durch
“Patches”, Jahr-2000-kompatibel gemacht werden. Das aktuelle
“Fixpak (FP)” für Warp3 trägt die Versionsnummer 32 oder
höher. Warp4 benötigt das FP 4 oder höher. Beim OS/2 Warp Server
müssen 3 Module mit einem FP geändert werden.
3.1.1.3 Macintosh (Mac OS)
Bei Apple/Macintosh und Mac OS Computern besteht keine
Sorge beim Jahrtausendwechsel. Seit der Entwicklung von Macintosh-Rechnern wird
das Datum und die Uhrzeit, ähnlich wie in UNIX-Systemen, als ein Langwort
(32bit) gespeichert, daß die Sekunden seit dem 01.01.1904 fortschreibt.
Das Betriebssystem erfährt somit einen Überlauf am 06.02.2040 um 6:28
Uhr. In der Praxis wurde zur Darstellung mit einem Zeitfenster von 100 Jahren
gearbeitet, um eine Kompatibilität zu älteren Macintoshsystemen der
Version 6.x zu gewährleisten. Das Fenster deckt den Bereich von 1920 bis
2019 ab. Die neuesten Entwicklungstools von Macintosh arbeiten hingegen mit
einem 64bit Integerwert, der eine ungefähre Zeitspanne von 30.081 v. Chr.
bis 29.940 n. Chr. abdeckt. Das Mac OS unterstützt sowohl das
Gregorianische Datumsformat, als auch das Arabische, das Persische und das
Iranische.
Die zum Teil noch vereinzelt eingesetzten Apple
Computer, der Serien II, II+, IIe, IIc und IIs sind unterschiedlich zu
handhaben. So haben alle Modelle, bis auf den IIgs keine
hardwaremäßig eingebaute Systemuhr. Es lassen sich diese aber von
Drittherstellern nachrüsten. Alle Systeme sind dann Jahr-2000-kompatibel.
3.1.1.4 UNIX
UNIX ist ein Betriebssystem, daß von den
Entwicklern mit der nötigen Weitsicht geplant wurde. So wird UNIX meist auf
Computern mit 32bit Architektur eingesetzt. Aus diesem Grund verwaltet UNIX das
Datum in Form einer 32bit Integer Zahl. Diese Art der Datumsinterpretation nennt
man auch serielles Datum. In einer Integer-Variablen werden die Sekunden seit
dem 01.01.1970, der Geburtsstunde von UNIX, fortgeschrieben. Ein Überlauf
dieser Variablen findet am 19.01.2038 um 3:14:07 Uhr statt, denn dann ist der
maximale Wert, den diese Variable speichern kann erreicht. UNIX wird also den
Jahr-2000-Wechsel problemlos überstehen. Das Betriebssystem liefert das
Datum den System- und Anwenderprogrammen über eine Vielzahl von
API-Funktionen ( Application Programming Interface), sowie Verwalter- und Benutzerbefehle. Die
API-Schnittstelle erlaubt es, mit gezielten Befehlen das Datum und die Uhrzeit
abzufragen und/oder zu beeinflussen. So existieren einige Funktionen, die es
durch zusätzliche Parameter erlauben, zwischen zwei- und vierstelliger
Jahreszahlinterpretation sowohl in der Darstellung, als auch in der Verarbeitung
zu unterscheiden. Hier gilt es, die Systemsoftware auf eventuell falsche
Funktionsaufrufe zu überprüfen.
3.1.1.5 Sun Microsystems Solaris
Grundsätzlich sind alle Versionen ab 2.x von Sun
Solaris Jahr-2000-kompatibel. Allerdings sind für die Versionen bis 2.5.1
ein “Patch” nötig, daß von Sun für Kunden mit
Servicevertrag bereitgestellt wird. Mit Version 2.6 ist die
Jahr-2000-Kompatibilität gewährleistet. Auch Sun OS ab Version 4.1.3
ist mit einem “Patch” Jahr-2000-kompatibel.
3.1.1.6 IBM’s AIX
Das Betriebssysteme AIX von IBM ist für
verschiedene Computertypen konzipiert und deshalb auch unterschiedlich zu
handhaben, was die Jahr-2000-Kompatibilität angeht. AIX ist ein auf IBM
Computern, meist der Serie RS/6000, abgestimmter UNIX-Dialekt, der den
Jahrtausendwechsel, wie UNIX selbst, problemlos mitmacht, da das Datum in Form
von Sekunden in einer 32bit Integerzahl gespeichert wird. Von IBM sind in der
Zukunft neue Versionen von AIX geplant, die das Datum in einer 64bit Integerzahl
aufnehmen soll, wodurch sich der darstellbare Datumsbereich vervielfacht. Nach
Auskunft von IBM ist die neueste Version 4.2.1. Jahr-2000-kompatibel. Die
Versionen 4.2.0, 4.1.5, 4.1 und 3.2.5. sind durch ein “Patch”
korrigierbar. Darunterliegende Versionen sollten durch ein Update ersetzt
werden. Zu Bemerken ist noch, daß AIX in der Version 3.2.5 eine Jahreszahl
bis 2037 verarbeitet, die Version 4.1.4. ein Datum bis 2038. Alle Versionen
erkennen das Jahr 2000 als ein Schaltjahr.
3.1.1.7 HP-UX, MPE/iX, NetServer OS und RTE-A
HP-UX ist ein weiterer UNIX-Dialekt, der auf Computer
der Serien HP9000 und HP 3000 PA-RISC, sowie Intel-basierten Servern eingesetzt
wird. Die Versionen 10.01, 10.10 und 10.20 können durch ein
“Patch”, das für Vertragskunden kostenfrei zur Verfügung
steht, Jahr-2000-kompatibel gemacht werden. Kunden mit HP-UX Versionen der Serie
9.x oder niedriger, sollten ein Update auf die Version 10.x in Betracht ziehen,
so HP. Das System MPE/iX ist in der Version 5.5 Express 4 mit einem
“Patch” Jahr-2000-kompatibel. Betriebssysteme mit Versionsnummern
darunter sollten durch ein “Update” ersetzt werden. Das auf PC-Basis
entwickelte Betriebssystem NetServer OS arbeitet ähnlich wie DOS mit der
RTC, von der Datum und Uhrzeit ausgelesen werden. Das Datum wird dann allerdings
durch eine softwarebasierte Uhr fortgeschrieben, so daß diese Uhr
unabhängig von der RTC arbeitet. Die meisten Server werden beim
Jahrtausendwechsel das Datum und die Uhrzeit in der RTC automatisch korrigieren.
Für die verbleibenden Systeme, zum Beispiel HP NetServer LC (4/66, 4/100,
5/66), HP NetServer LE und LF, sind manuelle Korrekturen mittels entsprechender
Tools, oder durch Eingabe des Befehls date am DOS-Prompt nötig. Da diese Computer als Server fungieren, sollte
nach einem ReBooten des Systems nach dem 01.01.2000, darauf geachtet werden,
daß das Datum korrekt von der RTC übernommen wurde. Das
Betriebssystem RTE-A, daß für Computer der Serie HP 1000 entwickelt
wurde, ist bis auf eine Ausnahme Jahr-2000-kompatibel. In einem Editor
(Edit/1000) wird mit einem Zeitstempel gearbeitet, der durch das Format
YYMMDD:HHMM fest vorgegeben ist. Ansonsten sind das Betriebssystem und das
Dateisystem bis zum Jahr 2038 kompatibel.
3.1.1.8 Siemens Nixdorf BS2000
Das von Siemens/Nixdorf entwickelt BS2000 wird auf
Großrechnern ( mainframes) der Modellreihen C40 bis C80,
H60 bis H130 und S110 bis S130 eingesetzt. Alle diese Rechner verfügen
über eine interne, hardwareimplementierte und damit permanente RTC oder
sind mit Funkuhren ausgerüstet, die von der Atomuhr in Braunschweig
gesteuert werden. Das Betriebssystem kann das Datum korrekt bis zum Jahr 2048
darstellen und würde dann einen Überlauf erfahren. Das
“Ursprungsjahr” ist der 01. Januar 1900. Alle aktuellen Versionen
des BS2000 seit 1993 müssen nicht “gepatched” werden. Jedoch
verfügt das Betriebssystem über systemnahe Funktionen, die direkten
Einfluß auf die Datumsroutine nehmen können und somit bei eventuellen
Fehleinstellungen Probleme hervorrufen. Diese Funktionsaufrufe sind von der
BS2000 Liefermenge, bzw. Funktionsmenge abhängig.
3.1.2 Standardsoftware
Die meisten Standardanwendungen können Datum und
Uhrzeit vom Betriebssystem lesen. Nicht alle Anwendungen verwenden das Datum
jedoch in geeigneten Datumsformaten oder anderen zeitbezogenen Informationen. Es
kann also durchaus möglich sein, daß ein Betriebssystem das Datum mit
einem vierstelligem Jahr zur Verfügung stellt, das Anwendungsprogramm
jedoch nur die letzen zwei Stellen verwendet, um Berechnungen auf Datumsbasis
auszuführen. Eine andere Möglichkeit zur Datumsermittlung eines
Anwendungsprogrammes ist das Umgehen des Betriebssystems und das direkte
Auslesen des Datums aus der RTC. Meist erlaubt es auch die
Standardsoftware selbst, über entsprechende Menüs das zu verwendende
Datumsformat auszuwählen.
Eine weitere Schwierigkeit in Bezug auf das
Jahr-2000-Problem stellen Updates dar. Gerade bei Standardsoftware, finden circa
alle 3-5 Jahre Updates der Anwenderprogramme statt. Diese werden in den meisten
Fällen nicht völlig neu entwickelt, sondern basieren auf bereits
geschriebener Software, die dann um weitere Funktionen ergänzt wird. Somit
werden interne Routinen, wie die Datumsberechnung, selten neu geschrieben,
sondern einfach von der alten Version übernommen. Der Grund für diese
Vorgehensweise ist einfach: Es muß eine Abwärtskompatibilität zu
den älteren Versionen gewährleistet sein. Die implementierte
Datumskalkulation pflanzt sich also in der neuesten Version fort. Auf
älteren Systemen könnten Updates mit überarbeiteter
Datumsroutine, die eventuell eine ganz andere Hardwarearchitektur voraussetzt,
somit nicht eingesetzt werden.
3.1.2.1 Beispiel MS Office
Sind zusätzlich zur Windowsoberfläche noch
Microsoft - Produkte aus dem Office-Paket installiert, so lassen sich auch hier
Probleme bei der Datumsverarbeitung erkennen.
In der Tabellenkalkulationssoftware Excel Vers. 7.0
für MS Windows 95 haben die einzelnen Zellen spezielle Formate. Wählt
man kein besonderes Format aus, ordnet Excel 7.0 automatisch ein Format zu,
daß dem eingegebenen Wert am nächsten ist. Gibt man Datumswerte in
die Zellen ein, werden alle Jahreszahlen anstandslos akzeptiert. Jedoch werden
diese vom Programm unterschiedlich interpretiert und dargestellt. So wird, wenn
der Benutzer ein Datum mit vierstelliger Jahreszahl eingibt, bis zum 31.12.2078
der Wert als Format “Datum” interpretiert, jedoch als 31.12.78
dargestellt, was zu Verwirrungen führen kann, wenn in einer Excel-Tabelle
auch Datumswerte aus dem 20. Jahrhundert vorkommen. Ein Datum ab 01.01.2080 wird
als “Standard”, also Text gespeichert. Hat man explizit ein
Datumsformat mit zweistelligem Jahr eingestellt, verwaltet Excel 95 dieses bis
zum Jahr 2019, Excel in der Version 97 bis 2029. Es wird in den
unterschiedlichen Versionen mit verschiedenen Zeitfenstern gearbeitet. Zwar
lassen sich in den Formatierungseigenschaften der Zellen verschiedene Formate
zum Oberbegriff “Datum” auswählen, jedoch ist kein Format
TT.MM.JJJJ implementiert. Man sollte also ein benutzerdefiniertes Format
erstellen, um eine einwandfreie Darstellung und Berechnung zu
gewährleisten.
Auch an der Datenbanksoftware MS Access 95 müssen
vor dem Erstellen von Datumsfeldern Einstellungen vorgenommen werden, damit ein
Datum größer 2000 richtig interpretiert wird. Das Format
“JJ” würde tatsächlich nur bis 1999 funktionieren,
während das Format “JJJJ” Datumswerte bis 9999
zuläßt. Das Update Access 97 interpretiert einen Wert im Datumsformat
“JJ” bis 2029. Dies ist möglich, da mit einem Zeitfenster, hier
also von 1930 bis 2029, gearbeitet wird ! Untersuchungen bei Access 2.0 haben
gezeigt, daß die Datei “OLEAUT32.DLL”, also eine
Bibliotheksdatei, die mit dem MS Internet Explorer 3.0 installiert wird,
für die Interpretation der zweistelligen Jahreszahl verantwortlich ist.
Die folgende Tabelle zeigt die Office-Produkte mit
ihrer Jahresbeschränkung beim entsprechend gewähltem Datumsformat.
Produktname
|
Datumsgrenze
|
Datumsformat
|
MS Excel 95
|
2019
|
Kurzform
“JJ”
|
MS Excel 95
|
2078
|
Langform
“JJJJ”
|
MS Excel
(nächste Version)
|
2029
|
Kurzform
“JJ”
|
MS Excel
(nächste Version)
|
9999
|
Langform
“JJJJ”
|
MS Access 2.0
|
1999
|
Kurzform
“JJ”
|
MS Access 95
|
1999
|
Kurzform
“JJ”
|
MS Access 95
|
9999
|
Langform
“JJJJ”
|
MS Access
(nächste Version)
|
2029
|
Kurzform
“JJ”
|
MS Project 95
|
2049
|
Kurzform
“JJ”
|
MS Visual FoxPro
|
9999
|
Langform
“JJJJ”
|
MS Schedule+
|
2079
|
Kurz-/Langform
|
Tabelle 3.1.2.2: MS Office
Produkte und deren Datumsobergrenze (Stand: 15.10.1997)
Quelle:
http://www.microsoft.com/win32dev/guidelns/getready.htm
3.1.2.2 Beispiel Borland
In allen dBASE-Versionen, von Version III+ bis zum
gegenwärtigen Visual dBASE für Windows 5.5, sind alle Datumsfelder als
Textstring im Format “JJJJMMTT” gespeichert. In der Version III+
wurde ein neuer Befehl eingeführt, der es ermöglicht, die vierstellige
Jahresdarstellung einzuschalten. Alle Berechnungen und die Speicherung von
Datumswerten, verarbeiten die Jahreszahl richtig, unabhängig davon, ob die
Ausgabe des Jahres zweistellig erfolgt. Eine Jahreszahl ohne Jahrhundert wird
sowohl im Speicher, als auch auf der Festplatte in vierstelliger Zeichenfolge
abgelegt. Häufig wird das dBASE-Format als Im-/ und Exportformat verwendet.
Sollen Datensätze von Format X in Format Y konvertiert werden, eignet sich
dBASE auf Grund seines eindeutigen Datumsformats als
“Zwischenformat”, um die Daten korrekt auszutauschen. Diese Formate
werden häufig auch als XBase bezeichnet.
Andere Applikationen mit der selben Struktur sind FoxPro
und Clipper. Alle arbeiten seit 1983 mit
vierstelligen Jahreszahlen, so daß keine Probleme zu befürchten sind.
Ein generelles Problem ist der Datenaustausch zwischen den verschiedenen
Applikationen. Das häufig benutzte CSV-Format ( Comma Separated Value), also Datensätze in
Hochkomma mit Trennzeichen, wird von den verschiedenen Anwendungen
unterschiedlich verarbeitet. Ein Datum im Format JJJJ.MM.TT, das jedoch als
JJ.MM.TT in CSV abgespeichert wird, kann beim erneuten Import Fehler
produzieren.
3.1.1.3 Beispiel SAP R/3
Schon mit der Einführung von SAP R/3 im Jahr
1992 wurde weitsichtig an die Zukunft und den bevorstehenden Jahrtausendwechsel
gedacht und die Software mit einer vierstelligen Jahreszahlinterpretation
versehen. Alle Datenfelder, inklusive aller verwandten Datenstrukturen,
Datendefinitionen und der eingebauten Datumslogik verarbeiten vierstellige
Jahreszahlen. Darüberhinaus ist R/3 in der Lage, zweistellige Jahreszahlen
innerhalb von Daten aus Fremdsystemen, die nach R/3 importiert werden sollen,
automatisch zu identifizieren und in eine korrekte vierstellige Darstellung zu
konvertieren. Aus diesem Grund wird sich mit dieser Software kein
Jahr-2000-Problem ergeben. Da R/3 in seiner Komplexität viele
EDV-gestützte Prozesse in der Wirtschaft nachbilden kann und
Jahr-2000-Kompatibilität garantiert, erwägt eine Vielzahl von
Unternehmen mit Datumsproblemen eine Umstellung ihrer jetzigen
Anwendungssoftware auf R/3. SAP R/2 ist mit Release 5.0 auf das Jahr 2000
vorbereitet. Die benötigten Korrekturen für die
Jahr-2000-Unterstützung sind im Release 5.0H enthalten und werden bis 5.0D
herunter als separate Korrekturen in das System R/2 eingespielt.
3.1.2.4 Andere
Beispiele anderer Softwarehersteller zeigen Probleme
mit Ihren Produkten, aber auch Lösungswege, um das Jahr-2000-Problem zu
umgehen.
- In der Software Quattro Pro beispielsweise, ist der julianische Kalender auf Integerzahlen von
-36463 bis 73050 abgebildet worden, so daß dies einen Datumsraum von
01.03.1800 bis 31.12.2099 ermöglicht (Int.: 0 ó 30.12.1899).
- Die Software 1-2-3 von Lotus benutzt keine
Fenstertechnik, um das Datum abzubilden. Das Basisdatum ist 1900. Eingaben,
wie 101 sind zulässig und werden vom Programm als das Jahr 2001
interpretiert. Schwierigkeiten gibt es bei der Eingabe einer vierstelligen
Jahreszahl. In Version 4 werden Jahreszahlen im Format 2xxx vom Programm
zurückgewiesen, da nur Jahre beginnend mit einer “1”
eingegeben werden dürfen. Ferner erkennt das Programm im Jahr 2000 den
29. Februar nicht als einen Schaltjahrtag. Diese Probleme treten in der
Version 4 und darunter auf, sollen aber in Version 5 behoben sein.
- Die Anwendung Paradox sortiert
Daten im Jahr 2000 so, als wären diese aus dem Jahr 1900, da intern das
Jahr zweistellig codiert ist.
- Die Finanzsoftware Quicken kann erst mit
der neuesten Version Jahreszahlen größer 2000 verarbeiten.
Hinzu kommt noch, daß auch die neuesten
Programme immer noch alte Daten aus vergangenen Versionen problemlos einlesen
sollten. Die dafür entwickelten Importfilter müssen ein
“altes” Datumsfeld im Format TT.MM.JJ richtig interpretieren und
verarbeiten können. Auch die Tatsache, daß ältere Software
selten über entsprechende API- Funktionen (Application Program Interface) verfügen,
die es ermöglichen würde, eine Routine zu implementieren, um das
Jahr-2000-Problem zu beheben, zwingen die Programmierer zum Ersetzen der
Software oder zu einer kompletten Neuentwicklung.
3.1.3 Individualsoftware
Die dritte große Gruppe der Programme mit
Jahr-2000-Problem, ist die Individualsoftware. Sie macht, so nimmt man an, den
wahrscheinlich höchsten Anteil an fehlerbehaftetem Code aus. Diese Annahme
resultiert aus der Tatsache, daß die meisten Programme / Programmpakete
schon vor langer Zeit geschrieben wurden und heute, meist unverändert, noch
im Einsatz sind. Die damals implementierten zweistelligen Jahresfelder in einem
Datum wurden selten überarbeitet und stellen nun die Projektteams, die mit
der Korrektur der Software beauftragt wurden, vor große Probleme.
Gründe für die Schwierigkeiten sind die meist nicht vorhandene
Dokumentation zum Programm, ebenso der fehlende Quellcode, sowie die meist
ausgefallene Programmiersprache und der Stil des Programmierers. Da diese Art
der Programme speziell, sprich individuell, für ein Unternehmen geschrieben
wurden und einen ganz genau spezifizierten Geschäftsprozeß
erfüllen, erwägen viele Unternehmen, trotz der bekannten Probleme
einer Umstellung dieser Software, deren Erhalt, da Standardlösungen einen
Kompromiß darstellen würden. Speziell die Individualsoftware, die in
COBOL geschrieben wurde, zeigt einen hohen Handlungsbedarf, da diese Sprache zur
damaligen Zeit weltweit am häufigsten für die Programmierung verwendet
wurde.
3.1.3.1 Die Programmiersprache COBOL
Stellvertretend für die ca. 500 verschiedenen
Programmiersprachen, soll an Hand von COBOL verdeutlicht werden, warum
Programme, die in dieser Sprache geschrieben sind, ein Jahr-2000-Problem haben.
Der Name COBOL kommt aus dem englischen und steht
für common business oriented language, was soviel meint wie “allgemein
geschäftsorientierte Sprache” und wird kurz als eine imperative,
kommerzielle Programmiersprache beschrieben. Die Sprache wurde Ende der 50er
Jahre entwickelt und fand im kaufmännischen Bereich reges Interesse. Da es
zu dieser Zeit noch keine Tastaturen gab und man Eingaben in einen Computer mit
Hilfe von Lochkarten tätigte, haben auch COBOL-Programme eine
“lochkarten-ähnliche” Struktur. Es konnte, wie auf Lochkarten,
nur eine Anweisung in einer Zeile codiert werden unter besonderer Einhaltung von
Spaltenangaben. Die wahrscheinlich wichtigste Eigenschaft, die COBOL von anderen
Programmiersprachen unterscheidet, ist die Tatsache, daß COBOL-Programme
Dateien verarbeiten. Als Eingabedaten für ein COBOL-Programm dienen eine
oder mehrere Dateien, die im Programm verarbeitet und in eine neue Ausgabedatei
geschrieben werden. In COBOL wurde starker Wert auf die Ein-/ und
Ausgabeoperationen gelegt, die in vielen Bereichen der kaufmännischen
Datenverarbeitung eine große Rolle spielen. So bestehen eine Vielzahl von
Programmen aus einfachen Algorithmen, wie Datensätze einlesen, formatieren,
ausgeben und gegebenenfalls noch eine Berechnung durchführen.
Problemstellungen, wie Datenmanipulation, o.ä. sind in COBOL nur schwer zu
realisieren, da wichtige Informatikkonzepte, wie zum Beispiel Module und
Rekursion, fehlen.
Da der kaufmännische Bereich der wichtigste und
größte Anwender der Datenverarbeitung ist, besitzt die Sprache COBOL
nach wie vor eine zentrale Bedeutung in der Praxis. Experten neigen sogar zu
behaupten, daß die meisten auf der Welt geschrieben Programme,
COBOL-Programme sind. Auch heute noch werden in großen Banken und
Versicherungen COBOL-Programme neu geschrieben, alte Programme gewartet,
umgeschrieben und angepaßt. Zwar mag es heutzutage bessere, schnellere und
effizienter programmierbare Sprachen geben, aber das Ausmaß der Programme,
die in COBOL verfaßt sind, ist so groß, daß ein Ersetzen der
alten Programme größere Kosten, als derer Wartung verursachen
würde. Gerade zur bevorstehenden Jahrtausendwende werden
Systemprogrammierer mit COBOL-Erfahrung gesucht, die bestehende Programme
umschreiben und Jahr-2000-kompatibel machen. Der Aufbau eines COBOL-Programms
ist fest vorgegeben. So gliedert sich ein solches Programm in 4 Teile, die
sogenannten divisions, die sich dann noch weiter in
Sektionen ( sections), unterteilen lassen:
- Die Identification division beinhaltet den
Programmnamen, das Erstelldatum und ähnliches.
- Die Enviroment division enthält
Angaben zur Hardware, dem Typ des Rechners aus dem das Programm
übersetzt werden, bzw. das Zielprogramm ausgeführt werden soll.
Außerdem sind in einer Sektion die Dateien definiert, die als Ein- und
Ausgabe fungieren sollen.
- In der Data division wird vermerkt,
welche Bereiche im Hauptspeicher für das Programm benötigt werden.
Wichtig zu erwähnen ist eine Untersektion dieser division, die WORKING STORAGE SECTION. In dieser Sektion werden
die Variablen, die im Programm verwendet werden, definiert. COBOL stellt als
Datenstrukturen Felder von beschränkter Größe und Dimension,
sowie records zur Verfügung.
- Zuletzt enthält ein Programm noch die Procedure division , in welcher der eigentliche Programmcode steht.
Auch hier findet man wieder Unterteilungen in Sektionen, Paragraphen und
Sätzen.
3.1.3.2 Variablen, Datentypen und Konstanten
In vielen existierenden Programmen werden Datentypen
in Form von Konstanten, Variablen und Feldern verwendet, die durch eine nicht
vorausschauende Implementation damals, heute zu einem Interpretationsproblem von
Jahreszahlen führt. So wurde das Jahrhundert in Datumswerten, auf Grund von
Speicherplatzmangel, zweistellig programmiert. Damals ging man davon aus,
daß diese Programme das Jahr 2000 nicht überdauern würden. Man
sparte also den Speicherplatz durch Variablendefinitionen in der Form TTMMJJ .
Das folgende Beispiel in der Programmiersprache COBOL zeigt eine typische
Variablendefinition, wie sie in der WORKING
STORAGE SECTION zu finden ist:
01 datum.
10 dat-jj pic 9(02).
10 dat-mm pic 9(02).
10 dat-tt pic 9(02).
01 datum.
10 dat-jj pic 9(02).
88 jj-gueltig value 0 thru 99.
10 dat-mm pic 9(02).
88 mm-gueltig value 1 thru 12.
10 dat-tt pic 9(02).
88 tt-gueltig value 1 thru 31.
OHNE Gültigkeitsprüfung MIT
Gültigkeitsprüfung
In diesem Beispiel wird die Variable “datum” aus 3 Untervariablen gebildet, die vom Typ
“numerisch” (9) sind und aus 2 Stellen je Untervariable bestehen.
Somit kann die Variable “datum” einen
sechsstelligen Wert aufnehmen. Beim Beispiel rechts werden zusätzlich zu
den Untervariablen Boolsche Gültigkeitsvariablen definiert, welche die
spätere Prüfung der Variablen “datum” erleichtert. Alle Eingaben, die in einer solchen
Variablen “datum” eine Jahreszahl ablegen,
speichern einen zweistelligen Wert, der im Jahr 2000 die Zahl “00”
aufweist und fälschlicherweise vom System als das Jahr 1900 interpretiert
werden könnte. Im besten Fall verursacht dies einen Systemabsturz und macht
somit auf das Problem aufmerksam. Im schlimmsten Fall könnten falsche
Datumswerte gespeichert werden, was für die Zukunft gesehen einen
größeren Schaden verursacht. In Variablendefinitionen wurden die
Variablennamen, so zeigen analysierte Programme, von den Programmierern
häufig willkürlich gewählt, so daß diese nicht eindeutig an
deren Namen als Jahreszahl identifiziert werden können. Diese Tatsache
erschwert die Analyse der Programme, um sie Jahr-2000-kompatibel zu machen. Eine
Tabelle von möglichen Variablennamen ist im Anhang A1 [Seite 56] angeführt.
Ähnlich verhält sich das Problem mit
Datentypen. Wenn vom Programmierer nicht auf Standarddatentypen
zurückgegriffen, sondern eigene Typen im Programm verwendet wurden,
können diese Typdefinitionen Schuld am Absturz des Programms im Jahr 2000
sein. Ein Programmierer könnte beispielsweise die Datumsdefinition im
Deklarationsteil seines Programms wie folgt festgelegt haben:
type
JahrTyp: = {00,..,99};
MonatTyp := {01,..,12}; TagTyp := {01,..,31};
var
JahrVar := JahrTyp;
MonatVar := MonatTyp;
TagVar := TagTyp;
(Dieses Beispiel lehnt sich an keine offizielle
Programmiersprache an)
Wenn nun ein Datum aus diesen 3 Variablen z.B. in
einer Verbundvariablen ( record) definiert würde, ist
die Jahreszahl für jedes eingegebene Datum zweistellig. Einen Wert in der
Variablen “JahrVar”, der größer als 99
ist, würde vom System nicht akzeptiert werden, weil auf Grund der
Typdefinition nur Zahlen im Bereich 00 bis 99 zugelassen sind.
Der dritte “Unsicherheitsfaktor” im
Programmcode, der einen Fehler beim Jahrhundertsprung produzieren könnte,
sind Konstanten. Die Konstante ‘19’ wurde verwendet, um das Datum zu
vervollständigen, sei es in Formularen, um dem Anwender die Eingabe zu
erleichtern (es müssen nur 2 Ziffern für das Jahr ergänzt werden)
oder auch in der Speicherung von Datensätzen, um ein Datum in der
gewünschten Form TT.MM.JJJJ abzulegen.
Das Ergebnis ist jedoch in beiden Fällen das
gleiche: Die Zahl ‘19’ steht fest in einer Konstante im Programmcode
und ist im Jahr 2000 nur durch Änderungen dieser Konstanten durch den Wert
‘20’ korrigierbar, vorausgesetzt, daß diese Konstante gefunden
wird. Gravierendere Auswirkungen haben Konstanten, die das Jahr, und nicht das
Jahrhundert betreffen. Diese Art Konstanten sind nicht als implementierte
Konstanten aufzufassen, sondern als Eingaben vom Benutzer, die eine spezielle
Routine im Programm ansprechen. Es handelt sich um reservierte Werte, die eine
bestimmte Funktion ausführen. So haben die Werte ‘99’ oder
‘00’ in einigen Anwendungen die Bedeutung von : “Dieser
Datensatz kann nicht gelöscht werden” oder “Dies ist ein
Test-Konto für einen Demo-Benutzer”. Programme mit diesen
“belegten” Jahreszahlen könnten also schon am 01.01.1999
Fehlfunktionen verursachen. Andere Beispiele solcher “magischen
Zahlen” sind im Anhang A2 [Seite 56] zu finden.
3.1.3.3 Masken, Formulare, Berichte
Im vorherigen Abschnitt sind vorrangig konstante oder
auch variable Datensätze betrachtet worden, die z.B. auf
Festplattenspeichern oder in Datenbanken abgelegt werden. Diese spielen in der
Jahr-2000-Problematik zwar die primäre Rolle, dennoch sollte man die Ein-
und Ausgabeoberflächen auf Bildschirmen, sowie Druckerberichte nicht
außer Acht lassen. Seit es fensterorientierte Bildschirmmasken und
Eingabeformulare unter einer Oberfläche wie MS Windows gibt, wurden die
Möglichkeiten, Werte in den Computer einzugeben, immer bequemer. Die
Eingabe einer Jahreszahl beschränkt sich in vielen Fällen nur noch auf
2 Stellen. Das Jahrhundert wird vorgegeben, so daß nur noch das Jahr
ergänzt werden muß. Dies soll Abbildung 3.1.3.3 illustrieren.
Abbildung 3.1.3.3: Eingabemaske unter MS Windows
Das Datum kann zwar intern im Computerprogramm mit
4stelliger Jahreszahl (19JJ) gespeichert sein, während die Eingabe der
Jahreszahl vom Anwender nur zweistellig (JJ) war. Trotzdem bedarf diese
Eingabemaske einer Überarbeitung und damit einer Änderung am
Sourcecode. Dies einfache Beispiel läßt sich beliebig auf Abfragen,
Druckreporte und alle anderen Bildschirmmasken erweitern.
3.1.3.4 Sortieren und Archivieren von
Datensätzen
Als Datensätze bezeichnet man eine beliebige
Menge von Eingabewerten, die unter einem gewissen Aspekt zusammengefaßt
wurden, um beispielsweise ein Objekt zu beschreiben. So lassen sich z.B. alle
personenrelevanten Daten auf einem Personalausweis als ein Datensatz auffassen.
Aber auch nur ein Wert aus diesem Datensatz kann im Prinzip auch ein Datensatz
für sich sein.
Solche Datensätze werden auf Festspeichern, wie
Magnetbändern, Festplatten und MO Laufwerken, meist in Form von
Datenbankstrukturen gespeichert. In vielen Firmen werden diese Datensätze
über Jahre archiviert. Die Verwaltung solcher Datenarchive geschieht durch
Computerprogramme. Ein kleines Beispiel soll das Problem dieser
Datenarchivierung, aber auch der Datensortierung verdeutlichen:
Eine Firma speichert alle Ihre
Kunden mit deren Bestellungen in einer Datenbank auf einer Festplatte. Ein
Computerprogramm verwaltet dieses angelegte Datenarchiv und orientiert sich am
Erstelldatum des Datensatzes. Diese Software hat ein Unterprogramm, daß
veraltete Datensätze von der Festplatte löschen soll, wenn diese
älter als 5 Jahre sind. Alle Datensätze werden in der Firma im
Datumsformat TT.MM.JJ gespeichert. Am 01.01.2000 beginnt nun das Unterprogramm
einen gerade neu erstellten und gespeicherten Datensatz zu löschen. Dies
geschieht deshalb, weil das Programm auf Grund der zweistellig Jahreszahl den
Wert “00” als einen Datensatz aus dem Jahr 1900 und damit als
veraltet interpretiert.
Dieses Problem ergibt sich
auch bei der Datensortierung. Angenommen, eine Person läßt sich durch
ein Computerprogramm eine Liste generieren, in der immer der zuletzt eingegebene
Datensatz ganz oben erscheint. Auch in diesem Fall wird das Programm bei
zweistelliger Jahreszahl der Datensätze, am 01.01.2000 diese Daten ans Ende
der Liste schreiben, weil diese fälschlicher Weise als von 1900
interpretiert werden und das, obwohl es die aktuellsten sind.
An diesen Beispielen erkennt man, daß nicht nur
der Inhalt eines Datensatzes ein falsches Datumsformat haben kann, sondern auch
bei deren Ablage Probleme auftreten können, wenn das Erstelldatum dieses
Datensatzes in der Form TT.MM.JJ auf den Festspeicher geschrieben wird.
3.2 Systemplattformen
Unter Systemplattformen versteht man die
verschiedenen Gruppen von Computern einer bestimmten Klasse
(Hardwarekomponente). Vielfach wird auch die Systemsoftware, also das
Betriebssystem, zur Systemplattform gerechnet (Softwarekomponente). Beides
zusammen bildet eine individuelle Einheit, die selten zu Systemen einer anderen
Klasse kompatibel ist. Die primäre Betrachtung liegt allerdings meist auf
der Hardware. Mit Hardware wiederum bezeichnet man die Menge aller festen,
technischen Geräte einer Rechnenanlage. So zählt man Speicher,
Prozessor, Drucker, Ein-/Ausgabegeräte, sowie “in Chips
gegossene” Schaltungen zur Hardware. Es handelt sich also um
physikalische, materielle Teile und damit um unveränderbare Komponenten
eines Systems. Dies trifft für fast alle Bestandteile einer Rechenanlage
zu. Eine Ausnahme bildet hier z.B. das PC-BIOS, daß heutzutage
wiederbeschreibbar und damit eine nicht “unveränderbare
Komponente” ist. Ein BIOS enthält ein in Hardware implementiertes
Programm. Das Jahr-2000-Problem betrifft aber nicht nur Personal Computer,
sondern auch Großrechner ( mainframes oder hosts), midrange-Rechner und
Arbeitsplatzstationen ( workstations), die alle
verschiedene Systemplattformen darstellen.
3.2.1 Einzelarbeitsplätze
Dieser Abschnitt gliedert sich in die folgenden
Einzelplatzsysteme: Den PC (Personal Computer) und die Macintosh-Systeme.
Einzelarbeitsplätze charakterisiert, daß der Computer nicht mit
anderen Rechnern vernetzt ist und somit seine Daten selbst speichert und
verarbeitet. Diese Systeme beziehen ihr Datum und die Uhrzeit von einem fest,
auf dem “mainboard” installierten Chip, der eine Uhrzeit und ein
Datum generiert. Die Ausnahme ist eine Funkuhr in Form einer Zusatzkomponente,
welche die interne Uhr ersetzen kann, da sie die Zeit über ein Funksignal
von der Atomuhr erhält.
3.2.1.1 Personal Computer (PC)
Um 1980 wurden eine neue Computerart entwickelt, die
in einem Gehäuse alle Komponenten für ein selbständiges Arbeiten
auch ohne Netzwerk und Großrechner ermöglichte: Die PC’s ! Ein
PC enthält eine Hauptplatine mit Prozessor und Speicher, ein Bussystem, auf
das sich weitere Steckkarten ins System einbinden lassen und diverse
Anschlüsse für Peripherie. Auf der Hauptplatine, dem
“mainboard”, ist ein Computerchip integriert, der von einem Quarz
getaktet, eine Zeit generiert. Dieser Chip heißt RTC ( Real
Time Clock) und stammt aus dem Motorola Sortiment mit der Chipbezeichnung MC146818.
Ein weiterer Chip namens CMOS-RAM ( Complementary Metal
Oxide Semicoductor) speichert die
Uhrzeit und das Datum sowie Einstellungsparameter des Computers, wie zum
Beispiel Festplatten- und Speicherinformationen. Auf diese Register kann nun vom
Bootsystem des Computer zugegriffen werden. Die autonome RTC umfaßt einen
kleinen Kalender, der um Mitternacht auch das Datum entsprechend aktualisiert.
Die Register im CMOS-RAM speichern allerdings das Jahr als einen zweistelligen
Wert, so daß am Jahreswechsel nach 2000 der Wert von “99” auf
“00” zurückspringt. Zwar existiert ein Byte im CMOS-RAM, das
einen Jahrhundertwechsel signalisieren kann (“Flagbyte”), jedoch
bleibt es unberührt von den Vorgängen in der eigentlichen Uhr. Es
läßt sich nur durch direkte Manipulationen im CMOS-RAM
verändern. Eine Möglichkeit dieses Byte zu setzten, ist der Start
eines kleinen Programmes, daß in jedem PC beim Einschalten geladen wird.
Es handelt sich hierbei um das auf einem Chip integrierte
“Erstlade”-Betriebssystem, das BIOS ( Basic Input
Output System). Das BIOS ist in den meisten
Fällen ein EPROM, also ein programmier-, lösch- und
wiederbeschreibbarer Chip, mit dem sich interne Einstellungen des PC’s,
wie Speichergröße, angeschlossene Laufwerke und Datums-, sowie
Uhreinstellungen festlegen und beeinflussen lassen. Heutige PC BIOS
verfügen über erweiterte Funktionen und lassen sich noch komfortabler
konfigurieren ( Flash-BIOS). Die
programmierten Einstellungen im BIOS werden durch eine Batterie, die sich
ebenfalls auf dem “mainboard” befindet, dauerhaft gespeichert
(gepuffert). Das BIOS ermittelt beim Einschalten des PC durch Auslesen des
CMOS-RAM die Uhrzeit und das Datum. Auf diese Register wird dann vom
Betriebssystem und den Anwendungsprogrammen zugegriffen. Leider besitzen
PC’s vor 1995 ein BIOS, dem die Funktion zum Setzten des Jahrhundertbytes
fehlt. Heutige BIOS-Setups können über das Jahr 1999 hinaus datiert
werden, was das aktive Setzen des Bytes im CMOS-RAM bewirkt.
Marktforschungsuntersuchungen haben allerdings gezeigt, daß immer noch
PC’s mit einem veraltetem BIOS verkauft werden. Da sich das Betriebssystem
über BIOS-Aufrufe des Datums bedient, würde ein ungesetztes
“Flagbyte” im CMOS-RAM dem Betriebssystem ein falsches Jahr
vorgeben, vermutlich 1980, das “Geburtsjahr” des PC.
Die in vielen Computerzeitschriften propagierten
BIOS-Updates für Flash-BIOS können durch
Überspielen des BIOS-Setup den PC in die Lage versetzten, daß das
BIOS das Jahrhundertbyte automatisch setzt. Hierbei wird der Microcode des BIOS um die fehlende Funktion erweitert. Ist der PC mit
einem BIOS ausgestattet, daß sich nicht neu beschreiben läßt,
wird der PC am 01. Januar 2000 das Jahr 1980 anzeigen. Doch auch solche
älteren Systeme können problemlos ins Jahr 2000 gebracht werden.
Hierzu kann das Betriebssystem verhelfen, das durch manuelle Eingabe des
richtigen Datums durch den Benutzer, diese Aufgabe übernimmt. Häufig
wird empfohlen, das Datum manuell auf das Jahr 2000 vorzudatieren, um die
Jahr-2000-Kompatibilität zu testen. Diesen BIOS-Test sollte man nur auf
unterster Betriebssystemebene durchführen. Würde man zum Beispiel
diesen Test unter Windows machen, indem man dort das Datum vorstellt, kann es zu
Datenverlusten in den darüberliegenden Anwendungen kommen. Einige
Anwenderprogramme umgehen die Datumsroutine von Windows und greifen direkt auf
das BIOS zu. Somit kann das Datum in der Anwendung richtig dargestellt sein,
während das BIOS-Datum auf 1980 steht. Softwareprogramme, die den
BIOS-Fehler beheben sollen und für teures Geld verkauft werden, sind in
sofern nutzlos, als daß diese nur im Hintergrund geladen auf den
Jahrtausendwechsel warten, um dann das CMOS-Byte automatisch zu setzen. Jeder
Benutzer kann dies aber selbst manuell über sein Betriebssystem erledigen.
Die Abbildung 3.2.1.1 soll die 4 Ebenen in einem PC verdeutlichen.
Ebene 4: (Anwendungen) |
 |
Ebene 3: (Betriebssystem) |
Ebene 2: (Firmware) |
Ebene 1: (Hardware) |
Abb. 3.2.1.1: Die vier
datumsrelevanten Ebenen in einem PC
3.2.1.2 Macintosh-Systeme
In Macintosh-Systemen ist, wie beim PC eine RTC auf
dem “mainboard”, die durch takten eines Quarzes eine Zeit generiert.
Allerdings verfügt ein Macintosh nicht über ein BIOS, über das
der Rechner konfiguriert werden kann. Diese Aufgabe übernimmt das
Betriebssystem, welches das Datum in einem Langwort repräsentiert. Es
existiert aber ein Chip, der in seinen Registern diverse Einstellungen des
Computer sichert, so zum Beispiel das letzte Ein- und Ausschalten, Speicher und
Festplatteninformationen, andere Grundeinstellungen und das Datum, sowie die
Uhrzeit. Das Register wurde seit der Einführung von Macintosh-Computern
weitsichtig geplant und mit einer ausreichend dimensionierten Registeranzahl
für das Datum versehen.
3.2.2 Computer in Netzwerken
Hauptsächlich in Unternehmen, aber auch
vereinzelt in Privathaushalten werden Computer untereinander verbunden. Sie
bilden dann ein Netzwerk, das unterschiedlichst geartet sein kann. Die Art der
Verkabelung, deren Topologie und natürlich die eingesetzte Hardware
unterscheiden die einzelnen Netzwerke voneinander. So werden vielfach PC’s
als “workstations”, also als Endgeräte in einem Netzwerk
eingesetzt. Solche Systeme arbeiten mit einem Hauptrechner (Server) zusammen,
der als Programmlieferant dient und Speicher zur Verfügung stellt.
Über die angeschlossenen “workstations” (den Clients) kann der
Benutzer über das Netzwerk auf den Server zugreifen. Die Klienten
verfügen in aller Regel über einen eigenen Arbeits- und
Plattenspeicher, so daß eine gewisse Autonomie gewährleistet ist,
jedoch die Option des Netzwerkes zum Beispiel zu Kommunikationszwecken besteht.
Eine auf dem Server und den Clients installierte Software regelt den
Netzverkehr.
3.2.2.1 NT-Netzwerk
Ein NT-Netzwerk ist ein Computerverbund, welcher mit
Hilfe der Software Windows NT aus dem Hause Microsoft die Kommunikation zwischen
den einzelnen Stationen regelt und überwacht. Da ein solches Netzwerk auf
einer PC-Plattform eingesetzt wird, gelten im Prinzip dieselben Aussagen wie
für PC-Workstations, die in Abschnitt 3.2.1.1 beschrieben wurden. Auch bei
einem NT-Netz unterscheidet man zwischen Server und Clients. Der Server fungiert
als steuernde Einheit des gesamten Netzwerks. So liest die Netzwerksoftware des
Servers das aktuelle Datum und die Uhrzeit aus dem BIOS des Server-PC’s
aus oder bezieht seine Informationen aus einer Funkuhr, die als Zusatzkarte
installiert ist. In aller Regel gibt dann der Server die Uhrzeit- und
Datumsinformation aus Gründen der Synchronisation an die angeschlossenen
Klienten weiter, was zur Folge hat, daß die eingebaute RTC auf den
Klienten durch die Netzwerksoftware ignoriert wird. Sollte also der Server-PC
mit einem veralteten BIOS ausgestattet sein, wird der Server und damit das
gesamte Netz den Jahrtausendsprung nicht automatisch schaffen. Es
müßte am 01. Januar 2000 das Datum per Hand korrigiert werden.
Zum anderen läßt sich das Netzwerk
über diverse Tools konfigurieren. Einige dieser Tools verfügen
über Möglichkeiten, das Datum zu beeinflussen. Da einige dieser Tools,
vor allem der NT-Version 3.5 und 3.51 die Datumseingabe in einem zweistelligen
Format unterstützen, kann es zu Interpretationsproblemen kommen, weshalb
von Microsoft “Patches” angeboten werden, die diesen Umstand beheben
sollen. In Version 4.0 (mit Servicepack 3) sind keine Schwierigkeiten bekannt.
3.2.2.2 Novell-Netzwerk
Ein Novell-Netzwerk ist für die Plattformen PC
und Macintosh verfügbar und kann auf verschiedenen Betriebssystemen
eingesetzt werden. Auf beiden Plattformen steuert eine Netzwerksoftware namens
“NetWare” den Verkehr zwischen den verbundenen Rechnern. Novell hat
im Internet wichtige Anforderungen an seine Produkte formuliert, welche die
Jahr-2000-Korrektheit erfüllen müssen. So soll eine Darstellung bis
einschließlich des Jahres 2035 gewährleistet sein. Das Jahr 2000 soll
als Schaltjahr erkannt werden, die Wochentage sollen von 1980 bis 2035 korrekt
kalkuliert werden können und die Sortierung der Datensätze soll in der
chronologisch richtigen Reihenfolge geschehen. Um diese Anforderungen zu
erfüllen, sind zu Novell’s “NetWare”-Software
“Patches” verfügbar. Die aktuelle Version 4.11 ist
Jahr-2000-kompatibel. Jedoch bedürfen Produkte mit kleinerer Versionsnummer
ein solches “Patch”. Bei all zu alten Versionen rät Novell zu
einem Update auf die neueste Version. Novell selbst hat bereits 1996 angefangen,
sich mit der Jahr-2000-Problematik zu beschäftigen und geeignete
Lösungen zu finden. Es wurde recht früh herausgefunden, in welchen
Modulen, bzw. Bibliotheken Änderungen durchzuführen sind. So fand man
heraus, daß zurückgestellte Druckaufträge über das Netzwerk
mit einem Datum nach dem 31. Dezember 1999 nicht ausführbar sind. Auch die
Anzeige einer Jahresinformation über das Erstelldatum einer Datei war nur
bis zum Jahr 1999 korrekt möglich. Schwerwiegender ist ein Fehler in der
Datei “VNetWare.exe”, der unter einem OS/2 Betriebssystem beim
Übergang von 1999 nach 2000 den Server auf das Jahr 1980 zurückfallen
läßt. Bei älteren Versionen der “NetWare” kann im
Zusammenspiel mit dem PC-BIOS ein ähnlicher Fall eintreten. Meist sind es
jedoch fehlerhafte Darstellungen in der Anzeige von Jahreszahlen. Derzeit laufen
bei Novell umfangreiche Tests auf verschiedensten Plattformen und unter diversen
Betriebssystemen, die mögliche Schwächen der Softwareprodukte
aufdecken sollen. Novell ist bemüht, vor dem Jahrtausendwechsel alle
aktuellen “NetWare”-Produkte Jahr-2000-kompatibel zu haben.
3.2.1.2 UNIX basierte Systeme im Netzverbund
Das Betriebssystem UNIX enthält die
Möglichkeit, mehrere Computer in einem Netzwerk zu verwalten. Dem System
liegt dann eine Client-Server-Architektur zu Grunde. Für die Steuerung des
Netzwerkes sind in UNIX diverse Tools verfügbar. Da es UNIX in aller Regel
in verschiedenen Dialekten gibt, die auf die unterschiedlichen Plattformen
zugeschnitten und angepaßt sind, können der Umfang und die
Ausstattung der UNIX-Umgebung variieren. Die Datumsroutine auf UNIX-basierten
Systemen ist, wie schon in Abschnitt 3.1.1.4 und folgenden beschrieben, eine
32bit Integerzahl, in der die Sekunden seit 1970 hochgezählt werden.
Demnach würde sich ein Datumsproblem erst im Jahr 2038 ergeben, wenn die
Sekundenwerte im 32bit Register keinen Platz mehr finden. UNIX selbst bezieht
seine Datumsinformation von speziellen Uhren-Steckkarten, über das
Internet/Intranet oder direkt von der Hardware. Eine Steckkarte könnte ein
Funkuhrmodul sein, das die Uhrzeit direkt von der Atomuhr bezieht. Die zweite
Möglichkeit über das Internet/Intranet beschreitet einen
ähnlichen Weg. Über einen speziellen Dienst namens NTP-Demon (
Network
Transport Protokoll), der in der UNIX-Umgebung
installiert sein muß, kann eine Verbindung zu bestimmten Servern
hergestellt werden, die mit der Atomuhr gekoppelt sind und diese Information zur
Verfügung stellen. Der eigene Server fragt quasi bei dem anderen nach der
aktuellen Uhrzeit und dem Datum, um sich selbst und damit auch sein gesamtes
Netzwerk zu synchronisieren. Die dritte Alternative ist das Auslesen der auf der
Hauptplatine der jeweiligen Plattform integrierten RTC. Hierbei muß die
Hardware die Möglichkeit offen halten, eine vierstellige Jahreszahl zu
speichern oder ein Flagregister zu setzen, wenn der Jahrtausendwechsel vollzogen
wird. Von Seiten der Clients ist es nötig, daß ein Dienst
implementiert ist, der die eigene (sofern vorhandene) RTC umgeht und Uhrzeit und
Datum vom Server übernehmen. Diese Methode ist ratsam, damit die
Synchronisation gewährleistet ist, die für verschiedene Prozesse
vorausgesetzt wird.
3.2.3 Mainframes und Midrange
Diese Art der Computer werden in der Regel auch als
Großrechner bezeichnet. Sie charakterisiert, daß die Endgeräte
(Terminals) an den Arbeitsplätzen, die über ein Netzwerk mit dem
Großrechner verbunden sind, von wenig Eigenintelligenz geprägt sind.
Sie bestehen meist nur aus einem Bildschirm und einer Tastatur. Die gesamte
Kommunikation zwischen den Klienten und dem Großrechner findet in einem
Eingabe- und Ausgabedialog über das Netzwerk statt. Der Großrechner
stellt die Rechnerleistung, Speicher- und Plattenplatz, Zugang zu
Peripheriegeräten, sowie die Netzverbindung zur Verfügung. Meist
läuft auf dem Großrechner ein fest vorgegebenes Programmpaket. Von
den Klienten kann über eine Menüsteuerung ein spezielles Programm
ausgewählt werden, mit dem der Anwender dann an seinem Bildschirm arbeiten
kann. An einem Terminal kann also nicht eigenständig ohne die
Netzwerkanbindung zum Großrechner gearbeitet werden.
Die “Mainframes” R/390, RS/6000 von IBM,
sowie der “Midrange”-Recher AS/400 arbeiten mit speziellen
Betriebssystemen. Die R/390 beispielsweise arbeitet mit den Betriebssystemen
OS/390, VM, VSE und VMS. Die AS/400 nur mit dem Betriebssystem OS/400. Diese
Betriebssysteme beinhalten einen sogenannten “microcode”, der die
Schnittstelle zwischen Betriebssystem und der sehr komplexen Hardware darstellt.
Der “microcode” ist vergleichbar mit einem PC-BIOS, wenn auch
merklich vielschichtiger. Da alle diese Großrechner über fest
eingebaute Uhren verfügen, welche die Zeit unwillkürlich
weiterzählen, liegt es einzig und allein am Betriebssystem, die von der
Hardware über den “microcode” bereitgestellten
Datumsinformationen richtig zu interpretieren und darzustellen.
3.3 Datenbanken
Datenbanken sind ein Hauptbestandteil vieler
Anwendungen. Sie werden von Programmen als Speichermöglichkeit von Daten
eingesetzt. So haben sich diverse Softwarehersteller auf die Programmierung und
Verwaltung von großen Datenbanken spezialisiert. Professionelle
Datenbankhersteller, wie Oracle, Sybase, Informix oder MS SQL Server bieten
für diese Anwendungsprogramme eine Datenbankumgebung, die es erlaubt,
über diverse Schnittstellen andere, kleinere Datenbanken in einer
großen Datenbank zu verwalten. Abbildung 3.3. soll dies verdeutlichen.
Diese großen Datenbanken sind von je her schon auf die Speicherung von
vierstelligen Jahreszahlen in einem Datum ausgelegt und verfügen über
mindestens einen Variablentyp “Datum”. Der Wertebereich einer
Datenbank, die vierstellige Jahreszahlen speichert, liegt zum Beispiel bei
Sybase von 1753 bis 9999. Probleme können dennoch auftreten, wenn es darum
geht, ein Datum mit nur zweistelliger Jahreszahl als nicht konform zu erkennen,
richtig zu interpretieren und schließlich in der Datenbank zu speichern.
Da auf eine Datenbank in aller Regel nur mit einem entsprechenden
Anwendungsprogramm (auch front-end genannt) zugegriffen werden
kann, sind es gerade diese Applikationen, welche ein Datum nur sechsstellig
verarbeiten und versuchen, ein solches Feld in der Datenbank abzulegen. Die
Aufgabe der Datenbank ist es nun, in geeigneter Weise dieses Datum typgerecht
aufzubereiten, bevor es gespeichert wird. Vielfach wird in einem solchen Fall
ein Zeitfenster (siehe Abschnitt 4.2.1.) benutzt. Das bedeutet, daß um
eine Jahreszahl ein Wertebereich von 50 Jahren vor und zurück definiert
wird, um das zweistellige Jahr einem Jahrhundert zuordnen zu können.
Informix speichert die Jahreszahl in einem Datum vom
Typ “date” oder “datetime” vierstellig. Werden der
Datenbank zweistellige Werte angeboten, erlauben die Administrationstools der
Datenbank Einstellungen vorzunehmen, um auch diese Werte richtig zu
interpretieren und in der Datenbank abzulegen. Die Umgebungsvariable
“dbcentury” läßt sich mit einem Wert belegen, der
entscheidend für die Interpretation einer zweistelligen Jahreszahl ist. Es
lassen sich Werte wie past/future/closest/present” einstellen. Gibt ein
Anwender beispielsweise die Jahreszahl “02” im aktuellen Jahr 1998
unter der Einstellung “closest” ein, wird das Datum als
“2002” gespeichert, weil es näher an “2002”, als an
“1902” liegt.
Microsoft SQL Server speichert ein Datum in Form
eines 6 Byte Wertes codiert ab. Dieser Wert enthält sowohl Datum, als auch
Uhrzeit, wenn er dem speziellen Datumstyp entspricht. Um das Datum richtig zu
interpretieren, müssen wiederum die frond-ends in der Lage sein, das Datum entsprechend aufzubereiten und
in der achtstelligen Schreibweise darzustellen. Die Konvertierung des Datums
übernimmt die Datenbank.
Aus der Tatsache, daß die Anwenderprogramme die
Daten im richtigen Format zur Verfügung stellen müssen, vertreten die
Datenbankhersteller die Meinung, daß die Hersteller der Software, für
die Jahr-2000-Kompatibilität verantwortlich sind. Des weiteren setzen alle
Datenbanken auf ein Betriebssystem und auf eine Systemplattform auf, dessen
Jahr-2000-Kompatibilität ebenfalls gewährleistet sein muß. Aus
diesen Gründen geben die Datenbankhersteller keine Garantie, daß alle
Anwendungsdaten, die in der Datenbank abgelegt sind, nach dem 01. Januar 2000
richtig repräsentiert werden.
Da auch die Datenbanken weiterentwickelt werden,
existieren auch hier verschiedene Versionen, die sich in Umfang und Ausstattung
von den Vorgängerversionen unterscheiden. Ältere Versionen können
gegebenenfalls Probleme mit den Schnittstellen zu den Applikationen haben, die
nicht Jahr-2000-konform arbeiten. Leider bemühen sich die
Datenbankhersteller nicht, diese alten Schnittstellen anzupassen, sondern
verweisen auf ein Update. Allgemein wird von den Datenbankherstellern die
Auffassung vertreten, daß ein Update auf die jeweils neuste Version einer
Datenbank der sicherste Weg ist, den Jahrtausendsprung ohne Probleme zu
überstehen.
Hauptdatenbank (H)
Anwendungs-
datenbanken
(DB1), (DB2), (DB3,)
Abb. 3.3. : Datenbankmodell
mit weiteren, kleineren Anwendungsdatenbanken
3.4 Verwandte Problematiken
In diesem Abschnitt werden Systeme beschrieben, die
indirekt ein Datumsproblem haben. So soll am Beispiel von Nicht-Computersystemen
aufgezeigt werden, daß auch hier auf Grund des Datums in festcodierten
Computerchips ein Problem besteht und zum anderen Komponenten genannt werden,
die schon vor dem Jahr 2000 ein Datumsproblem bekommen werden.
3.4.1 GPS
Die Abkürzung GPS steht für global
positioning system und stellt einen Verbund aus
Satelliten im Weltraum dar, der es ermöglicht, auf jedem Standort der Welt
seine Position zu bestimmen. Das System wird vorwiegend im Schiffs- und
Luftverkehr zur Navigation und Standortbestimmung eingesetzt, ist aber
neuerdings auch in modern ausgestatteten Personenkraftwagen zu finden. Das
System besteht aus 3 Komponenten: Die Weltraumkomponente, also den Satelliten,
den Bodenstationen und den portablen Geräten, den Empfängern. Es
befinden sich circa zwei Dutzend Satelliten in sechs verschiedenen Umlaufbahnen
am Himmel, die kontinuierlich Navigationssignale auf die Erde funken. Die sechs
Überwachungsstationen mit ihren vier Hauptantennen auf der Erde steuern und
überwachen die Umlaufbahn der Satelliten, indem ständig Signale
zwischen Erde und Satelliten ausgetauscht werden. Die GPS-Empfänger haben
die Größe eines Taschenbuchs und erlauben eine genaue
Standortbestimmung durch eine Dreieckspeilung der Satelliten.
Was hat dieses System nun aber mit dem Jahr 2000 zu
tun? Das GPS-System arbeitet unter anderem mit dem Tagesdatum. Die eingesetzte
Software in den Bodenstationen arbeitet täglich mit Programmen, die 1960
erstellt wurden und zweistellige Jahreszahlen im Datum verwenden. Es müssen
also die entsprechenden Programme überarbeitet und eine vierstellige
Lösung gefunden werden, damit im Jahr 2000 das aktuelle Jahr richtig
interpretiert wird. Während es sich in den Bodenstationen um Software
handelt, die umgeschrieben werden kann, stellt sich in den Satelliten und den
Benutzerendgeräten ein Problem. Hier sind die datumverarbeitenden
Komponenten hardwarecodiert und nur durch einen Austausch der Computerchips,
sofern dies möglich ist, kompatibel zu machen. Gerade die im Orbit
befindlichen Satelliten lassen sich nicht so ohne weiteres erreichen, um die
Chips auszutauschen.
Eine zweite Frage ist, warum das Datum in den
Receivern ein Problem ist ? Das Datum ist als serielles Datum, also im
julianischen Format, in einem 10bit Register in Form von Sekunden seit dem 06.
Januar 1980 gespeichert und wird seit dem kontinuierlich fortgeschrieben. Dies
entspricht einem Anfangswert von 2,444,244.500 (julianisierte Form). Das Problem
dieser Speicherung liegt in dem maximal speicherbaren Wert. Dieser liegt bei
exakt 1024 Wochen. Rechnerisch hieße dies (2,444,244.5 + 7168) =
2,451,412.5 . Dies bedeutet, daß Receiver mit Basisdatum 1980 am 22.
August 1999, also 132 Tage vor dem Jahr 2000, einen Überlauf des Registers
haben und bei Null, sprich dem 06. Januar 1980 wieder zu zählen anfangen.
Die Folge könnte eine falsche Standortbestimmung auf Grund eines
inkorrekten Datums sein. Moderne Endgeräte speichern neben dem Basisdatum
das aktuelle Datum des letzten Kontakts mit den Satelliten und führen ihre
Berechnungen mit diesem ermittelten Datum aus. Jedoch gibt es noch viele
Modelle, die mit dem Basisdatum 1980 rechnen. Hier ist das Problem nur durch
einen Austausch der PROMS ( programmable read
only memories), die teils gesockelt, teils fest verlötet sind, zu
bewerkstelligen. Andere Receiver erlauben, das Datum durch einen
“Reset” zu manipulieren. Diese Möglichkeit wurde in der
Vergangenheit schon des öfteren angewendet, um Sekunden, die auf Grund von
Gangungenauigkeiten auftraten, zu überspringen.
Die technische Umsetzung zur Lösung des Problems
ist einfach, jedoch wird die logistische Koordinierung einigen Aufwand
verursachen. GPS-Besitzer sollten sich an den Hersteller ihres Receivers wenden
und dort erfragen, ob das Gerät den Datumsüberlauf mit macht, denn
testen läßt sich dies nicht ohne weiteres.
3.4.2 Techn. Geräte mit Datumsfunktionen
Nicht nur Computer und die darauf installierte
Software haben ein Jahr-2000-Problem. Viele technische Geräte unseres
täglichen Lebens arbeiten mit Computerchips in denen ein fest eingebautes
Programm immer und immer wieder abläuft. Gemeint sind hier
Fernsehgeräte, Videorecorder, Waschmaschinen, Klimaanlagen, Mikrowellen,
Fahrstühle und Sicherheitssysteme, um nur einige Beispiele zu nennen.
Einige dieser Chips haben eine eingebaute Uhr mit Datumsfunktion, um spezielle
Aufgaben zu erfüllen. So lassen sich Videorecorder auf ein zukünftiges
Datum programmieren, um eine Fernsehsendung aufzuzeichnen. Ebenso verfügen
moderne Sicherheitssysteme und Fahrstühle über eine Datumsfunktion,
die es erlauben, den Zutritt zu einem Gebäude zu gewähren bzw. nur an
Werktagen zu funktionieren. Eine fehlerhafte Implementation solcher Datums- und
Uhrenchips kann am 01. Januar 2000 fatale Folgen haben. Sollte die Jahreszahl in
diesen Chips zweistellig implementiert sein, so würden einige Geräte
annehmen, daß es sich bei dem Wert “00” um das Jahr 1900
handelt. Denkbar wäre, daß ein Geschäftshaus mit automatischem
Türmechanismus, der datumsgesteuert arbeitet, am Sonnabend, den 01.01.2000
um 8 Uhr die Türen öffnet, da fälschlich angenommen wird, es
handele sich um den 01.01.1900, einem Montag. Eine mißglückte
Videoaufzeichnung mag dagegen noch zu verschmerzen sein. Aber auch in unseren
Verkehrsmitteln, wie Autos und Flugzeugen tickt eine Uhr. Einige Flugunternehmen
stellen bereits Überlegungen an, zum Jahrtausendwechsel den Flugverkehr
kurzfristig zu unterbrechen, um festzustellen, ob die Flugzeuge mit der
Datumsumstellung ein Problem haben werden.
Die führenden Vertreiber von Kreditkarten VISA
und Euro/Mastercard hatten Schwierigkeiten mit der Akzeptanz von Karten, die
eine Gültigkeit bis ins Jahr 2000 haben. Solche Karten werden seit Oktober
1997 an Kunden ausgeliefert. So wurden im Vorfeld umfangreiche Tests mit 200.000
Karten durchgeführt. Im Jahr 1996 lag die Erkennungsquote bei 98%, Ende
1997 bei 99,9%. Die Ursachen für das Zurückweisen einer Karte sind in
älteren Lesegeräten zu suchen, die tatsächlich ein
Jahr-2000-Problem haben. Diese Geräte sollen mittlerweile ausgetauscht
worden sein. Nach Aussagen der Hersteller wurde bereits 1994 in einem 3 Jahre
Projekt mit der Umstellung begonnen. Vertragspartner wurden angewiesen, ihrer
Geräte bis zu einem bestimmten Datum umzustellen, anderenfalls würden
Strafen verhängt werden.
Ein noch größeres Augenmerk sollte auf
alle Systeme gerichtet werden, die menschliches Leben erhalten und
schützen. Fehler in medizinischen Geräten, wie sie in
Krankenhäusern zur Überwachung der Patienten eingesetzt werden,
müssen ausgeschlossen werden. Aber auch die sensiblen Prozesse eines
Atomkraftwerks oder die Steueranlagen von Nuklearraketen müssen den
Jahrtausendwechsel problemlos überstehen. Meist ist diese Elektronik von
spezialisierten Firmen hergestellt worden, die mit ihren Gerätschaften
keiner einheitlichen Norm folgen. Es muß also generell sichergestellt
sein, daß auch ältere Geräte mit dem Datum entsprechend sensibel
umgehen und im Jahr 2000 keine Fehlfunktion haben, die Menschenleben
gefährden.
Kapitel 4
4.1 Strategien und Lösungsansätze
Während Privatanwender mit
verhältnismäßig geringem Aufwand eine Kompatibilität Ihrer
Hard- und Software erreichen können, hängt im wirtschaftlichen Bereich
die Jahr-2000-Umstellung von weit aus mehr Faktoren ab, weshalb sich speziell in
diesem Sektor ein größerer Handlungsbedarf ergibt. Für die im
vorherigem Kapitel beschriebenen Probleme und Ursachen des Jahr-2000-Problems
sollen deshalb in diesem Kapitel Lösungsansätze und Strategien zur
Lösungsfindung für die Geschäftswelt aufgezeigt werden.
Das Jahr-2000-Problem hat ein paar Besonderheiten,
die es von anderen Problemen grundsätzlich unterscheidet. Das Problem
läßt sich auf gar keinen Fall verschieben. Die deadline liegt beim 01.01.2000 ! In Betrieben mit EDV, wird man das
Problem nicht ignorieren können, da der Verzicht einer Umstellung
Umsatzeinbußen, bis hin zur Existenzgefährdung nach sich ziehen kann.
Da sehr viele Wirtschaftsunternehmen ein Jahr-2000-Problem haben werden, kann es
zu einer Ressourcenknappheit kommen, nicht zuletzt deshalb, weil die Umstellung
parallel zum Tagesgeschäft erledigt werden muß. Die Firmen, die eine
Umstellung ihrer EDV vornehmen müssen, haben einen hohen Aufwand zu
betreiben, da sämtliche EDV auf Kompatibilität geprüft werden
muß und besonders die Testphasen sehr zeit- und kostenintensiv sind.
Allerdings bedarf es der eigentlichen Umstellung eines relativ geringen
Fach-know-hows. Diese Tatsache erlaubt die Überlegung einer Auslagerung von
Umstellungsarbeiten in Niedriglohnländer, um Zeit und Geld zu sparen.
Generell sollte geklärt werden, ob Teile der Umstellung durch
professionelle Anbieter durchgeführt werden sollten. Zumindest der Einsatz
von Hilfsmitteln in Form von Softwaretools ist für mittlere und
größere Unternehmen ratsam. Auch das Firmenmanagement wird beim
Jahr-2000-Problem besonders gefordert sein, denn nur eine durchdachte
Projektplanung, -koordinierung und -verfolgung garantieren eine erfolgreiche
Umstellung. Aus dem Jahr-2000-Problem läßt sich ein Zusatznutzen
ziehen, nämlich der Lerneffekt und die Erfahrung für weitere,
zukünftige Umstellungsprozesse, wie den EURO !
Grundsätzlich sollte also jedes Unternehmen
prüfen, ob im eigenen Betrieb ein Jahr-2000-Problem vorliegt. Dies erreicht
man durch eine gründliche Analyse der EDV-Infrastruktur. Die Art und
Ausgestaltung einzelner Maßnahmen, sowie die Entscheidung für eine
bestimmte Strategie, hängen zum einen davon ab, in welchem Zustand sich die
EDV-Struktur im Moment befindet (Ist-Zustand) und zum anderen welche Ziele ein
Unternehmen mit dem Jahr-2000-Projekt verfolgt (Soll-Zustand). Eine Ausnahme
bilden in diesem Zusammenhang diejenigen Unternehmen, deren EDV in allen
eingesetzten Programmen bereits vierstellige Jahreszahlen verarbeiten oder von
Anfang an vierziffrig ausgelegt waren. Gemeint sind hierbei Firmen, die das
Jahr-2000-Problem rechtzeitig erkannt und aus diesem Grund Ihre EDV
frühzeitig mit der entsprechenden Weitsicht geplant oder verändert
haben. Es besteht also prinzipiell kein direkter Handlungsbedarf. Dennoch
sollten diese Betriebe umfassend prüfen, ob wirkliche alle Hard- und
Softwarekomponenten kompatibel sind.. Eine große Gefahr besteht z.B. im
Datenaustausch, EDI ( “Electronic Data
Interchage”), mit anderen Unternehmen, die ein anderes, inkompatibles
Datumsformat verarbeiten.
In den meisten Fällen jedoch haben die
Unternehmen ein Jahr-2000-Problem. Die Ursachen sind meist in der seit
Jahrzehnten im Einsatz befindlichen Software zu suchen, die nur ein
zweistelliges Jahresformat unterstützen. Vielfach sind aber auch ganz
andere Gründe für die jetzt auftretende Problematik verantwortlich, so
z.B. die Tatsache, daß über die Jahre andere Geschäftsinteressen
verfolgt wurden, die eine Aktualisierung der EDV verhinderten. Ebenso denkbar
ist, daß viele Unternehmen erst einmal abwarten und auf eine
Universallösung aus den U.S.A. hoffen, die in der Jahr-2000-Thematik eine
Art Vorreiterstellung einnehmen. Solch eine “Silver Bullet” wird es
nicht geben, so daß Eigeninitiative gefordert ist. Um also eine geeignete
Lösungsstrategie zu finden, sollte das Unternehmen seine eigenen
Zielsetzungen definieren. Mögliche Ziele bei einer Jahr-2000-Umstellung
können sein:
- Das Jahr-2000-Problem soll nur für die kritischen
Prozesse im Unternehmen gelöst werden, welche den Fortbestand des
Unternehmens gefährden.
- Das Jahr-2000-Problem soll vollständig gelöst
werden, d.h. es soll ein Zustand erreicht werden, der genau dieselbe
Funktionalität betrieblicher Prozesse gewährleistet, wie vor dem
Auftreten des Jahr-2000-Problems.
- Das Jahr-2000-Problem soll vollständig gelöst
werden. Darüber hinaus sollen weitere, langfristige Verbesserungen der
EDV-Struktur vorgenommen werden.
Unabhängig der Zielsetzung, die angestrebt wird,
ist die Vorgehensweise prinzipiell dieselbe. Die einzelnen Arbeitsphasen lassen
sich grob in 3 Punkten zusammenfassen:
1. Analyse, 2. Umstellung, 3.
Test
Um eine Vorstellung über den Arbeitsaufwand
dieser 3 Phasen zu bekommen, stellt Abbildung 4.1 den prozentualen Anteil der
einzelnen Phasen dar.
Abb. 4.1 Aufwandsarten in Umstellunsprojekten
4.1.1. Vorarbeiten für ein
Jahr-2000-Projekt.
Bevor mit dem ersten Schritt, der Analyse, begonnen
werden kann, sollte die Jahr-2000-Umstellung in Form eines Projekts formuliert
werden. Hierzu ist es dringend notwendig, beim Firmenmanagement die
Notwendigkeit einer Umstellung deutlich zu machen. Es muß in der
Managementebene das nötige Bewußtsein geschaffen werden, daß im
schlimmsten Fall die Firmenexistenz auf dem Spiel steht. Ferner sollte das
Management den Jahr-2000-Teams eine gewisse Rückendeckung geben. Im Vorwege
sollte deshalb detailliert geplant werden, wie die Umstellung vorzogen werden
soll, denn das Jahr-2000-Projekt kann unter Umständen über die
Hälfte der Ressourcen einer Firma beanspruchen. Außerdem muß
das Problem während des laufenden Firmengeschäfts parallel
bewältigt werden.
Tabelle 4.1.1: Beispiel-Planungsübersicht eines Jahr-2000-Projekts
Das Projekt sollte folgende wichtige Punkte umfassen:
- Grobübersicht über die EDV-Infrastruktur erstellen.
- Einschätzen der Ist-Situation.
- Beschreibung des Umstellungsprozesses.
- Zeitplan für die gesamte Laufzeit des Projekts, inklusive
wichtiger Meilensteine.
- Budgetplanung
- Ressourcenverteilung, Anschaffungen neuer Ressourcen,
Personalerweiterungen.
- Outsourcing-Strategie (wenn angestrebt)
- Erörtern der Ziele, die nach der Umstellung erreicht werden
sollen.
- Einsatzstrategie der konvertierten Software nach Fertigstellung
- Test-Strategie.
Nach Abschluß dieser Projekt-Planungs-Phase,
die eindeutig auf Managementebene, jedoch mit Hilfe der Jahr-2000-Projektteams,
geschehen muß, können die Umstellungsverantwortlichen mit der
eigentlichen Arbeit beginnen. Jedoch sollte auch während der
Umstellungsphase das Management aktiv, in Form von “überwachender
Tätigkeit” immer den Verlauf des Projekts verfolgen und sich dabei
strikt an den Zeitplan halten, um gegebenenfalls bei Zeitüberschreitungen
eingreifen zu können und Gegenmaßnahmen einzuleiten. Ein Beispiel
eines solchen Projektplans wird in Abbildung 4.1.1 dargestellt.
4.1.2 Die EDV-Bestandsaufnahme
Bei der Bestandsaufnahme der EDV sollte jedes
Programm, das in der Firma existiert, auf seine Wichtigkeit und seinen Nutzen
untersucht werden. Schon eine gründliche Ermittlung der derzeit verwendeten
Software kann den eigentlichen Handlungsbedarf deutlich verkürzen. So
werden mit großer Wahrscheinlichkeit “Programmleichen”
entdeckt werden, die zum heutigen Zeitpunkt gar nicht mehr im Einsatz sind.
Gemeint sind hierbei alte Programmversionen, die längst durch ein
“update” erneuert sind und Programme, die durch Neuanschaffungen
ersetzt, jedoch auf Grund von mangelnder EDV-Pflege nie aussortiert und
gelöscht wurden. Ferner sollte ermittelt werden, ob und bei wie vielen
Mitarbeitern jedes einzelne Programm in Gebrauch ist. Hierbei könnte sich
herausstellen, daß einer von 300 Mitarbeitern einziger Programmnutzer ist
und dieses eventuell auch nur einmal im Jahr einsetzt. Ein solches Programm ist
sicherlich entbehrlich oder ersetzbar. Jedoch spätestens nach
Abschluß der Bestandsaufnahme sollte entschieden werden, auf welche Weise
die Umstellung der EDV erfolgen soll. Denkbar wäre ein Ersetzen der
gesamten Programme oder Teilen davon durch Standardsoftware. Die Alternative ist
das Konvertieren der Software. Diese Methode wird dann bevorzugt, wenn die
Individalsoftware so sehr auf das Unternehmen zugeschnitten ist, daß ein
Ersetzten dieser Programme einen unbefriedigenden Kompromiß darstellen
würde. Hierzu sollte in dieser Projektphase ermittelt werden, in welchen
Programmiersprachen die Software geschrieben ist und ob Dokumentationen zu den
Programmen existieren. Wählt man allerdings den Weg der Standardsoftware,
so hat dies den Vorteil, daß vom Erfahrungsschatz der großen
Softwarehäuser profitiert werden kann, deren Produkte meist schon
Jahr-2000-kompatibel sind. Die möglichen Entscheidungen sollten das
Management und die Projekteams gemeinsam treffen.
Im weiteren wird der Fall betrachtet, daß die
Unternehmenssoftware konvertiert werden soll, um eine
Jahr-2000-Kompatibilität zu erlangen.
4.1.3 Einteilen von Subsystemen
Es ist oft schwierig, das Jahr-2000-Problem als
ganzes zu analysieren und zu bewerten. Bei großen und mittelständigen
Unternehmen ist es daher ratsam, die einzelnen Programme, die umgestellt werden
müssen, in weniger komplexe Untersuchungsbereiche, bzw.
Funktionsblöcke, sogenannte Subsysteme, zu gliedern. Diese Gliederung
sollte individuell und nach optimalen Kriterien der Firma angepaßt sein.
Mögliche Kriterien der Funktionseinheiten können sein: Vertrieb,
Einkauf, etc., aber auch Gruppen von Programmen, die einer Sprache
angehören oder die einen bestimmten Geschäftsprozeß
verwirklichen. Die einzelnen Subsysteme werden so überschaubarer und helfen
bei der Definition eines Pilotprojekt, das im nächsten Abschnitt
beschrieben wird. Die Projektteams sollten in dieser Phase den Subsystemen
Prioritäten zuordnen, da einige computergestütze
Geschäftsprozesse eine wichtigere Bedeutung haben, als anderen. Diese
Zuordnung hängt ebenfalls stark von den individuellen Gegebenheiten des
Unternehmens ab. Die Bildung von Prioritäten entspricht jedoch weitgehend
der Bedeutung der Subsysteme für die Unterstützung, bzw.
Aufrechterhaltung des Geschäftszwecks eines Unternehmens. So hat zum
Beispiel ein computergestützes Logistikzentrum für eine Spedition eine
höhere Bedeutung, als für einen Industriebetrieb, da die Kernkompetenz
des Speditionsunternehmers in der Logistik liegt. Der Industriebetrieb kann die
Distribution seiner Produkte in der Regel ohne große Probleme für
kurze Zeit an Fremdfirmen vergeben, sofern dies nicht ohnehin schon der Fall
ist.
4.1.4 Bildung eines Pilotprojekts und
Impact-Analyse
Da in vielen Fällen die EDV-Infrastruktur eines
Unternehmens sehr komplex ist, sollte man ein Pilotprojekt definieren, in dem
erst einmal ein kleiner Teil des Gesamtsystems untersucht, konvertiert und
getestet wird. Das Unternehmen sollte in dieser Projektphase überlegen,
eventuell vorhandene Großrechnerprogramme, wenn möglich, auf eine
PC-Umgebung zu portieren. Dieses downsizing hat den Vorteil,
daß die Programmkomponenten komplett aus dem laufenden
Großrechnerbetrieb entkoppelt werden und in dieser Umgebung leichter
analysierbar sind. Ein weiterer Grund ist die Verfügbarkeit von
Analysetools externer Anbieter in diesem Sektor. Für das Pilotprojekt
bietet es sich an, ein vorher definiertes Subsystem mit geringer Priorität
zu verwenden. Um einen möglichst hohen Erfahrungswert aus dem Pilotprojekt
zu gewinnen, sollte das Subsystem aus mehreren Modulen bestehen. Es lassen sich
hierbei sowohl die Wechselwirkungen der einzelnen Module untereinander, als auch
das gesamte Verhalten des Subsystems vor, während und nach der Umstellung
beobachten. Mögliche Fehlerquellen lassen sich schneller aufspüren und
helfen, diese bei Umstellung der verbleibenden Software zu vermeiden. Im Rahmen
des Pilotprojekts wird mit Hilfe der Impact-Analyse der Programmcode untersucht. Der Begriff Impact-Analyse wäre am Besten mit Wirkungs- oder Konsequenzen-Analyse
zu übersetzten. Diese Form der Analyse untersucht also jede einzelne
Programmzeile auf Stellen, die Datumsfelder enthält, bzw. verarbeitet. Eine
erste Entscheidung sollte bezüglich des Einsatzes von Analyse-Tools
getroffen werden. Diese können den Zeitaufwand extrem verkürzen.
Allerdings sollte man sich darüber im Klaren sein, daß auch das beste
Tool nie alle Programmstellen finden wird. Gründe für das Scheitern
dieser Tools sind zum einen die Namengebung der Variablen und Felder, die vom
Programmierer willkürlich gewählt sein können, zum anderen,
daß diese Tools kaum Programmlogik erkennen und verfolgen können.
Zwei einfache Beispiele sollen dies verdeutlichen:
...
...
if ( datum ==
‘99’)
then wert :=
datum
else zahl :=
datum
endif;
...
...
x , y : integer;
new-field , datafield :
string;
...
...
new-field = substring( datafield, x, y)
...
...
(Beispiel 1) (Beispiel 2)
Im ersten Beispiel wird vermutlich ein Softwaretool
auf Grund der Variablennamens “datum” auf ein mögliches Fehlerfeld schließen.
Jedoch würden die Variablen “wert” und “zahl” nicht in die Liste des
fehlerbehafteten Codes aufgenommen werden. Das Tool übersieht, daß
einer dieser Variablen auf Grund der if-Abfrage der selbe Wert wie der Variablen
“datum” zugewiesen wird. Im zweiten Beispiel wird ein
Datumswert in der Variablen “datafield” als Zeichenkette (String) gespeichert. Mit Hilfe der Funktion “substring” wird im Programm ein Teil des Datums (zum Beispiel das
Jahr) extrahiert. Die Variable “x” gibt an, ab welcher Stelle der neue Teil beginnen
soll und “y” beschreibt die Anzahl der Zeichen, die gelesen
werden. Auch in diesem Fall würde ein Analysetool zwar die Variable
“datafield
möglicherweise als fehlerbehaftetes Feld erkennen, jedoch die Variablen
“x” und “y” nicht gemäß der
Umstellungsstrategie korrigieren können.
Somit ist es unabdingbar, den Programmcode per Hand
durchzugehen, um wirklich alle Fehlerstellen aufzuspüren. Selbst ein
einziger Fehler kann Folgefehler verursachen, die erst später in anderen
Modulen einen sichtbaren Schaden produzieren. Mittlerweile existieren jedoch
Tools, die eine sehr hohe Erkennungsrate haben und Anfänge von Logik
zeigen.
Das Pilotprojekt bietet also als weiteren Vorteil,
das eingesetzte Tool mit der zu konvertierenden Software zu prüfen. Es
werden Fragen aufgeworfen, die sich nur durch den Einsatz dieses Tools
herausstellen werden. Werden alle Programmzeilen untersucht? Bringt der
nachfolgende Test ein schlechtes Resultat, so daß Nachkonvertierungen von
Hand nötig werden? Bei all zu schlechten Resultaten ist es ratsam, weitere
Tools anderer Hersteller auszuprobieren. Nach erfolgreicher Konvertierung sollte
das Ergebnis getestet werden. Hierzu muß eine Testumgebung geschaffen
werden, die das Subsystem, unabhängig der anderen Systeme testet. Eventuell
wird es nötig sein Hilfsprogramme zu implementieren, welche die anderen
Systeme simulieren oder Eingabeschnittstellen bieten. Diese Programme werden
unter dem Oberbegriff bridges (Brücken)
zusammengefaßt. Außerdem müssen Testwerte generiert werden, die
das Subsystem verarbeiten muß und Ausgabemöglichkeiten geschaffen
werden, die das Ergebnis in Form von Reports oder dumps dokumentieren. Sollten die Ergebnisse nicht
zufriedenstellend sein, muß ein anderer Lösungsweg gefunden werden.
Eine Möglichkeit ist das Hinzuziehen von Fremdfirmen, die sich auf die
Umstellung des Jahr-2000-Problems spezialisiert haben oder der Einsatz anderer
Tools. Im schlechtesten Fall muß eine Neueinteilung der Subsysteme
erfolgen, die Bestandsaufnahme korrigiert oder die Umstellungsstrategie als
Ganzes überdacht werden.
Auf der Basis der Ergebnisse der Situationsanalyse
und des Pilotprojekts, kann für die anderen Subsysteme eine Teilstrategie
abgeleitet werden. Die Teilstrategien werden wiederum zu einer Gesamtstrategie
zusammengefaßt, die unter Berücksichtigung des Ist- und Sollzustands
eine für das Unternehmen optimale Lösung darstellen soll.
4.1.5 Die Konvertierung und Implementierung
Hat das Unternehmen die geeignete Strategie
entwickelt, kann mit deren Umsetzung begonnen werden. Je nach Vorgehensweise
werden Programme bzw. Subsysteme von der Jahr-2000-Problematik bereinigt oder
durch neue ersetzt. Eine Bereinigung der Softwarekomponenten kann nur durch eine
Konvertierung der Programme, also einer Re-implementierung vollzogen werden.
Grundsätzlich gelten hier die gleichen Regeln wie beim Pilotprojekt. Vor
der Konvertierung ist jedoch zu beachten, daß die einzelnen Subsysteme in
ihrer aktuellsten Version eingefroren werden, damit sich nicht nach einer
Konvertierung herausstellt, daß das Modul zwischenzeitlich auf Grund von
Weiterentwicklungen verändert wurde. Nun können die einzelnen
Subsysteme konvertiert werden. Da in den meisten Fällen die
Rechnerkapazitäten der Firmen nicht ausreichen werden, um zusätzlich
zur täglich eingesetzten Software auch noch die komplett konvertierte
Software zu speichern, muß schrittweise vorgegangen werden. So wird jedes
Modul und jedes Subsystem einzeln umgestellt. Konvertierte Programmteile sollten
im Anschluß in die Testphase gehen und nach erfolgreichem Durchlauf in den
vorhandenen Softwarepool re-integriert werden. Dies bedarf, wie schon im
Pilotprojekt, der zusätzlichen Implementation von bridges. Nur so kann der Übergang von alten Softwareteilen zu
bereits konvertierten gewährleistet werden. Solche bridges können wie folgt implementiert sein:
- Das neue Modul kann vierstellige Jahreszahlen verarbeiten, während
das angrenzende Modul nur ein Datum mit zweistelligem Jahr unterstützt.
In diesem Fall muß die bridge das
Jahrhundert im Datum abtrennen, um dem “alten” Modul eine
zweistellige Jahreszahl vorgaukeln zu können. Die Verarbeitungrichtung
verläuft also vom “neuen” zum “alten” Modul.
- Ist die Richtung umgekehrt, muß die bridge einem konvertierten Modul eine vierstellige Jahreszahl
anbieten, indem das fehlende Jahrhundert ergänzt wird.
- Hat das konvertierte Modul Schnittstellen in beide Richtungen,
muß eine Mischform aus beiden bridges implementiert sein.
Sind alle Subsysteme konvertiert, sollte ein
Gesamttest diese Projektphase abschließen.
4.1.6 Testphase
Zum einen durchlaufen alle konvertierten Module und
Subsysteme einen Funktionstest, indem ermittelt wird, ob ein Datum richtig
verarbeitet wird, das heißt, Jahr-2000-kompatibel ist. Jedes Modul sollte
einen isolierten Test auf separaten Testrechnern im offline-Betrieb mit zuvor
generierten Testdaten unterzogen werden. Es sollten kritische Datumswerte aus
den Jahren 1999, 2000, 2001 und höher gewählt werden. Um die
Schaltjahrsproblematik zu testen, sollte das Datum 29.02.2000 und 01.03.2000 in
den Testdaten nicht fehlen. Sind auch diese Tests erfolgreich verlaufen, darf
ein Gesamttest aller Komponenten nicht fehlen. Erst hier wird sich zeigen, ob
die Umstellung als solche erfolgreich war und ob das Jahr-2000-Problem
vollständig gelöst wurde. Es muß ebenfalls untersucht werden, ob
sich durch die Modifikation mögliche Folgefehler ergeben haben. Dazu sind
zahlreiche Simulationen von möglicherweise auftretenden Situationen
notwendig. Die folgende Checkliste enthält einige Fragen, die nach
erfolgreichem Test alle mit “Ja” beantwortet werden sollten:
- Entspricht die Software nach dem Jahr 2000 immer dem aktuellen Datum ?
- Ist die Schaltjahrsberechnung nach dem Jahr 2000 richtig ?
- Gibt eine Subtraktion zweier Jahre den korrekten Wert wieder ?
- Werden Daten, die nach Datum sortiert werden, in chronologisch
richtiger Reihenfolge geordnet ?
- Ist die festcodierte “19” in Masken, Reports und Berichten
bereinigt worden ?
- Umfassen alle datumsrelevanten Felder 2 Ziffern für das
Jahrhundert ?
(zum Beispiel: Datenbankfelder,
Benutzeroberflächen, Dateien und Auswertungen)
Als letztes sollte der elektronische Datenaustausch
mit Fremdfirmen getestet werden, vorausgesetzt natürlich, daß deren
verwendetes Datumsformat übereinstimmt.
4.1.7 Anpassung und Feinregulierung
(Abschluß des Projekts)
In der letzten Phase wird schließlich eine
Feinregulierung vorgenommen. Je nach Ausmaß eines Jahr-2000-Projekts
wurden mehr oder weniger große Veränderungen in der EDV-Infrastruktur
vorgenommen. Dies macht unter Umständen eine Anpassung der
“neuen” EDV an die betrieblichen Prozesse bzw. eine Anpassung
betrieblicher Prozesse an die neue EDV notwendig. Nicht zu vergessen sind die
Anwender der Software, die nach einer Jahr-2000-Umstellung ein völlig
neues, ihnen fremdes Produkt oder ein bekanntes, aber dennoch in Masken und
Reports verändertes System vorfinden.
4.2 Möglichkeiten zur Problemlösung
Für die Lösung des Jahr-2000-Problems gibt
es grundsätzlich 3 Strategien:
- Rework: Alle Programme des
EDV-Pools verbleiben in Ihrer derzeitigen Form erhalten. Die
Problemlösung beschränkt sich darauf, fehlerbehaftete Elemente im
Sourcecode und daraus resultierende Folgefehler, die zu einem
Jahr-2000-Problem führen können, zu bereinigen.
- Replace: Die eingesetzten
Programme werden durch Kauf oder Eigenentwicklungen neuer Anwendungen
ersetzt.
- Outsource: Die EDV-Infrastruktur
wird ausgelagert. Damit fällt der Verantwortungsbereich für das
Jahr-2000-Problem in die Hände Dritter. Ein sich hierbei ergebendes
Problem sind die sensitiven Daten eines Unternehmen, die bei dieser
Lösung “nach draußen” gehen.
Da die Replace-Strategie relativ einfach, bis auf gewisse Anpassungen in der
Endphase zu realisieren ist, soll im folgenden primär die Betrachtung auf
die Rework-Strategie gelenkt werden. Ferner
läßt sich das Outsourcing als eine
mögliche Option der Rework-Strategie auffassen und
geht somit in dieser auf. In der Praxis wird man sich nicht ausschließlich
auf eine Strategie konzentrieren, sondern sich mehr oder weniger ausgeprägt
in Richtung Rework und Replace bewegen.
Die Replace-Strategie beschreibt das Ersetzen der vorhandenen Software durch
Neuerwerb von Standardsoftware oder einen kompletten Austausch der
Jahr-2000-gefährdeten EDV durch neue, eigenentwickelte Programme. Meist
wird diese Strategie bevorzugt dann eingesetzt, wenn in naher Zukunft eine
Umstrukturierung des EDV-Pools geplant ist. Da es in der Natur des Menschen
liegt, daß Vorhandenes von vornherein als “besser” zu bewerten
ist als mögliche Neuerungen, ziehen viele Unternehmen eine
grundsätzliche Richtungsänderung gar nicht erst in Erwägung. Auch
die Individualität von Programmen einzelner Unternehmenszweige spricht
gegen das vollständige Ersetzen der gesamten EDV. Branchenlösungen
entsprechen fast nie 100 % den geforderten Ansprüchen. Eine Übersicht
der Vor- und Nachteile von Standardsoftware gegenüber Individualsoftware
stellt Tabelle 4.1 dar.
Die Rework-Strategie wird bei der Lösung des Jahr-2000-Problems in der Regel
bevorzugt, nicht zuletzt deshalb, weil die bestehenden Programme und Datenbanken
in Ihrer derzeitigen Form erhalten bleiben und das Unternehmen weiterhin von
deren Stärken profitieren kann. Auch die Feinregulierung nach einer
Re-Implementierung wird kostengünstiger ausfallen, als ein Neuerwerb.
Allerdings werden auf der anderen Seite auch alle Schwächen der
EDV-Anwendungen beibehalten. Sollen diese mit der Jahr-2000-Umstellung bereinigt
werden, so können die Aufwendungen dafür unter Umständen sehr
hoch sein. Unter wirtschaftlichen Aspekten betrachtet, stellt die Rework-Strategie in aller Regel keinen Mehrwert für das Unternehmen
dar. Da die Aufwendungen der Umstellung sowieso anfallen, sollte überdacht
werden, ob parallel zur Lösung des Jahr-2000-Problems weitere Ziele, zum
Beispiel Verbesserungen der Programme, verfolgt werden sollten, die auch zu
einem Mehrwert führen.
Vorteile Standardsoftware (Nachteile
Individualsoftware) |
Nachteile Standardsoftware (Vorteile
Individualsoftware) |
- Kostenvorteile: Fremdbezug ist kostengünstiger als
Eigenentwicklung. Eigenentwicklungen sind schwer kalkulierbar.
- Zeitvorteile:
Entwicklungszeiten im eigenen Hause entfallen, Fremdsoftware
erlaubt schnellere Umstellung auf neuere Anwendungen.
- Qualitätsvorteile: Standardsoftware ermöglicht
die Nutzung von Methoden und Verfahren, die mit betriebsinternem
know-how meist nicht verwirklicht werden können.
- Kapazitätsvorteile: Vermeiden von
Personalengpässen, da für die Eigenentwicklung kein
neues Personal erforderlich wird.
- Umstellungsvorteile: Wenn Fremdsoftware bereits in der
Praxis erprobt ist, sind auch die meisten Fehler behoben, so
daß die meisten Umstellungs- und Startschwierigkeiten
bekannt und damit kalkulierbar werden.
- Zukunftssicherheit: Flexible Standardsoftware erlaubt auch
eine einfache Anpassungen an neue organisatorische
Anforderungen. Wenn ein Hersteller Weiterentwicklung und
Aktualisierung betreibt, wird das Risiko veralteter und
ineffizienter Anwendungssysteme für den Benutzer
verringert.
|
- Anpassungsprobleme: Mangelnde Übereinstimmung zwischen
geforderten Funktionen (Anforderungsprofil) und den in der
Software enthaltenen Funktionen (Leistungsprofil) kann einen
hohen Anpassungsaufwand erfordern und eine Anpassung des
organisatorischen Ablaufs im Betrieb an die Software-Lösung
zur Folge haben.
- Ineffizienz
des Einsatzes: Standardpakete haben oft einen höheren
Hauptspeicherbedarf, enthalten nicht benötigte und dadurch
nicht ausprobierte Module und weisen oft ein ungünstigeres
Laufzeitverhalten auf, als “maßgeschneiderte
Eigenentwicklungen”.
- Mangelnde
Transparenz: Unzureichende Dokumentation sowie restriktive
Informations-politik von Softwareanbietern können zu einer
Abhängigkeit vom Softwarelieferanten führen, ganz
besonders bei Änderungs- und Umstellungsarbeiten.
- Eingeschränkte Benutzerrechte: Programmnutzung ist
meist an bestimmte Hardware-Ausstattung gebunden. Üblich
ist lediglich die Übergabe des Maschinenprogrammes, so
daß keinen eigenen Änderungen mehr möglich sind.
|
Tabelle 4.2 : Standard- vs. Individualsoftware
4.2.1 Lösungsvarianten
Grundsätzlich haben sich 2 Lösungsvarianten
bei der Rework-Strategie herauskristallisiert. Zum
einen ist die “Zwei-Ziffern-Lösung” zu nennen, die auch als
logische Methode bezeichnet wird und mit einer Fenstertechnik arbeitet, zum
anderen die “Vier-Ziffern-Lösung”, auch Datenmethode genannt,
die neben der Änderung am Sourecode auch alle Datensätze, z.B. in
Datenbanken, bereinigt. Bei der Datenmethode vergrößern sich die
Daten auf vierstellige Jahreszahlen und die Programme, die diese verarbeiten
werden dementsprechend angepaßt. Diese Methode stellt eine
vollständige Lösung dar. Bei der logischen Methode verbleiben die
Daten in ihrer ursprüglichen Form erhalten, während den Anwendungen
eine Logik implementiert wird, die das Jahrhundert interpretiert. Welche Methode
schließlich angewandt wird, bleibt dem Unternehmen überlassen. Die
Wahl der Methode muß nach gründlicher betriebs- und
gesamtwirtschaftlicher Analyse getroffen werden. Denkbar sind auch Mischformen
aus beiden. Diese mögen beispielsweise die gespeicherten Daten auf
vierstellige Jahreszahlen ändern, jedoch zweistellige Jahreszahlen auf
Bildschirmen und Berichten anzeigen und akzeptieren.
4.2.2 Die logische Methode, die
Zwei-Ziffern-Lösung
Bei dieser Methode bleiben die Datumsfelder in den
Programmen in ihrer derzeitigen Form erhalten. Es werden lediglich Algorithmen
implementiert, die aus der Jahresangabe die Jahrhundertangabe ableiten. Diese
Ableitung kann allerdings nur funktionieren, wenn eine bestimmte Jahreszahl als
Grenzwert zwischen dem 20. und 21. Jahrhundert definiert wird. Es bietet sich
zum Beispiel an, die Jahreszahl 2000 als Grenze festzulegen. Dies hat zur Folge,
daß sich die Jahreszahlen 00-50 auf die Jahre 2000 bis 2050 beziehen,
während die Zahlen 51-99 die Jahre 1951 bis 1999 beschreiben. Es ist ein
Zeitfenster entstanden, welches exakt 100 Jahre (00-99) abdeckt. Dies Fenster
kann statisch oder dynamisch implementiert werden. Ist es fest vorgegeben, wie
im obigen Fall, wird man im Jahr 2051 erneut den Programmtext überarbeiten
müssen. Im anderen Fall des dynamischen Zeitfensters wandert das Fenster
mit dem fortschreitenden Jahr mit. Dies bedeutet, daß, um beim Beispiel zu
bleiben, im kommenden Jahr das Fenster den Bereich 1952 bis 2051
repräsentiert.
Der Einsatz der zweistelligen Methode ist sinnvoll,
wenn die Daten hauptsächlich innerhalb der Organisation erstellt und
verbraucht werden und deren Geltungsbereich und Gültigkeit kurz sind. Auch
in dem Fall, wenn Programme bald auslaufen oder ersetzt werden, jedoch nicht vor
dem Jahr 2000, kann diese Methode als “provisorische” Lösung
mit Logik und ohne Datenänderung in Betracht gezogen werden. Der Vorteil
bei der Modifikation der Programme liegt im geringeren Aufwand, da nur der
Sourcecode, nicht aber die Datenbanken oder Ein- bzw. Ausgabemasken
geändert werden müssen. Einige Berater der Industrie behaupten,
daß der Kosten- und Zeitaufwand für Projekte dieser Art geringer
ausfallen würde, als eine zusätzliche Konvertierung der Daten auf vier
Stellen. Allerdings ist der zukünftige Wartungsaufwand unter Umständen
höher und die Tatsache, daß das Zeitfenster an seine obere Grenze
stößt, bedingt eine erneute Umprogrammierung der Software.
Gegen die logische Methode spricht, daß die
Programmieränderungen schwieriger sind, da den Programmen eine Logik zu
implementieren ist, die individuell auf jeden Programmbereich zugeschnitten sein
muß. Auch der Test solcher Programme wird komplizierter ausfallen und
somit den Zeit- und Kostenaufwand erhöhen. Hinzu kommt auch, daß mit
Sicherheit die Zahl der Verarbeitungszyklen bei der Abarbeitung dieser Programme
steigen wird, da die zweistellige Jahreszahl erst durch die Logik richtig
interpretiert werden muß. Ein erhöhter Ressourcenverbrauch, sowie
eine geringere Arbeitsgeschwindigkeit könnten die Folge sein. Wird mit
dynamischer Fenstertechnik gearbeitet, mag es in einigen Fällen sinnvoll
sein, verschiedenen Programmen unterschiedliche Fenster mit differierenden
Grenzen zu implementieren. Der Verwaltungsaufwand steigt erneut. Statische
Fenster hingegen hinterlassen oft logische Zeitbomben in den Programmen, nicht
zuletzt, weil Programmierer schlecht im Dokumentieren sind und nicht
frühzeitig vor dem Erreichen der oberen Grenze warnen. Der Einsatz der
logische Methode ist in speziellen Fällen sehr schwer oder überhaupt
nicht anwendbar. Eine Institution, wie zum Beispiel ein Einwohnermeldeamt, wird
mit dieser Technik das Jahr-2000-Problem kaum lösen können. Im Amt
werden Personendatensätze mit Geburtsdaten, die den Zeitraum von 100 Jahren
übersteigen können, verwaltet. Es müßte eine logische Folge
von Abfragen programmiert werden, die zusätzlich zum Alter einer Person
auch noch weitere Parameter prüft, zum Beispiel, ob eine
Sozialversicherungsnummer existiert, um dann entscheiden zu können,
daß es sich um einen Menschen reiferen Alters handelt. Auf Grund des
definierte Zeitfenster von 100 Jahren, sollte so ein Problem mit der
vierstelligen Variante gelöst werden.
4.2.3 Die Datenmethode, die
Vier-Ziffern-Lösung
Alle Variablen und Felder in den Phasen Eingabe,
Verarbeitung und Ausgabe, sowie daraus abgeleitete Variablen, die ein Datum mit
zweistelliger Jahreszahl repräsentieren, werden von zwei auf vier Stellen
erweitert. Ferner müssen auch Datenfelder in Datenbanken auf allen
Speichermedien, so zum Beispiel auch Magnetbändern, in ein Datumsformat
gebracht werden, daß eine vierstellige Jahreszahl enthält. Diese
Methode ist mit Sicherheit als die sauberste Art zur “Bereinigung”
des Jahr-2000-Problems zu sehen, die auch am leichtesten zu verstehen und zu
verwalten ist. Richtig ausgeführt kann sie sowohl den nationalen, als auch
den internationalen Normen angepaßt werden, und sie wird wahrscheinlich
sicherstellen, daß die Daten mit anderen Organisationen ausgetauscht
werden können. Wenn die Änderungen einmal abgeschlossen und getestet
sind, sollte die zukünftige Wartung einfach und unzweideutig sein.
Als Nachteil ist vor allem der zusätzliche
Speicherbedarf zu nennen und die Kompatibilität mit anderen (eigenen oder
fremden) Programmen. Sollen alle Datenbestände bereinigt werden,
müssen nicht nur die im täglichen Zugriff stehenden Plattendaten
erweitert werden, sondern auch bereits archiviertes Backupmaterial. Der
Speicherbedarf kann sich durch eine vierstellige Jahresrepräsentation
erhöhen, muß es aber nicht unweigerlich. Codiert man das vorhandene
Datumsformat TTMMJJ in geeigneter Form, zum Beispiel TTTFJJ, so behält man
ein sechsstellige Datumsformat bei. Die Felder “TTT”
repräsentieren hierbei die Tage eines Jahres zwischen 1 und 365, aus denen
sich durch ein Berechnungsmodul der Monat ableiten läßt. Das Feld
“F” stellt ein sogenanntes flagbyte dar, daß durch seinen Wert (0 oder 1) signalisiert,
ob der folgende Wert “JJ” des Jahres im 20. oder 21. Jahrhundert
liegt. In diesem Fall wird auch von einem “komprimierten” Datum
gesprochen. Diese Lösung mag auf den ersten Blick die kostspieligere der
beiden sein. Man sollte jedoch die zukünftigen Wartungskosten der Programme
nicht außer acht lassen, die eindeutig für die Datenmethode sprechen.
Dennoch ist mit keiner der beiden Methoden
sichergestellt, daß der Datenaustausch mit Drittfirmen reibungslos
verläuft. Hier wird es zwangsläufig Brückenlösungen geben
müssen, da nicht vorhersehbar ist, nach welcher Methode das jeweilige
Unternehmen umstellt. Von der selben Problematik ist das generelle Problem der
international unterschiedlichen Datumsformate TTMMJJJJ (europäisch) und
MMTTJJJJ (nordamerikanisch).
Auf die Frage, ob Masken, Reports und Berichte auch
auf vierstellige Jahreszahlen erweitert werden sollen, liegt die Entscheidung
bei der Art des Unternehmens. Generell wird der Leser eines Berichts mit einer
zweistelligen Interpretation des Jahres besser zurecht kommen, während bei
rechtlichen und finanziellen Transaktionen keine Zweideutigkeit herrschen darf.
4.3 Kriterien einer Strategieselektion
Welche Strategie ist die beste? Diese Frage
läßt sich nicht pauschal für alle Unternehmen beantworten. Sie
ist vielmehr von bestimmten Faktoren, wie dem Ist-Zustand des EDV-Pools und
anderen abhängig. Um die für das Unternehmen geeignetste Strategie zu
ermitteln, soll dieser Abschnitt einzelne Faktoren aufführen, die als
Entscheidungshilfe zwischen verschiedenen Lösungen dienen sollen. Die
Faktoren beschreiben die Aufwendungen einer Rework-Strategie. Je höher die Aufwendungen sind, desto eher sollte ein
Unternehmen das Ersetzen ( Replacement) der alten
Programme in Erwägung ziehen. Der angestrebte Soll-Zustand (das Ziel der
Jahr-2000-Umstellung) sollte auf keinen Fall außer Acht gelassen werden
und in die Betrachtung mit einfließen.
4.3.1 Vorhandensein einer Dokumentation
Soll das Jahr-2000-Problem durch eine Rework-Strategie behoben werden, so müssen alle Datumsfelder in einem
Programm Zeile für Zeile identifiziert, analysiert und schließlich
modifiziert werden. Die Identifikation ist um so problemloser, je höher die
Qualität der Dokumentation über die implementierten Programme ist,
vorausgesetzt, daß eine solche existiert. Eine Dokumentation kann in
diesem Zusammenhang recht mannigfaltig ausfallen. Es sollte eine Information
über die Anzahl der eingesetzten Programme und deren Häufigkeit der
Nutzung vorliegen, aber auch eine genaue Beschreibung jedes einzelnen Programms
selbst. Diese Dokumentation kann elektronisch in Form einer Liste oder
Datenbank, aber auch in Papierform zur Verfügung stehen. Je
vollständiger die Software Inventare sind, um so einfacher läßt
sich eine Rework-Strategie umsetzten. Der
Umkehrschluß aus dieser Folgerung ist, daß bei Fehlen wichtiger
Dokumentation zur eingesetzten Software eher die Replace-Strategie in Betracht gezogen werden sollte.
4.3.2 Mischung von Programmiersprachen
Oftmals setzt ein Unternehmen Programme
unterschiedlicher Programmiersprachen ein. Nicht nur einzelne Programme oder
Programmgruppen sind in verschiedenen Sprachen geschrieben, auch ein Programm
kann aus mehren Sprachen konzipiert sein. Beispielsweise ist eine Mischung aus
den Sprachen COBOL und SQL oder C und Assembler nicht selten. Diese Tatsache
erschwert die Analyse solcher Programme erheblich, nicht zuletzt deshalb, weil
hilfreiche Analysetools meist nur “einsprachig” ausgelegt sind und
dann Handarbeit nötig machen. Es gilt also: Je höher die Anzahl der
verwendeten Sprachen in einem Programm ist, desto höher sind die
Aufwendungen für eine Rework-Strategie.
4.3.3 Source-Code
Anwendungsprogramme werden in aller Regel nicht
direkt in Maschinensprache konzipiert, sondern in den unterschiedlichsten
Programmiersprachen. Ein entsprechendes Programm, ein Compiler oder Interpreter, übersetzt
die für die Programmiersprache spezifische Terminologie und Logik in die
für den Computer verständliche Maschinensprache. Fast alle Programme,
die seit Jahren ohne Veränderung im Einsatz sind, wurden damals in
Maschinencode übersetzt. Es stellt sich deshalb die Frage, ob der
Sourcecode, also der Ursprungscode, zu betroffenen Programmen noch vorhanden
ist. Weiter stellt sich die Frage, ob dieser nach einer erfolgreichen Analyse an
Hand des Quellcodes überhaupt noch übersetzt werden kann, da
möglicherweise die benötigten Compiler in der erforderlichen Version
nicht mehr vorhanden oder in der derzeitigen Systemumgebung nicht eingesetzt
werden können. Sollte sich also herausstellen, daß zu einem
betroffenen Programm oder Subsystem kein oder ein nur teilweise vorhandener Code
zur Verfügung steht, so kann eine Rework-Strategie nahezu ausgeschlossen werden. Es existieren zwar einzelne
Tools, die auch Maschinencode in eine Art Sourcecode re-compilieren können,
jedoch ist die Übersetzung von geringer Qualität und deren Nutzen
beschränkt verwertbar. Das Fehlen von Sourcecode wird ein Unternehmen zum
Ersetzten ( Replacement) des entsprechenden
Programmes zwingen.
4.3.3 Eingesetze Programmiersprache
Nach einer Schätzung, befinden sich weltweit
circa 500 Programmiersprachen im Einsatz. Je nachdem, mit welcher
Programmiersprache ein Programm konzipiert wurde, ergeben sich tendentiell
unterschiedliche Höhen von Aufwendungen. Ist man sich über die
Programmiersprache sicher in der die eigene Software programmiert wurde, wird
man bei einer Rework-Strategie nicht umhin
kommen, entsprechende Analysetool einzusetzen und / oder einen Solution-Provider zu konsultieren. Auf Grund der Programmierlogik bieten
einige Sprachen günstigere Möglichkeiten, den Code zu analysieren und
zu modifizieren. Am Beispiel der Programmiersprache COBOL wird deutlich,
daß das Angebot an Tools und Drittfirmen, die Lösungshilfe anbieten,
größer ist, als alle restlichen Programmiersprachen zusammen. Die
sich daraus ergebende Essenz ist, daß die Verfügbarkeit von Tools die
Entscheidung zu Gunsten einer Strategie stark beeinflussen kann.
4.3.4 Branche
Auch die Branche in der sich ein Unternehmen bewegt,
ist entscheidend für die Strategie und die Aufwendungen zur Lösung
eines Jahr-2000-Problems. So ist einerseits die Größe der Firma und
deren Software-Pool, andererseits die Sensibilität der Daten
einflußgebend auf die Kosten einer Umstellung. Handelt es sich um Finanz-
und Personendaten, lebenserhaltende Systeme oder die Steuerung komplexer
Prozesse, ist Sorgfalt angesagt. Daten dieser Art benötigen eine genauere
Bearbeitung als “Alltagsdaten”. Wird mit der
“Daten-Methode” die Komplettlösung gewählt, und ist
beabsichtigt die Daten in Niedriglohnländern konvertieren zu lassen, so
sollte der Sicherheitsaspekt beachtet werden. Ferner unterliegen Regelungsdaten
strengeren Richtlinien, die mehrfache Tests unumgänglich machen. Diese und
andere Aspekte sollten bei der Wahl der Strategie berücksichtigt werden.
4.4 Werkzeuge
Im nordamerikanischen Raum haben sich mittlerweile
diverse Firmen auf Strategien und Komplettlösungen für das
Jahr-2000-Problem spezialisiert. Diese reichen von einfachen Softwaretools, die
zur Analyse von Sourcecode verschiedenster Programmiersprachen eingesetzt werden
können und nicht kompatible Programmsegmente untersuchen, über
korrigierende Tools, die automatisch auch die Re-Programmierung übernehmen,
bis hin zu Komplettlösungen, welche die vollständige Planung des
Projektes übernehmen und deren Durchführung, inklusive aller
Umstellung vornehmen. Die angebotenen Tools lassen sich in 5 Hauptgruppen
einteilen, von denen viele gleich mehrere Bereiche abdecken und im Paket
verkauft werden. Die Gruppen unterstützen die folgenden Projekphasen:
- Bestandsaufnahme
- (Impact-)Analyse
- Anwendungsupgrade / Konvertierung
- Datumsmigration / Anpassung
- Validierung und Test
- Tools zur Ermittlung des EDV-Bestands können bei der Archivierung
der eingesetzten Programme hilfreich sein, wenn deren Anzahl entsprechend
groß ist. Meist verfügen solche Hilfen auch noch über
erweiterte Eigenschaften, wie zum Beispiel der Möglichkeit von
Prioritäts-Zuordnungen und Häufigkeit der Nutzung. Diese Daten
muß der Benutzer meist selbst ermitteln und per Hand eingeben.
Übersichten können dann die Entscheidung: “Ersetzen -
Ausrangieren - Konvertieren” erleichtern. Diese Programme speichern
ihre Informationen in einer Datenbank. Ein Großunternehmen mit eigener
EDV-Abteilung sollte in der Lage sein ein vergleichbares Hilfsprogramm mit
gleicher Funktionalität schnell und kostengünstiger zu entwickeln.
- Für die Analyse der Software sollte auf jeden Fall ein Tool
verwendet werden. Gerade in dieser Projektphase ist viel Handarbeit
nötig. Warum nicht also ein Tool über das zu korrigierende
Programm laufen lassen, das diverse Datumsfehler erkennt und in Form eines
Report ausgibt. Zwar wird man nicht umhin kommen, den Code per Hand nach
Fehlern durchzusehen, jedoch kann ein Analysetool hier schon eine gewisse
Vorarbeit leisten. Bei der Wahl des Tools sollte genau geprüft werden,
ob es sich für diesen Zweck und diese Programmart eignet. Auch die
Qualität der Tools unterscheidet sich. So differieren beispielsweise
die Erkennungsrate von fehlerhaften Datumsfelder in den Programmen, auf
Grund der implementierten Logik. Ein erprobtes Programm einer renommierten
Firma ist sicherlich die bessere Wahl.
- Die Tools zum Anwendungsupgrade sind meist mit einem Analysetool als
Paket zu haben. Der Part des Tools, das den Korrekturteil übernimmt,
wird die vom Analysetool gefundenen, fehlerbehaften Programmstellen durch
einen neuen Code ersetzen. Dies Ersetzen beschränkt sich aber meist nur
auf syntaktisches Ersetzen. Wenige Programme verfügen über
Programmbibliotheken, die spezielle Routinen beinhalten und den Code
hiernach ersetzen. Dadurch ist der Nutzen solcher Hilfsprogramme
beschränkt. Da ein Programm (zusätzlich) per Hand analysiert
werden sollte, würde es auch nicht schwer fallen, den Code im gleichen
Arbeitsgang zu korrigieren. Bei der Gelegenheit wäre es
zweckmäßig Kommentarzeilen einzufügen, die entsprechende
Änderungen dokumentieren. Außerdem kann ein Programmierer die
Änderungen am Programm dem Stil des restlichen Codes anpassen. Ein
Softwaretool wird diese Arbeiten sicherlich nicht so gründlich
ausführen können, wie ein Programmierer. Allerdings kann ein
solches Tool bei richtiger Anwendung Zeit und Geld sparen.
- Tools zur Datumsmigration überwachen das Konfigurations- und
Versions-management, sowie die Re-Integrierung einzelner Module in den
Softwarepool. Diese Hilfsprogramme können bei der Zeitplanung und dem
Ablauf der einzelnen Projektschritte nützlich sein, um den
Überblick nicht zu verlieren. Neben Aufgaben wie Protokollieren von
wichtigen Projektstationen, zum Beispiel das “Einfrieren” von
Modulen oder Subsystemen zur Konvertierung, kann mit diesen Programmen auch
die Eingliederung der konvertierten Programmteile überwacht und
koordiniert werden.
- Ein Tool zum Validieren und Testen der Programmänderung ist
unverzichtbar. Solche Tools geben meist eine komplette Testumgebung vor,
lassen sich mit zu prüfenden Datumswerten versehen und verfügen
über Schnittstellen zu anderen Modulen. Da die Tests zu der
zeitaufwendigsten Phase gehören, sollte auf jeden Fall, schon auf Grund
der Zeitersparnis, ein solches Tool eingesetzt werden. Diese Tests
können weitgehend automatisiert Tag und Nacht laufen und bedürfen
geringerer Wartungsarbeit.
- Ferner werden noch Hilfsprogramme zu Kostenanalyse angeboten, deren
Nutzen aber fragwürdig ist, da zum einen die Kosten von der Anzahl der
LoC’s ( Line of Codes) abhängen, deren Komplexität sehr stark von
der verwendeten Programmiersprache abhängt, zum anderen von einer
möglichst gründlichen Analyse des Software-Portofolios. Beide
Faktoren können sehr stark variieren, so daß diese Tools nur eine
grobe Kalkulation zulassen.
Die Tabelle 4.4 soll einen Überblick der
verschiedenen Dienstanbieter und deren Tools geben.
Anbieter
|
Bestands-
aufnahme
|
Impact-
analyse
|
Anwen-
dungs-
upgrade
|
Datums-
migration
|
Validie-
rung und
Test
|
ADPAC
|
x
|
x
|
x
|
|
|
BCD-AS400
|
x
|
|
|
|
|
Carleton Corp.
|
|
|
|
x
|
|
Compuware
|
|
|
|
x
|
x
|
CSC
|
|
x
|
x
|
|
|
David R. Black
|
|
x
|
x
|
x
|
|
DBStar, Inc.
|
|
|
|
x
|
|
Eleventh Hour S/W
|
|
|
x
|
|
|
Forecross
|
|
|
x
|
x
|
|
Formal Systems
|
x
|
x
|
x
|
|
|
Gladstone
|
|
|
|
x
|
x
|
Globe Software
|
|
x
|
|
|
|
INTERSOLVE
|
x
|
x
|
|
|
|
ISOGON
|
|
|
|
|
x
|
Micro Focus
|
x
|
x
|
x
|
|
|
Quintic Systems
|
|
|
x
|
x
|
|
SEEC, Inc.
|
x
|
x
|
|
|
|
Softlab
|
x
|
|
|
|
|
TransCentury Data
|
|
|
x
|
|
|
VIASOFT
|
x
|
x
|
|
|
x
|
MSP
|
|
x
|
|
|
|
Milan Data
Services
|
|
x
|
|
|
|
Millennium
Dynamics
|
|
x
|
x
|
x
|
|
Miller-Fairchild
|
|
|
|
x
|
|
Peritus
|
|
x
|
x
|
|
|
Software
Emancipation
|
x
|
x
|
|
|
|
Source Recovery
|
|
|
x
|
|
|
Sterling Software
|
|
x
|
x
|
|
|
Trans Technology
|
|
x
|
x
|
x
|
x
|
Tabelle 4.4: Zusammenstellung von Werkzeuganbietern
Quelle:
“Das Jahr-2000-Problem”,V. Gruhn & S. Chavan, Addison
Wesley, 1997
4.5 Kosten
Eine brisante Frage, die nicht nur firmenintern von
Belang ist, sondern auch volkswirtschaftlich interessant ist, stellt sich mit
den zu erwartenden Kosten für die Jahr-2000-Umstellung. Derzeit sind nur
Schätzungen aus den USA verfügbar, die dazu noch recht vage sind. So
wird als Maßeinheit für eine Kalkulation die Einheit LoC (
Line
of Code) verwendet. Diese Einheit stellt die Anzahl der Programmierzeilen eines
Programmes oder eines gesamten Softwareportfolios von einem Unternehmen dar. Die
Verwendung dieser Maßeinheit ist aus verschiedenen Gründen
problematisch. Es existiert keine allgemein anerkannte Definition, was unter LoC
zu verstehen ist. So ist nicht ersichtlich, ob in diesem Zusammenhang die
physikalischen Programmzeilen, die Anzahl logischer Befehle oder eine Mischung
aus beiden gemeint ist. Eine genaue Definition wäre angebracht, da
beispielsweise der Unterschied zwischen physikalischen Linien und logischen
Befehlen in einem COBOL-Programm bis zu 300% betragen können. Hinzu kommt
noch, daß es weltweit unzählige, völlig unterschiedlich
konzipierte Programmiersprachen gibt. Man kann von circa 500 verschiedenen,
eingesetzten Sprachen ausgehen. Die Struktur und Terminologie dieser Sprachen
weichen teilweise enorm voneinander ab, so daß sich damit eine
unterschiedlich hohe Komplexität und damit Kostenschätzung ergeben
würde. Eine mehrzeilige SQL-Abfrage könnte beispielsweise einer
einzeiligen Ausgabe in der Programmiersprache C gleichgesetzt werden. Bei
visuellen Sprachen verliert dies Maß völlig an Bedeutung. Dennoch
basieren die Angaben aus den USA auf der Einheit LoC. Eine Übersicht,
gegliedert nach Quelle, Jahr, Region und Kosten zeigt Tabelle 4.5. Vielfach wird
auch als grobe Richtung der Preis für eine LoC angegeben. Auch hier
schwankt der Wert zwischen 0,8 bis 1,2 US$. Beispielrechnungen der Gartner Group
kalkulieren für ein mittelständisches Unternehmen mit 8000 Programmen
Aufwendungen zwischen 450-600 US$ pro Programm, so daß man auf eine
Gesamtsumme von 3.6 bis 4.2 Mio. US$ käme.
An den Zahlen erkennt man, daß sich die
tatsächlichen Kosten schwer bestimmen lassen. Praxisbeispiele zeigen aber,
daß die Kosten für ein Unternehmen immens sein können.
Quelle
|
Jahr
|
Region
|
Kosten in Mrd.
|
Peter de Jager
|
1993
|
weltweit
|
50 US$
|
C. Jones
|
1995
|
USA
|
50-75 US$
|
ParaTechnology
|
1995
|
USA
|
90 US$
|
Gartner Group
|
1995
|
Deutschland
|
40-60 DM
|
C. Jones
|
1996
|
USA
|
126 US$
|
Gartner Group
|
1996
|
weltweit
|
300-600 US$
|
Gartner Group
|
1996
|
weltweit
|
400-600 US$
|
Gartner Group
|
1996
|
weltweit
|
1000 US$
|
L.A. Kappelmann
|
1996
|
weltweit
|
1500 US$
|
Tabelle 4.5 Kostenschätzung Übersicht
4.6 Rechtliche Aspekte
Werden die Jahr-2000-Programmfehler nicht rechtzeitig
beseitigt, können die dadurch verursachten Personen- und Sachschäden
angesichts der Bedeutung, welche die elektronische Datenverarbeitung inzwischen
für alle Bereiche, nicht nur des Wirtschaftslebens gewonnen hat, unabsehbar
sein. Zahlreiche Unternehmen arbeiten an Jahr-2000-Projekten zur Umstellung
ihrer Software. Jedoch wird es auch Betriebe geben, denen das Problem nicht
einmal bekannt ist, geschweige denn, daß bereits Maßnahmen zur
Abhilfe eingeleitet worden wären. Viele Unternehmen verschicken indes
Serienbriefe mit Jahr-2000-Erklärungen an ihre Produktlieferanten, um sich
abzusichern. Es stellt sich deshalb die Frage, ob Hersteller und Verkäufer
von fehlerbehafteten Programmen zur Gewährleistung oder zum Schadensersatz
verpflichtet werden können. Oder wird auf Grund des teilweise fehlenden
Problembewußtseins und der unter Umständen hohen
Fehlerbeseitigungskosten der Hersteller verpflichtet sein, die fehlerhafte
Software zurückzurufen? Diese und weitere Fragen werden in diesem Abschnitt
geklärt.
- Gewährleistungsanspruch: Enthält
ein Computerprogramm, daß ein Benutzer vom Hersteller oder über
dessen Vertriebsweg erworben hat, einen Jahr-2000-Fehler, so kann man von
einem Mangel in der Software sprechen. Da Software an sich keine Sache ist,
jedoch die physikalische Speicherung von Daten mit inkompatiblem Datum als
solche betrachtet werden könnte, würde im Sinne des
Gewährleistungsrechts (§§ 459ff., 663ff.BGB) ein Sachmangel
vorliegen. Hingegen werden sich die wenigsten Betroffenen auf diesen
Paragraphen berufen können, weil meist die kurze
Gewährleistungsfrist von 6 Monaten (§§ 477, 638 BGB)
längst abgelaufen sein wird. Vertragliche
Gewährleistungsansprüche werden nur in seltenen
Ausnahmefällen greifen können, nicht zuletzt deshalb, weil die
Hersteller inzwischen für das nächste Jahrtausend geeignete
Programme ausliefern. Auch für Leasingverträge gilt die selbe
rechtliche Situation wie bei den Kaufverträgen. Ein Ausnahme bilden
Mietverträge. Hier ist der Vermieter in der Pflicht, entstandene
Mängel aufgrund fehlerhafter Software zu ersetzten.
- Produkt- und Produzentenhaftung : Im §
823ff BGB wird der Schutz von absoluten Rechtsgütern beschrieben.
Dieser Paragraph greift allerdings nicht bei entstandenen
Vermögensschäden. Es müßte schon ein Schaden an
Eigentum oder sogar Leib und Leben vorliegen, der sich durch das
Jahr-2000-Problem ergibt. Gesetzt den Fall, daß Software im Sinne des
Gesetzes als Produkt auffaßbar wäre, könnten sich Betroffene
auf das Produkthaftungsgesetz berufen. Dies unterscheidet jedoch in
gewerbliche und private Nutzung der Programme. Während im privaten
Bereich sowohl für erlittene Sach- und Personenschäden
Geltungsanspruch besteht, beschränkt sich dieser im gewerblichen
Bereich nur auf Personenschäden. Der Schadensanspruch besteht 10 Jahre
nachdem der Hersteller sein Produkt auf den Markt gebracht hat. Ein
Betroffener muß innerhalb von 3 Jahren nach Auftreten des Fehlers
seinen Anspruch geltend machen. Denkbare Grenzfälle, wie Softwarefehler
in der Medizin oder im Verkehrswesen, würden sich auf diesen
Paragraphen berufen können.
- Rückruf- oder Warnpflichten des Herstellers
: Ein Anspruch auf Ersatzleistung für Betroffene des
Jahr-2000-Problems würde in Kraft treten, wenn ein Hersteller nicht
warnend auf mögliche Fehler seines Produkts hinweist. Allerdings
muß auch hier, wie oben angeführt, ein schwerwiegender Fall, zum
Beispiel eine Bedrohung für Leib und Leben vorliegen. Die
Rückrufpflicht geht noch einen Schritt weiter: Der Hersteller muß
in diesem Fall sein Produkt vom Markt nehmen und den Fehler unentgeltlich
beseitigen. Ein Rückruf kann aber nur auf Grund einer behördlichen
Anordnung erfolgen. Durch das neue Produktsicherungsgesetz (ProdSG) kann bei
gesundheitlichen Schäden, allerdings nur im privaten Bereich, ein
Anspruch geltend gemacht werden, der den Hersteller in die
Rückrufpflicht nimmt.
Zusammenfassend läßt sich feststellen,
daß Gewährleistungsansprüche nur denkbar sind, wenn in Zukunft
noch Computerprogramme ausgeliefert werden, die nach der Jahrtausendwende das
Datum nicht korrekt verarbeiten können und deren Gewährleistungsfrist
von 6 Monaten noch nicht abgelaufen ist. Eine Haftung des Herstellers nach den
Grundsätzen der Produkthaftung kommt dann in Frage, wenn bei gewerblicher
Nutzung der Software ein Personenschaden entsteht. Vermögensverluste und
Sachschäden sind hiervon ausgenommen. Die aus §823 I BGB folgernden
Verkehrssicherungs- und Produktbeobachtungspflichten gebieten, daß
Hesteller von Computerprogrammen mit fehlerbehafteten Code, die Nutzer vor
möglichen Gefahren warnen müssen - falls diese nicht zu erreichen
sind, sogar öffentlich. Besteht darüber hinaus eine Gefahr für
Leib und Leben unbeteiligter Dritter, so ist der Hersteller zum Rückruf der
Programme verpflichtet.
Um sicher über die Jahrtausendwende zu kommen,
sollte vom Anwender eine vertragliche Absicherung erfolgen oder eine
schriftliche Erklärung des Herstellers oder Händlers eingefordert
werden. Dies gilt auch für den Erwerb neuer Software und Hardware. Ob ein
Händler einen solchen Vertrag unterschreibt, ist jedoch abzuwarten. Der
Händler selbst sollte sich deshalb auch gegenüber dem Hersteller
vertraglich absichern. Bei Drittfirmen, die bei einer Jahr-2000-Umstellung
helfen, kann bei Mißlingen der Konvertierung kein Schadensanspruch geltend
gemacht werden, da es sich laut Gesetz um ein einmaliges Ereignis handelt,
daß solche Firmen aus der Pflicht nimmt. Es bleibt also abzuwarten, bis
die ersten Prozesse um das Jahr-2000-Problem geführt sind, um sich
gegebenenfalls auf Musterprozeßurteile berufen zu können. Denn
vorbeugend wird man kaum Recht bekommen, geschweige denn einen Anspruch auf
Ersatz haben.
Kapitel 5
5.1 Kommen die Lösungen rechtzeitig ?
Die in den vorherigen Kapiteln beschriebenen Probleme
und die aufgezeigten Lösungsmöglichkeiten mögen den Anschein
erwecken, daß das Jahr-2000-Problem relativ schnell in den Griff zu
bekommen sei. Es verwundert deshalb nicht, daß viele Unternehmen erst
einmal abwarten, bis die “Universallösung” verfügbar ist,
die alle Probleme in einem Arbeitsgang lösen wird. Diese Einstellung ist
jedoch grundweg falsch, da zum einen kein Unternehmen eine
“Universallösung”, häufig auch “Silver Bullet”
genannt, bieten kann, da die eingesetzte Software zu individuell ist und zum
anderen die Zeit drängt. Das Jahr 2000 ist nicht aufschiebbar, die
“deadline” steht fest. Die USA hat das Problem rechtzeitig erkannt
und meldet, daß bereits über die Hälfte aller Unternehmen das
Problem im Griff haben, die andere Hälfte zumindest konkrete
Lösungsstrategien entwickelt hat. In Deutschland verhält sich die Lage
anders. Zwar informierte bereits im August 1996 das britische Wirtschafts- und
Technologieministerium seine Kollegen aus den anderen EU-Staaten über die
Tragweite des Jahr-2000-Problems, jedoch herrscht in den deutschsprachigen
Ländern bislang eine erschreckende Passivität. Weder die Regierungen,
noch sonstige Vermittlungsstellen äußern sich öffentlich zum
Jahr-2000-Problem, im Gegensatz zur Presse, die in einigen wenigen Artikeln auf
das Problem eingeht. Große Einrichtungen, vornehmlich Banken,
Versicherungen und Behörden, haben immerhin schon mit einer Umstellungen
ihrer Software begonnen oder zum Teil schon abgeschlossen, jedoch sind vielen
klein- und mittelständischen Unternehmen das Ausmaß und die Risiken
des Problems nicht bewußt. Gerade Unternehmen, die in der
Zulieferer-Branche tätig sind und externen Datenaustausch betreiben,
sollten für das Jahr 2000 gewappnet sein. Eine verschlafene Umstellung kann
rechtliche Konsequenzen haben. Viele Indikatoren sprechen dafür, daß
Kontinentaleuropa gegenüber den USA bei der Lösung des
Jahr-2000-Problems im Rückstand ist. In den USA gibt es sowohl auf
Bundesebene als auch in den einzelnen Bundesstaaten weitreichende Initiativen
zur Problemlösung. Ein etwas extremes Beispiel mag die Anstrengungen
verdeutlichen: Der US-Bundesstaat Nebraska hat eine zusätzliche
Zigarettenabgabe von allen Rauchern zur Finanzierung der Datumsumstellung
eingeführt.
Eine Umfrage zur Jahr-2000-Umstellung vom
Marktforschungsinstitut Spikes Cavell in 840
europäischen Unternehmen zeigte deutliche Managementdefizite auf. In 623
Interviews mit IT-Leitern und 217 Interviews mit Leitern von Fachabteilungen
ergaben sich folgende interessante Ergebnisse:
- Ausländische Zweitwerke eines Unternehmens warten mit einer
Umstellung auf ein Signal des deutschen Mutterkonzerns.
- Circa 70% der deutschen Unternehmen meinten, eine Umstellungsstrategie
zu haben. Doch weniger als die Hälfte hatte dafür ein Budget
bereitgestellt.
- Um die 60% der Befragten halten die Umstellung auf den EURO für
mindestens genauso wichtig, wenn nicht wichtiger, als die
Jahr-2000-Anpassung.
- Weniger als zwei von 10 Organisationen haben bisher mit der
Implementierung ihrer Jahr-2000-Pläne begonnen. In diesem Zusammenhang
wurde zu Verstehen gegeben, daß sie auf die Beratung durch externe
Dienstanbieter angewiesen sind.
Die Studie verdeutlicht, daß das Problem im
Groben verstanden wurde, aber ein rascher Handlungsbedarf von seiten des
Managements nicht besteht.
Ein anderes Beispiel aus den USA soll verdeutlichen,
wie komplex die Lösung des Problems sein kann und welche Rolle der
Zeitfaktor spielt. Die Great American Insurance gibt unter anderem Bonds mit
einer Laufzeit von 8 Jahren aus. Deshalb stieß man dort bereits 1986 auf
das Problem mit der Jahrtausendwende. Konkret begonnen wurde das Projekt jedoch
erst 1992. Ein angesetztes Pilotprojekt ergab, daß die Korrekturen 53
Mannjahre erfordern würden. Vor allem der zeitliche Aufwand für die
Testphase wird häufig stark unterschätzt.
Festzuhalten bleibt: Das Jahr-2000-Problem ist klar
definiert. Die Zeit bis zum Jahrtausendwechsel ist kurz. Auf dem Softwaremarkt
existieren diverse Tools und Lösungsstrategien externer Dienstanbieter. Nur
leider sind sich einige Unternehmen nicht der Konsequenzen bewußt, die
eine Nicht-Umstellung zur Folge hat. So wird sich am 01. Januar 2000 zeigen,
welche Unternehmen zukunftsgerichtet geplant haben und am Neujahrstag die Arbeit
fortführen können, die sie am Sylvesterabend beendet haben.
5.1 Die Einführung des EURO und das
Jahr-2000-Problem
Das nächste große Projekt, das in einem
Unternehmen mit EDV geplant werden sollte, ist die Umstellung der
Betriebssoftware auf die neue europäische Währung, den EURO. Die
Gartner Group hat bereits eine
Kostenschätzung für eine weltweite EURO-Umstellung abgegeben. Diese
liegt bei U$ 100 Mrd. Dollar. So wird das Problem einer Umstellung in erster
Linie die Banken und Sparkassen betreffen und zum Handeln bewegen, da diese
Institute direkt mit Geld arbeiten. In diesen Unternehmen muß die
finanzverarbeitende Software auf die neue Währung angepaßt werden,
die Geldausgabeautomaten und Kontoauszugsdrucker auf den EURO umgestellt und die
Systemverbindungen zu den Kunden angeglichen werden. Jedoch wird jedes
Unternehmen, das verkauft und Gehälter an Angestellte zahlt, früher
oder später auch eine geeignete Software-Lösung finden müssen.
Die Einführung des EURO ist stufenweise zwischen 1999 und 2002 geplant.
Zeitiges Handeln sichert auch hier, wie bei der Jahr-2000-Umstellung, die
Marktposition des Unternehmen und bietet die besten Chancen, rechtzeitig das
Ziel zu erreichen. Einige Stimmen aus den USA hoffen allerdings, daß sich
die Einführung des EURO verzögert, damit das Jahr-2000-Projekt
vollständig abgeschlossen werden kann und genügend Ressourcen zur
Verfügung stehen, um das Projekt EURO anzugehen. Das Jahrtausendproblem hat
in den USA immer noch die höhere Priorität. Viele Unternehmen in den
USA warten erst einmal ab, ob und wann genau der EURO eingeführt wird.
Einig ist man sich jedoch in einem Punkt: Eine gemeinsame Umstellung von EURO
und dem Datum sollte nicht angestrebt werden. Zum einen sind die Ressourcen
überaus knapp. Dies betrifft nicht nur die Spezialisten in den
Projektteams, sondern auch Rechnerkapazität, Zeit und Geld. Zum anderen
wird es schwer möglich sein, zwei gleichgeartete Projekte parallel laufen
zu lassen. Viele EDV-Techniker würden in beiden Projekten eingesetzt, was
ein hohes Maß an Koordinierung und Übersicht erfordert. Aber auch die
Projektleitenden auf Managementebene, welche die Planung und Überwachung
der Projekte innehaben, werden Schwierigkeiten mit der Realisierung haben. Eine
gemeinsame Umstellung würde schon an der Organisation des Projekts und
dessen Komplexität scheitern. Die Vorgehensweise einer EURO-Umstellung ist
prinzipiell mit der des Jahr-2000-Problems gleichzusetzen, allerdings betrifft
es diesmal andere Variablenfelder als bei der Jahrtausendumstellung. Auch
hierbei wird viel Handarbeit von Nöten sein, da es keine
“Universallösung” geben wird.
Zusammenfassend läßt sich festhalten,
daß Unternehmen mit einem EURO-Problem abwarten sollten, wie sich die
Einführung des EURO gestaltet. Man sollte über die politischen
Aktivitäten, welche die Umstellung betreffen, informiert sein und nebenbei
für sein Unternehmen eine Strategie planen, die zum geeigneten Zeitpunkt
als Projekt umgesetzt werden kann. Unternehmen, die bereits eine
Jahr-2000-Anpassung hinter sich haben, sollten aus diesem Projekt wichtige
Regeln ableiten und bei der EURO-Umstellung verwerten, so daß Fehler im
Vorfeld vermieden werden.
Kapitel 6
Literaturverzeichnis und Quellenangaben
Bücher:
- “Das Jahr 2000-Problem” von Volker Gruhn/Subhash Chavan
erschienen im Addison/Wesley Verlag, 1997
- “Macintosh Atlas” von Jörg Schreiber, 1990
- DUDEN Informatik, 2. Auflage, herausgegeben vom Lektorat des
B.I.-Wissenschaftsverlags unter der Leitung von Hermann Engesser
- Wirtschaftsinformatik II >COBOL<, 4. Auflage, H.R. Göpfrich
- “Year 2000 Homepage” http://www.year2000.com/archive/
- bullet.html : “Biting the silvert bullet” by: Peter de
Jager
- cw-article.html : “DOOMSDAY” by Peter de Jager
- kidding.html : “You’ve got to be kidding !” by Peter
de Jager
- Nfticktockgr.html : “Zeit wird verschwendet”
übersetzter Artikel, Orginal by Peter de Jager
- embedded.html : “The year 2000 and Embedded Systems” by Jon
Huntress
- chaabouni.html : “A Framework for Testing Year 2000” by:
Moez Chaabouni
- /spezial1/it16_9.htm : “Eine Computer-Odyssee in eine ungewisse
Zukunft” von Frank Sempert
- /spezial1/it15.htm : “Ist die Apokalypse 2000 unabwendbar
?” von Silvia Parthier
- /spezial4/j246.htm : “Auch der PC ist gefährdet”
- /spezial2/it24.htm : “Ergebnisse einer europaweiten Umfrage zur
Datumskonvertierung”
- /spezial2/it210_13.htm : “Kostenanalyse für die
Datumsumstellung”
- “Microsoft”
http://www.microsoft.com/germany/unternehmen/jahr2000/
- antwort1-5.htm : FAQ’s
- antwort6-10.htm : FAQ’s
- antwort11-15.htm : FAQ’s
- antwort16-20.htm : FAQ’s
- wechsel.htm : “Datumswechsel 2000: Ist Ihr Unternehmen
vorbereitet ?”
- IPD Online Magazin” http://www.insider.ch/ipd/magazin/
- ipd3018.htm : “Jahr-2000-Panne” von David Rosenthal
- ipd3033.htm : “Softwarecrash 2000” von David Rosenthal
- “Mitre” http://www.mitre.org/research/y2k/
- docs/PROB.html : “What is the Y2k Problem ?”
- docs/LEAP.html : “A short explanation of why we have leap years
and when they will occur”
- cots/GPS.html : “GPS Receiver Compliance”
- cots/FLASHBIOS.html : “Flash BIOS Upgrade Required”
- “IBM Int.” http://www.ibm.com/year2000/perspect.html :
“Year 2000: A Perspective”
- “Novell” http://www.novell.com/p2000/
- cri.html : “Novell Year 2000 Testing criteria”;
- product.html : “Product Readiness Table”
- patches.html : “NetWare...Ready for the next millenium”
- “Apple/Macintosh”
http://www.apple.com/macros/info/2000.html : “Apple and the year
2000”
- http://www.cardinal.com/midrange/YEAR2000/apr1202.htm : “AS/400
Tools for Year 2000 Fix Begin to surface”
- http://www.hp.com
- http://www.sun.com
- http://www.sap.com
- http://www.3sat.com/aktuell.htm : “Computer Chaos 2000”
Artikel zur Sendung “Neues...die Computershow” vom 4. Aug. 1997
- http://web.idirect.com/~mbsprog/article/gerner.html : “Why has
the year 2000 problem happend?”
- http://www.ie.iwi.unibe.ch/zobis/jahr2000/wisurf.html :
“Informationen zum Jahr 2000-Problem auf dem Internet”
- http://www.bsi.bund.de/aktuell/index.htm :"Bundesamt für
Sicherheit in der Informationstechnik”
- http://www.jahr2000.com/ : "Jahr 2000 Information”
- http://www.iid.de/jahr2000/index.html : "Das Jahr
2000-Problem”
- http://www.ie.iwi.unibe.ch/zobis/jahr2000.html : "Das Jahr
2000-Problem”
Quellen
aus Zeitschriften:
- Kommunikation & Recht, Beilage 18 zu Heft 48/1997 Betriebs-Berater:
Artikel: “Millenium Bug” von Rechtsanwalt Dr. Klaus Sommerlad
- c’t 1997, Heft 14 : Artikel “C( r )ash 2000” von
Peter Siering
- NT Magazin 5/97 : Artikel “Das nächste Jahrtausend”
von Gerd Nicklisch und Uwe Schütt
Sonstige Quellen:
- Folienkopien einer Präsentation “Millenium Bomb” der
Orgin Deutschland, gehalten im Januar anläßlich der Messe:
Hamburger Computertage
- Folienkopien einer Präsentation “Blind Date, Problems with
the year 2000” presented by: Mr. Dale F. (Doc) Farmer (CISA SBC
Warburg)
- Data Dimensions : “Das Millenium Journal” Ausgabe III.III,
Aug. 1996
- Kundeninformation IBM zum Thema “Fakten über IBM und das
Jahr 2000”
- Produktinformationen über “Resolve/2000” der Firma
Micro Forcus
- Siemens/Nixdorf “Das Jahr 2000 und seine Unterstützung durch
BS2000/OSD” Compendium, Rev. 3, Dez. 1997
- Siemens/Nixdorf, Statement of Direction: “Das Jahr 2000, Der
Datumswechsel bei Siemens Nixdorf”
- Siemens/Nixdorf “Der Jahrtausendwechsel und Assembler-Programme
von Franz Günther Rose
- E-Mail Kontakt zu Siemens/Nixdorf bzgl. BS2000 und Jahr 2000 mit Frau
Christiane Hanreich
- E-Mail Kontakt zu IBM bzgl. MVS/AIX und Jahr 2000 mit Herrn Hilgen
Anhang:
A1 Suchworte
Diese Liste enthält mögliche (englische)
Variablen-, Konstanten- und Feldnamen, die bei einer Codeanalyse als
mögliche Suchworte in Frage kommen könnten. Die Bezeichnungen
könnten auf Grund ihres Namens ein mögliches, gegebenenfalls
fehlerbehaftetes , Datumsfeld repräsentieren, das untersucht werden sollte,
ob hier eine zweistellige Jahreszahleninterpretation vorliegt.
after, asof, as_of, before, begin, cal, calendar,
ccyy, ccyymmdd, cen, century, clndr, cur, curr, current, cymd, date, day, days,
ddmmyy, dob, dt, dte, eff, effective, end, finish, first, fiscal,from, frm, fy,
fye, greg, gregorian, horizon, jul, julian, last, leap, mdy, mmddyy, mmddyyyy,
mo, modayr, mon, month, mos, mth, mm/dd/yy, m/d/y, m_d_y, post, roman, start,
stop, sysdate, sysdte, through, thur, today, week, weeks, wk, wkly, wks, year,
years, yr, yrs, yy, yyddd, ymd, yymmdd, yyyymmdd, yymmm, 00/00/00, 12/3199,
31/12/99, 19, 199, 1900, 1999, 2000
A2 Magische Nummern
Diese Liste enthält eine Aufstellung von Zahlen,
die in der Jahr-2000-Problematik bedeutungsvoll sein könnten. Diese Zahlen
können mögliche Datumswerte repräsentieren, die in Programmen bei
der Implementierung schon fest vorgegeben sind, so genannte “hardcoded
numbers” (fest programmierte Nummern), häufig auch als
“Magische zahlen” bezeichnet. Diese Nummern können das System
zu einer bestimmten Handlung veranlassen, beispielsweise bei Eingabe des Wertes
99 als Jahr, wird der Datensatz für endlosen Betrieb freigeschaltet.
9/9/99, 99/99/99, 1/1/1, 1/1/11, 6/9/69,
6/7/89,1/23/45, 6/6/66, 7/7/77, 8/8/88, 13/31/99
Natürlich sind noch verschiedene andere
Kombinationen denkbar.
[1] Hermann Hollerith (1860-1929): Erfinder einer
elektro-mechanischen Zähl- und Sortiermaschine für Lochkarten.
[2] Alle Quellen aus der World Wide Web (WWW) basieren auf
Abfragen zwischen Juli 1997 und März 1998. Diese Quellen sind in
physikalischer Form vorhanden und können eingesehen werden.
[Inhaltsverzeichnis]
[AGN-Webseiten
zum Jahr 2000]