Bocholt, 07.05.1999

Das Jahr-2000-Problem


Einführung

Ein Wechsel der Jahrtausendwende kommt alle 1000 Jahre vor und in wenigen Monaten ist es soweit: Wir beginnen mit einem neuen Jahrtausend. Normalerweise ist mit dem neuen Jahrtausend nur ein Problem verbunden: Wir müssen uns an die "ungewohnte" Schreibweise mit dem neuen Jahrtausend gewöhnen: "01.01.2000" oder wie wir bisher geschrieben haben: "01.01.00". In den meisten Fällen sind wir es gewohnt, auf die Nennung des Jahrtausends zu verzichten. Und dies machen viele Computer genauso wie wir, was aber zu falschen Ergebnissen führen kann. Wenn Sie sich gut auf das Jahr 2000 vorbereiten, dann brauchen Sie keine Angst vor diesem Datum zu haben - dann wird der 01.01.2000 für Sie nur ein neuer Tag sein in einem neuen Jahrtausend.

Jedem Betroffenen muß aber ein Sachverhalt klar sein: Es gibt keine einfache Lösung oder einen goldenen Lösungsweg, der auf alle Problemstellungen anwendbar ist; aber es gibt Partner, die Ihnen helfen, das Jahr-2000-Problem zu lösen.

Aus technischer Sicht gibt es drei Probleme, die einfach zu verstehen sind. Da aber Systeme und Geschäftsprozesse von diesen Problemen in unterschiedlichem Ausmaß betroffen sind, erschwert dies die Lösung.

Die Probleme aus technischer Sicht

1. Zweistellige Speicherung von Jahresangaben

In nahezu allen Betriebssystemen und Softwareprogrammen kommen sogenannte Datumsfelder vor. In diesen Feldern wird das Datum dargestellt; häufig sind sie Bestandteil von Befehlen und Rechenprozessen. In vielen Programmen wird das Datum ohne Angabe des jeweiligen Jahrhunderts verwendet. Dies hätte auch keine weiteren Folgen, wenn wir nicht jetzt in die Situation kommen würden, daß die Angabe über das Jahrhundert eine Rolle spielen würde. Ein Beispiel für eine 8stellige Datumsdarstellung, so wie wir es kennen und es in der Software verwendet wird: "12/06/96". Für den Kalendertag werden zur Speicherung 2 Byte, für den Kalendermonat und für die Jahreszahl auch je 2 Byte und für die beiden Trennungszeichen von Tag zu Monat zu Jahr je 1 Byte Speicherplatz benötigt. Zusammengerechnet ergibt das einen notwendigen Speicherplatz von 8 Byte. Das Jahrhundert wurde nicht berücksichtigt.

Jeder weiß, daß mit dem Beispiel "12/06/96" der 12. Juni 1996 gemeint ist. Kein Mensch würde unter normalen Umständen auf die Idee kommen, dieses Datum in Frage zu stellen und den Angaben ein anderes Jahrhundert zuzuordnen wie beispielsweise "12/06/1896" oder "12/06/2096". Für uns ist dies eine Tatsache, über die man sich keine Gedanken machen muß. Aber ein EDV-System kann mit diesen Angaben ein Problem haben. Um dies verstehen zu können, machen wir einen Ausflug in das Jahr 2000 und überlegen uns, was am 01.01.2000 passiert, falls der Computer keinen Hinweis auf das Jahrhundert hat. Unser System bekommt also die Information "01.01.00". Woher soll das System die Information erhalten, daß es sich bei der Angabe "00" um das Jahr 2000 handelt und nicht etwa um das Jahr 1900? Einige Systeme werden das Datum richtig erkennen, wenn sie über eine 4stellige Angabe des Jahres verfügen (4 Byte für das Jahr, gesamt also 10 Byte). Andere werden das Datum (fälschlicherweise) als "01.01.(19)00" erkennen und verarbeiten, oder aber sie werden diese Angabe überhaupt nicht akzeptieren.


2. Datumsangaben mit spezieller Bedeutung

Von diesem Problem können einige Programme betroffen sein. In diesem Fall ist das Datum mehr als nur eine Anzeige des Datums; hier ist einem speziellen Datum wie z.B. "31/12/99" oder "09/09/99" eine Funktion bzw. ein Befehl zugewiesen. Befehle und Funktionen können z.B. sein: "Dieses Datum für immer speichern" oder "Dieses Datum nach 30 Tagen löschen" oder "Setze dieses Datum an den Kopf des Berichts".

Für Programmcodes gibt es und gab es keine Standards für die Verwendung in Programmen. Aus diesem Grund ist es schwer, alle Datumsangaben, die eine spezielle Bedeutung haben, in einem Programm aufzufinden; deshalb ist es auch nahezu unmöglich, mit einem einzigen Tool alle Programmcodes zu identifizieren.


3. Schaltjahr-Berechnungen

Schaltjahre werden nach einer simplen Regel berechnet. Leider gibt es Systeme, die das Jahr 2000 nicht als Schaltjahr erkennen. Sollte ein System fälschlicherweise das Jahr 2000 nicht als Schaltjahr erkennen, so wird die Darstellung und die Berechnung der Kalendertage nach dem 29. Februar 2000 um einen Tag versetzt, also falsch dargestellt werden. Zum besseren Verständnis hier die Berechnung der Schaltjahre:

Der Gregorianische Kalender, so wie wir ihn verwenden, sieht alle 4 Jahre ein Schaltjahr vor, d.h. immer dann, wenn die Jahreszahl durch 4 teilbar ist. Aber es gibt Sonderfälle. So handelt es sich um kein Schaltjahr, wenn die Jahreszahl durch 100 teilbar ist, mit einer Ausnahme: Ist die Jahrhundertzahl durch 400 teilbar, so handelt es sich trotzdem um ein Schaltjahr. Diese letzte Regel wurde bei der Programmierung zur Berechnung der Schaltjahre unter Umständen nicht berücksichtigt.

Die Folgen dieses Fehlers sind weitreichend: Ware wird zu falschen Terminen ausgeliefert, Zahlungsziele verstreichen, die Produktion kommt zum Stillstand, usw. Bei modernen Produktionsmethoden wie "just in time" kann die falsche oder verspätete Auslieferung einen Stillstand der Produktion und hohe Konventionalstrafen verursachen.



Wo liegen die Ursachen für diese Probleme?

Einige dieser Probleme stammen aus den "Urzeiten" der Computerprogrammierung. Zwar scheinen manche Ursachen nicht mehr aktuell zu sein, doch die Auswirkungen ziehen sich wie ein roter Faden durch die neuere Computergeschichte.

Rechnerressourcen: Speicherplatz war früher nur sehr begrenzt vorhanden und dementsprechend teuer. Man mußte sparsam mit den Ressourcen der Rechner umgehen. Aus diesem Grund lag es nahe, bei den Daten zu sparen, die sich aus der Logik und dem Zusammenhang ergaben oder bei den Daten, die überflüssig waren. Also programmierte man die Jahreszahlen nur zweistellig ein und verzichtete auf die Angabe der Jahrhunderte.

Standards: Bis heute gibt es noch keine internationalen Standards bei der Pro-grammierung des Datums. So gab es früher sogar Programmierer, die nur die letzte Stelle bei den Jahreszahlen berücksichtigten ("XXX8" könnte z.B. "1998" bedeuten). Auch heute gibt es bei der Datumsangabe noch keinen internationalen für jeden verbindlichen Standard: Mit dem Datum "09/12/1998" meinen wir das Datum 9. Dezember 1998. In anderen Ländern aber wird diese Angabe als 12. September 1998 interpretiert, wie z.B. in den USA: Dort ist es üblich, erst den Monat, dann den Kalendertag und dann die Jahresangabe anzugeben.

Lebensdauer: Viele Anwendungen wurden vor etlichen Jahren geschrieben. Früher rechnete man mit einer kurzen Lebensdauer von Programmen. So konnte ein Programmierer davon ausgehen, daß seine geschriebene Software in 3, spätestens in 5 Jahren überholt sein und durch neue Programme abgelöst werden würde.

Kompatibilität: Wenn eine Software durch eine neue ersetzt oder ergänzt wurde, war die Anforderung häufig, daß sie zu den älteren Programmen kompatibel sein mußte. Dies bedeutet, daß neue Anwendungen, die zu bestehenden Datenbanken geschrieben wurden, die Daten exakt so verwenden mußten, wie sie in der ursprünglichen Datenbank eingesetzt wurden.

Benutzerfreundlichkeit: Es stellte für die meisten Benutzer eine Vereinfachung der Eingabe dar, anstelle der vollständigen Jahrhundertangabe (1998) nur die Jahreszahl (98) einzugeben.

Gewohnheiten: Für die meisten Programmierer war es klar, daß sie nur Angaben in die Software einbauten, die sie auch im normalen Alltag ohne Computer benötigten.



Wer und was ist von diesen Problemen betroffen?

Die Auswirkungen der Jahr-2000-Probleme können in folgenden Bereichen Auswirkungen haben:

- Informationssysteme (PC, Server, Mainframes)

- "Eingebettete" Software (EPROMs, Mikrochips, Maschinen, Zeiterfassung usw.)

- Betriebssysteme, Softwareprogramme, Anwendungen, Produktionsverfahren

- Produkte, Technik

- Elektronische (externe) Schnittstellen (Partner, Lieferanten, Kunden usw.)

- Versorgungssysteme (Heizung, Klima, Wasser, Strom, Notstrom usw.)

- Archivierte Daten


Was ist zu tun?

Ihr Ziel ist es, die Organisation und Ihre Umgebung (Lieferanten, Schnittstellen etc.) auf das Jahr 2000 vorzubereiten, damit es kein "böses Erwachen" im Jahr 2000 gibt. Bei der folgenden Aufstellung handelt es sich um ein Schema für eine mögliche Vorgehensweise. Jede Organisation muß isoliert betrachtet werden mit ihren individuellen Systemen und möglichen Problembereichen. In jedem Fall handelt es sich bei dem Jahr-2000-Problem um eine ernstzunehmende Problemstellung, die Sie bewältigen müssen und die eine große Herausforderung an Sie darstellt.

1. Planung und Verdeutlichung des Projekts "Jahr 2000"

2. Bestandsaufnahme

3. Entscheidung und Entwicklung des Projekts "Jahr 2000"

4. Ersatz, Reparatur oder Entfernung?

5. Testen

6. Einsatz im System

7. Kontrolle


1. Planung und Verdeutlichung des Projekts "Jahr 2000"

Es ist wichtig, daß die Entscheidungsträger einer Organisation mit der Problemstellung konfrontiert werden. Ihnen muß das Problem verdeutlicht werden, damit das Projekt unverzüglich mit der notwendigen Aufmerksamkeit verfolgt werden kann. Bei diesem Projekt ist es sinnvoll, die Geschäftsleitung zu integrieren. Es verbleibt nicht mehr viel Zeit, um das Problem anzugehen und zu lösen - spätestens am 31.12.1999 muß es abgeschlossen sein! Es kann keine Verlängerung für dieses Projekt geben, es kann keine Entschuldigung und keine Gründe geben, daß das Projekt nicht rechtzeitig fertiggestellt wird! Deshalb ist bei der Durchführung auf größtmögliche Sorgfalt zu achten.

In dieser Phase sollten folgende Punkte geklärt werden:


1.1 Projektteam, Kompetenzen und Verantwortung

1.2 Netzplan

1.3 Projektfinanzierung

1.4 Informationspolitik

1.5 Materialwirtschaft

1.6 Projektablaufplan, Projektzeitplan

1.1 Projektteam, Kompetenzen und Verantwortung

Für das Projekt sollte. ein Team unter einer Projektleitung zusammengestellt werden. Es sollte berücksichtigt werden, daß die Mitarbeiter des Projekts viel Zeit für die Tätigkeit in diesem Team aufwenden müssen. Zusätzlich sollten Sie frühzeitig klären, ob die eigene EDV-Abteilung über genügend freie Ressourcen verfügt, um diese Probleme zu lösen, und dabei ihre "normale" Arbeit nicht vernachlässigt. In diesem Zusammenhang sei erwähnt, daß die Jahr2000 Problematik Vorrang vor allen anderen Aufgaben hat.

1.2 Netzplan

Damit alle Beteiligten sich der Tragweite des Problems bewußt werden, wird ein Netzplan gefertigt, der einen Überblick über die vorhandenen EDV-Systeme mit Schnittstellen, Betriebssystemen und Programmen gibt.

1.3 Projektfinanzierung

Für dieses Projekt sollten ausreichend Finanzmittel zur Verfügung stehen. Zu Beginn des Projekts ist die exakte Bestimmung der notwendigen Projektsumme schwierig . Sobald das Projekt zum Laufen kommt, sollte ermittelt werden, wie viele finanzielle Mittel zur Durchführung des Projekts benötigt werden.

1.4 Informationspolitik

Es sollten alle Mitarbeiter über das Jahr-2000-Problem unterrichtet werden. Das Projektteam wird später auf die Hilfe und Informationen der Mitarbeiter angewiesen sein. Auch sollte das Projektteam später mit allen Abteilungen zusammenarbeiten, damit Probleme gelöst werden können. Das Projektteam sollte den Mitarbeitern bei der Zusammenstellung der notwendigen Informationen behilflich sein.

1.5 Materialwirtschaft

Von Beginn des Projekts an wurde der Einkauf in das Projekt einbezogen. Der Einkauf sollte mit dem Problem vertraut sein, um schnell agieren zu können, wenn z.B. Tools, Software und Hardware neu benötigt werden.

1.6 Projektablaufplan, Projektzeitplan

Für das Projekt "Jahr 2000" wird ein erster Projektablaufplan aufgestellt, aus dem die einzelnen Phasen mit den notwendigen Arbeitsschritten ersichtlich werden. Berücksichtigt werden genügend Zeitreserven für die Testphase der Systeme. Das Ende des Projekts steht schon fest: Spätestens am 31.12.1999 werden die EDV-Systeme fit für das Jahr 2000 sein!


2. Bestandsaufnahme

In einer Datenbank sollte die Bestandsaufnahme aller Systemen angelegt werden. Aufgelistet werden alle (möglicherweise) betroffenen EDV-Systeme, Programme, Betriebssysteme, Bildschirmmasken, Tools, Makros, Module, Ausgabemasken, Eingabemasken, "eingebettete Systeme", Schnittstellen, Datenbanken usw. Auf diese Weise würde man sich einen Überblick über die bevorstehende Arbeit verschaffen.

3. Entscheidung und Entwicklung des Projekts "Jahr 2000"

In dieser Phase des Projekts werden die aufgelisteten Systeme auf das Risiko hin untersucht und entsprechende Prioritäten bei der Bearbeitung der einzelnen Problemaufgaben zu setzen sein. Mit Risiko ist die Bedeutung des zu untersuchenden Systems für die Firma gemeint. Ist das zu untersuchende System von hoher Bedeutung für das "Tagesgeschäft", so handelt es sich bei diesem System um ein vitales Problem (mission-critical), und es bekommt daher eine hohe Priorität zugeordnet. Ist das zu untersuchende System eher von geringer Bedeutung für die Organisation, so handelt es sich um ein marginales Risiko. Zu bedenken sind in diesem Zusammenhang die Verbindungen zu anderen Systemen.

Sie können folgende Klasseneinteilung vornehmen:

1. Besondere "Mission-critical"-IT-Systeme (Beispiel: Abfragen KDZ; INPOL/PIKAS)

2. "Mission-critical"-IT-Systeme (Beispiel: Datenbanken in laufenden Verfahren)

3. IT-Systeme, die im Falle eines Ausfalls wesentliche Dienstprozesse unterbrechen

(Beispiel: E-Mail-Systeme, Berichtssysteme)

4. IT-Systeme, die im Falle eines Ausfalls nur geringe Beeinträchtigungen verursachen; die Diensttätigkeit kann mit oder ohne die Systeme fortgesetzt werden (Beispiel: Einfache Datenverarbeitungs-Tools, interne Vereinfachungstools)

5. Unwesentliche IT-Systeme, die eingestellt werden sollen (Beispiel: Alte Anwendungen, die nur von wenigen Personen genutzt werden oder für die schon Ersatzsysteme vorhanden sind)

Jedes System wird genauestens analysiert werden, um festzustellen, welche Aufwendungen und Zeiträume zur Korrektur eines potentiellen Jahr-2000-Problems erforderlich sind. Mit fortschreitender Zeit sollte das Projektteam dazu übergehen, Klasse-4- und Klasse-5-Systeme unter Berücksichtigung der Aufwendungen, die zu einer Korrektur dieser Systeme erforderlich wären, einzustellen.


4. Ersatz, Reparatur oder Entfernung?

Für die von der Problematik betroffenen Systeme bestehen folgende Möglichkeiten:

Ersatz: Das System ist alt, eine Reparatur nahezu unmöglich. Oder dieses System soll in den nächsten Jahren sowieso durch ein neues ersetzt werden. Hier währe zu prüfen, ob diese Investition schon früher (Rücksprache mit Einkauf und Finanzplanung) durchgeführt werden kann. Häufig bietet sich auch die Möglichkeit eines Updates an.

Reparatur: Das System soll repariert werden. Um die Kosten einer Reparatur abschätzen zu können, ist die Anzahl der Programmzeilen wichtig. Wenn Sie das Programm an eine externe Firma mit dem Auftrag zur Beseitigung der Fehlerquellen geben, vergleichen Sie die Qualifikation der möglichen Dienstleister.

Entfernung: Überprüfen Sie die Systeme, ob sie noch genutzt werden oder schon vor Jahren durch andere Systeme abgelöst wurden.


5. Testen

Dieser Teil des Projekts benötigt den größten Teil der zur Verfügung stehenden Zeit. So müssen die Systeme auch im Zusammenhang mit anderen Systemen getestet werden. Dabei können neue Probleme auftreten, die gelöst werden müssen. Aus diesem Grund kann der Zeitaufwand sich erheblich vergrößern. Planen Sie deshalb genügend Reserven ein, um das Projekt erfolgreich zu Ende bringen zu können.

6. Einsatz im System

Wenn alle verbesserten, korrigierten und neuen Systeme zum Einsatz kommen, kann es trotz aller Planung zu Schwierigkeiten kommen. Aus diesem Grund sollten Notfallpläne entwickelt werden, damit die Firma nicht handlungsunfähig wird.

7. Kontrolle

In der Folgezeit, nach dem Einsatz der neuen Systeme, werden die Ergebnisse, Berichte, Rechenvorgänge und Ausgaben auf ihre Plausibilität kontrolliert.


Überprüfungskategorien:

Kategorie

Beschreibung

Jahr-2000-kompatibel

Das Produkt erfüllt alle Anforderungen an die Jahr-2000-Festigkeit (siehe Anforderungen); oder es ist Jahr-2000-kompatibel, wenn bestimmte Fehlerkorrekturen durchgeführt werden (z.B. Service-Pack, Update oder Patch).

Jahr-2000-kompatibel

mit geringen

Einschränkungen

Das Produkt erfüllt die Anforderungen für die Jahr-2000-Kompatibilität, hat aber geringe Probleme bei der Handhabung von Datumsangaben gezeigt, die jedoch keine Einschränkungen Bedrohung der Hauptfunktionalität oder der Stabilität des Produkts darstellen.

Nicht Jahr-2000-

kompatibel

Das Produkt ist nicht Jahr-2000-kompatibel, da es in einigen grundlegenden Punkten die Jahr-2000-Kompatibilität nicht erfüllt.

Test noch nicht

abgeschlossen

Das Produkt wird noch auf die Jahr-2000-Kompatibilität hin geprüft, die Testreihen sind aber zum gegenwärtigen Zeitpunkt noch nicht abgeschlossen.

Wird nicht getestet

Dieses Produkt wird nicht mehr auf die Jahr-2000-Kompatibilität hin geprüft.



Empfehlungen von Microsoft

Lieferkette: Beziehen Sie bei der Überprüfung Ihrer Systeme auch Ihre Lieferanten mit ein. Wenn Sie Jahr-2000-kompatible Produkte einsetzen, dann können Sie nicht sicher sein, daß Sie mit dem Jahr 2000 keine Probleme haben. Denn was nützt es Ihnen, wenn Sie für das Jahr 2000 gewappnet sind, Ihre Zulieferer aber nicht? Bei jedem Ihrer Zulieferer können diese Probleme auftreten. Und auch bei dessen Lieferanten können wieder die gleichen Probleme auftreten. Aus diesem Grund empfiehlt es sich, alle Ihre Zulieferer in Ihre Planung mit einzubeziehen, um Probleme vermeiden zu können und Schwierigkeiten aus dem Weg zu gehen. Nutzen Sie die Chance und verschaffen Sie sich Wettbewerbsvorteile gegenüber Ihren Mitbewerbern!


End-to-end-Betrachtung: Bei der Bestandsaufnahme empfiehlt es sich, Geschäftsprozesse von Anfang bis zum Ende und vom Eintritt bis zum Verlassen Ihres Unternehmens zu betrachten.

Wir empfehlen Ihnen, einen externen Berater wie z.B. Ihren Fachhändler, ein Systemhaus oder einen freien Berater hinzuzuziehen, der Erfahrung mit Jahr-2000-Projekten hat.



Handhabung von Datumsangaben und die Microsoft Plattform

Microsoft ist seit langer Zeit mit der Entwicklung von Betriebssystemen und Anwendungen, die Datumsangaben auch im folgenden Jahrhundert bearbeiten können, vertraut. Wenn wir auf die frühesten Produkte von Microsoft zurückschauen, sehen wir, daß sie Datumsangaben in einem vierstelligen Format erkannten. Dies schließt nicht aus, daß ein Microsoft Produkt Datumsprobleme hat. Aber die überwiegende Mehrzahl der Datumsprobleme sind im Verhältnis zu der Hauptstabilität und der Funktionsfähigkeit des Betriebssystems oder der Anwendung gering.

Die häufigste Quelle von Datumsproblemen für die Nutzung von Microsoft Produkten liegt in der Konvertierung von zweistelligen Jahrhundertdaten in vierstellig gespeicherte Datumsangaben. Die Verwendung von zweistelligen Datumsformaten innerhalb von Microsoft Produkten ist kein Versehen oder ein Fehler. Der gesellschaftliche Aspekt der Verwendung von Datumsangaben bedingt es, daß unsere Software den Wünschen unserer Kunden angepaßt ist. Oftmals ist es der Wunsch der Kunden, Datumsangaben im zweistelligen Datumsformat einzugeben. Viele Microsoft Produkte erlauben es daher den Nutzern, Datumsangaben in Kurzform einzugeben, so z.B. "TT.MM.JJ". Die Nutzung dieses Formats erlaubt Benutzern eine schnellere Eingabe von Datumsangaben in ihren Anwendungen.

Der Prozeß der Konvertierung von einer zweistelligen in eine vierstellige Datumsangabe erfordert die Verwendung eines logischen Datumsangabe-Bereichs oder "Fensters". Das Fenster stellt einen 100-Jahre-Zeitrahmen dar, z.B. von 1930 bis 2029. In diesem Beispiel sind alle Datumsangaben von 30 bis 99 Daten des 20. Jahrhunderts und alle Datumsangaben von 00 bis 29 Daten des 21. Jahrhunderts. Es gibt keine anerkannten Standards für die bei der Konvertierung von zweistelligen in vierstellige Datumsangaben verwendeten Fenster. Verschiedene Produkte können daher verschiedene Standards und Richtlinien verwenden. Diese Unvereinbarkeit von Datumsangabe-Fenstern kann zu Unklarheiten innerhalb der IT-Umgebung führen. Microsoft Produkte nutzen keine standardisierten Fenster, erlauben es dem Nutzer aber, ein zweistelliges Format mit einer vierstelligen Eingabe zu überschreiben, wo dies möglich ist. Wenn Sie beispielsweise in Access 95 1.1.00 eingeben, wird dies in 1.1.1900 konvertiert. Sie können aber auch 1.1.2000 eingeben, und Access wird diese Datumsangabe verarbeiten und speichern.

Auch wenn das häufigste Problem mit Microsoft Produkten bei der Verwendung von zweistelligen Datumsangaben und der Wechselwirkung zwischen dem Benutzer und der Anwendung entsteht, sind noch andere Programmierungsprobleme zu berücksichtigen. Die überwiegende Mehrzahl von bekannten Problemen mit Datumsangaben bei Microsoft Produkten sind eher kosmetischer und geringerer Art und stellen keine Bedrohung für die Stabilität der Umgebung dar. Allerdings kann die Anpassung von Microsoft Produkten durch Kunden oder Dritte ebenfalls Probleme im Zusammenhang mit dem Wechsel zum Jahr 2000 verursachen.

Ein Beispiel für ein Datumsproblem in einem Microsoft Hauptprodukt ist der File Manager innerhalb von Windows for Workgroups, Windows 95 und Windows NT. Die ausführbare Datei WINFILE.EXE hat einen kosmetischen Fehler, durch den eine nach dem Jahr 2000 erstellte Datei eine unrichtige Darstellung in der File-Detail-Ansicht besitzen wird. Anstatt "2000" anzuzeigen, wird das Datum als "19:0" angegeben, auch wenn das Dateisystem die Datumsangabe am Back-end ordnungsgemäß handhabt. Microsoft hat eine Fehlerkorrektur für dieses Problem entwickelt, das die Datei WINFILE.EXE ersetzt. Der kosmetische Anzeigefehler stellt keine Bedrohung der Stabilität, Zuverlässigkeit oder Leistung des Produkts dar. Ein IT-Unternehmen, das versucht, die Arbeit zum Jahr 2000 nach Priorität einzuteilen, wird dieses Problem voraussichtlich nicht als vorrangig ansehen.

Dies bedeutet nicht, daß alle Probleme mit Datumsangaben bei Microsoft Produkten gering sind. Einige Microsoft Produkte sind als nicht Jahr-2000-kompatibel bezeichnet. Für viele der Produkte, die unter diese Kategorie fallen, stellen wie einen klaren Update-Pfad zur Verfügung, um zu einem Produkt zu gelangen, das Jahr-2000-kompatibel ist. Ein Beispiel hierfür ist Word 5 für MS-DOS. Wenn das Systemdatum nach 2000 liegt und eine Datei von Word 5 für MS-DOS erzeugt wird, wird das "File Summary"-Format defekt und kann möglicherweise einen allgemeinen Schutzfehler (General Protection Fault) nach sich ziehen, aufgrund dessen MS-DOS versagt. Der empfohlene Update-Pfad für dieses Produkt geht entweder zu Word 6 für MS-DOS oder zu einer modernen Word-Anwendung, beispielsweise zu Word 97.


Handhabung von Datumsangaben

1. Das PC-BIOS

Das häufigste Hardwareproblem hängt mit dem BIOS (Basic Input/Output System) des PC zusammen. Das BIOS ist für die Bereitstellung von Low-Level-Informationen verantwortlich, die der Computer für den Bootstrap-Prozeß benötigt. Es enthält auch eine der kritischen Uhren, die von dem PC genutzt werden. Das häufigste Hardwareproblem im Hinblick auf das Jahr 2000 betrifft die genaue Umwandlung der ersten zwei Stellen des Jahrhunderts der Datumsangabe von "19" zu "20". Es ist wichtig, anzumerken, daß ein BIOS, selbst wenn es von diesem Problem betroffen ist, richtig funktionieren wird, sobald die Datumsangabe ordnungsgemäß auf 2000 gesetzt wurde. Verschiedene Möglichkeiten, um das BIOS richtig für das Jahr 2000 einzustellen, werden im folgenden beschrieben.

Die Echtzeituhr des PC verfolgt die Zeit und das Datum. Das BIOS erhält Zeit- und Datumsinformationen von der Echtzeituhr in zweistelligem Jahrhundertformat. Das BIOS fügt dann die notwendigen Bits hinzu, um das Datum in vier Stellen zu speichern. Wenn das Datum von "99" zu "100" wechselt, aber die Jahrhundert-Bits sich nicht von "19" zu "20" ändern, nimmt das Betriebssystem 1900 anstelle von 2000 an. Die Betriebssysteme von Microsoft erkennen 1900 nicht und setzen die Systemuhr automatisch auf 1980, unser Basisdatum, zurück. Der plötzliche Wechsel des Datums zu 1980 ist eine der besten Möglichkeiten, das Auftreten des BIOS-Problems festzustellen. Sobald die Problemgeräte gefunden sind, kann die Korrektur dieser Systeme beginnen.

Eine Fehlerbeseitigung für das BIOS wurde in die neueren Microsoft Betriebssysteme eingefügt, um dieses Hardwareproblem zu lindern. Windows NT 3.51 (sp5), Windows NT 4.0, Windows 98 und Windows NT 5.0 besitzen eine eingebaute Logik, die 1900 als einen Fehler erkennen und ihn automatisch durch Einstellung des Datums auf 2000 korrigieren. Der BIOS-Korrekturmechanismus von Microsoft wird nur die häufigsten der oben beschriebenen BIOS-Probleme korrigieren.

Es gibt andere BIOS-Probleme, die wir nicht ausgleichen können. Beispielsweise kehren einige BIOS immer zu 1900 zurück, wenn das System neu gestartet wird. Durch die Fehlerkorrektur von Microsoft wird die Uhr bei einem solchen BIOS über das gesamte Jahr 2000 bei jedem Start auf 2000 gesetzt. Wenn das System jedoch 2001 erreicht und sich selbst auf 1901 zurücksetzt, wird die Fehlerkorrektur von Microsoft dies nicht als ein Jahr-2000-Problem erkennen und deshalb zum Basisdatum von 1980 zurückkehren. Andere BIOS besitzen eingebaute Fehlerkorrekturen, die eine 1900-Datumsangabe zurücksetzen, bevor das Betriebssystem und das BIOS aufeinander einwirken. Ist das Datum ein gültiges, wie etwa 1993, wird das Betriebssystem von Microsoft dies als richtig ansehen. Microsoft empfiehlt daher, daß alle BIOS-Plattformen identifiziert und getestet werden, um die Funktionalität nach 2000 sicherzustellen.


2. Industriestandards

In Microsoft Produkten finden überwiegend Technologien Anwendung, die Industriestandards entsprechen. In einigen ausgewählten Fällen sind diese Standards datumsbezogen und können Probleme mit dem Jahr 2000 bereiten.

Zwei Beispiele von Industriestandards mit Auswirkungen für das Jahr 2000 sind die Verwendung des UTC X.400-Standards für das Exchange-Verzeichnis und der ANSI Ctime-Standard für C-Programmierungen.

Exchange: Microsoft Exchange, das im Produktleitfaden als "Jahr-2000-kompatibel" kategorisiert ist, verwendet den UTC X.400-Standard für das Exchange-Verzeichnis. Aufgrund der Spezifikation des Standards speichert das Verzeichnis Datumsangaben zweistellig, obwohl die normale Microsoft Praxis der Handhabung von Datumsangaben darin besteht, Datumsangaben vierstellig zu speichern. Um das aufgrund des Standards zweistellig verwendete Format auszugleichen, versteht Exchange alle zweistelligen Datumsangaben als zwischen 1950 und 2049 liegend. In dem Message Store, der nicht auf einem Standard basiert, werden die zweistelligen Datumsangaben konvertiert und in vierstelligem Format gespeichert. Auf diese Weise besteht keine Unklarheit beim Wechsel vom 20. in das 21. Jahrhundert.

Visual C++: Ctime ist eine Funktion der Programmiersprache C und wird dazu verwendet, die Zeit zu berechnen. Die ANSI-Zeitfunktion wie auch das MFC Ctime sind von einer internen Variablen abhängig, um Zeitwerte zu speichern. Diese Variable zählt die Sekunden vom 1. Januar 1970 an, und Mitte Januar 2038 wird die Kapazität der Variable erschöpft sein. Anwendungen, die abhängig von Ctime erstellt wurden, werden daher ab diesem Zeitpunkt nicht mehr richtig funktionieren.


3. Kundencode

Der Kundencode ist das größte Risiko im Hinblick auf das Jahr-2000-Problem auf irgendeiner Plattform. Auf der PC-Plattform ist Kundencode bei weitem die häufigste Ursache von Handhabungsfehlern zu Datumsangaben. Leider ist dies auch der am häufigsten übersehene Aspekt des PCs. Viele Unternehmen besitzen interne oder durch Dritte vorgenommene Anpassungen in ihrer PC-Umgebung, ohne zu wissen, wie diese Anpassungstätigkeit vorgenommen worden ist.


Beispiele für Kundencode sind:

Excel-Makros oder VBA-Zusätze

Visual Basic-, C++-, J++-, FoxPro-Anwendungen etc.

Jedesmal, wenn jemand neue Funktionalitäten entwickelt oder zu der Funktionalität

einer Anwendung etwas hinzufügt

Wenn beispielsweise ein Entwickler eine zweistellige Datumsangabe in einer Textreihe eingebaut hat und dann eine Berechnung mit dieser Datumsangabe durchführt, kann das Microsoft Produkt dies nicht als Datumsangabe interpretieren. Die Berechnung kann daher falsch sein. Selbst wenn die Anwendung (z.B. Excel) die Datumsangaben korrekt handhabt, könnte der VBA-Code zu einer Fehlfunktion führen.

Da in einem bestimmten Geschäftsprozeß mehrere Schichten von Codes benutzt werden, erhöht sich die Wahrscheinlichkeit von Jahr-2000-Problemen. Häufig betreffen diese Schichten von Codes verschiedene Anwendungen und überbrücken gewöhnlich unterschiedliche Systeme. Microsoft empfiehlt, den Bestand des Kundencodes aufzunehmen und im Hinblick auf das Jahr-2000-Risiko zu analysieren.


4. Datenschnittstellen

In einigen Informationsprozessen von Unternehmen ist der PC nur ein Baustein von vielen. Die Schnittstellen zwischen der PC-Umgebung und anderen Plattformen müssen verstanden, analysiert, fehlerbereinigt und getestet werden, genau wie jeder andere Teil des Jahr-2000-Projektes. Die Gefahr mit Datenschnittstellen besteht darin, daß es schwierig sein kann, die Ursachen eines Fehlers herauszufinden. Es ist möglich, daß ein Mitarbeiter einen Fehler in seiner Desktop-Benutzerschnittstelle erkennt, die von einer Anwendung stammt, die sich auf einem Back-end-System befindet. Der Fehler kann sogar außerhalb der Umgebung aufgetreten sein, wenn Datenschnittstellen zu Geschäftspartnern oder Kunden bestehen. Aus diesem Grund empfiehlt Microsoft nachdrücklich, eine End-to-end-Überprüfung Ihrer Computerumgebung vorzunehmen.


5. Modified Rapid Replacement

Das "Modified Rapid Replacement"-Konzept basiert auf der Erkenntnis, daß es nicht erforderlich ist, ein System hinsichtlich sämtlicher Eigenschaften und Funktionen 1:1 zu ersetzen. Im Zusammenhang mit dem Jahr-2000-Problem konzentrieren sich IT-Mitarbeiter auf das Ziel, die wichtigsten Aufgaben innerhalb der gesetzten Zeit und des vorhandenen Budgets zu erreichen. Wenn eine Anwendung zur Zeit 24 Eigenschaften enthält, jedoch nur sechs von ihnen für die Funktionalität kritisch sind, so sollte das Unternehmen die Möglichkeit haben, nur diese sechs Eigenschaften zu ersetzen und anschließend zum nächsten Teil des Gesamtprojekts überzugehen. "Modified Rapid Replacement" gibt Ihnen daher die Möglichkeit, kritische Systeme vor der drohenden Zeitgrenze beizubehalten.


Weiter Informationen beim

http://www.bsi.bund.de/aufgaben/projekte/2000/

zum Anfang

Die Informationen wurden zusammengestellt von L. S.