Das Jahr-ungleich-1999-Problem

Ein Schwank aus uralten Zeiten, als ich, die Treueren unter den Älteren unter den Lesern werden sich erinnern, noch Datenbankprogrammierer war.  Als das letzte Jahrtausend sich nämlich seinem Ende neigte, hub ein großes Zittern in allen EDV-Klitschen des Landes, groß wie klein, an: Fast jeder hatte nämlich irgendwo irgendwann mal das Jahr mit nur zwei Stellen gespeichert, eingelesen, verglichen oder abgefragt.  Warum auch nicht?  Seit der Erfindung des Computers war das doch immer ausreichend gewesen!  Konnte doch keiner ahnen, daß sich das soo plötzlich ändern würde.  Selbst ich habe erst im März 1999 einen Artikel dazu geschrieben.  (Aber schon 1991 ein mittlerweile verschollenes Programm auf dem Atari zusammengebastelt, das nicht nur mit Jahreszahlen jenseits von 1999 klarkam, sondern sogar bis zum 31.12.9999 funktionieren würde und den Wechsel zum 1.1.10000 statt eines Absturzes mit einer sauberen Fehlermeldung quittieren, wenn es denn überhaupt noch irgendwo liefe – dann oder auch nur jetzt.  Aber ich schweife ab.)

Jedenfalls war auch in der EDV-Bude, in der ich damals Datenbank-Frontends strickte, das Beben in der Macht deutlich zu spüren, und spätestens so im September gingen wir aber mal ernsthaft daran, den räudigen Gammel waitukäi-fest zu machen.  Na, aber im Oktober dann wirklich.

Und natürlich haben wir nicht alle Fehler vorher gefunden.  Also doch, schon die meisten, es gab bei unseren Kunden keine nennenswerten Produktionsausfälle deswegen, aber ein paar kleine Hakler und Seltsamkeiten waren dann doch verblieben.   Auch darüber meinte ich damals geschrieben zu haben, aber ich finde den Text nicht wieder – sucht gern selbst, und wer ihn findet, kommentiere bitte die URL!  Am meisten erinnerlich ist mir jedenfalls ein Datum auf einem Anschreiben an unserer Kunden Kunden, das vom 31.12.1999 auf den 1.1.19100 sprang – die 19 war halt hartcodiert und das zweistellige Jahr hintendrangeklöppelt –, und eben die Story mit dem Jahr-ungleich-1999-Fehler.

Der fiel erst Ende März 2000 auf, weil irgendein Dölmer unter den Kollegen (nein, nicht irgendeiner, wir wußten natürlich genau welcher, wofür hat man eine Versionsgeschichte, hallo Ulf, ich sehe Dich!) offensichlich nicht die Funktion aus unserer Standard-Bibliothek gekannt hatte, mit der man aus einem Datum das Quartal ermitteln konnte.  Die war natürlich Jahr-2000-fest, schon seit November, aber Ulfs handgestrickte Eigenlösung …

IF Datum >= 1999-01-01 AND Datum <= 1999-03-31
        THEN Quartal := 1
ELSE IF Datum >= 1999-04-01 AND Datum <= 1999-06-30
        THEN Quartal := 2
ELSE IF Datum >= 1999-07-01 AND Datum <= 1999-09-30
        THEN Quartal := 3
ELSE IF Datum >= 1999-10-01 AND Datum <= 1999-12-31
        THEN Quartal := 4
ENDIF

… war es halt nicht.  Also so gar nicht.  Das wäre uns auch, wenn er es 1993 programmiert hätte, 1994 um die Ohren geflogen.  Und im Nachhinein war es vielleicht nicht die schlaueste denkbare Idee, das dem Kunden auch genau so …

Ja, ich habe den Fehler gefunden. Aber das war kein Jahr-Zweitausend-Problem! Das war ein Jahr-ungleich-1999-Problem.

… zu sagen.  Aber ich konnte nicht widerstehen.  Den Anschiß vom Chef, und den von Ulf, war es mir wert.

Und heute, mehr als 21 Jahre später, kann ich es glaubich dann auch Euch erzählen, ohne noch einen zu riskieren.  Hoffentlich konntet Ihr auch ein bißchen drüber schmunzeln.

1 Kommentar

    • Hans Sack auf 15. April 2021 bei 21:16
    • Antworten

    Alter… Ich hab nur das Code snippet angeguckt und dann beschlossen, dass ich den Rest nicht lesen brauch

Schreibe einen Kommentar

Deine Email-Adresse wird nicht veröffentlicht.