Om de ‘jaar 2000’-problematiek op te lossen zijn veel conversieprojecten gestart. Bedrijven zijn druk bezig met het wijzigen van systemen en gegevens, en gaan daarbij op hun eigen wijze te werk. Wat is de kern van de problematiek en hoe wordt deze aangepakt? Operations manager Durk Gardenier inventariseert de situatie bij ABP, Alcatel Bell, Holland International, Van Staaveren, Siemens (België/Luxemburg), ING-Groep en Zilveren Kruis.
De eeuwwisseling is niet voor iedereen reden tot feest. De datumlogica in de programmatuur zal veel bedrijven moeilijkheden en een hoop werk bezorgen. Hieronder volgt een opsomming van de problemen waarmee organisaties geconfronteerd kunnen worden.
– Sommige programma’s gebruiken 00 of 99 als programmeerswitches om een ‘einde bestand’, een fout in de jaar-invoer of – in het geval van 00 – geen jaar-ingave aan te geven. Hoe moeten de jaren 1999 en 2000 in deze gevallen verwerkt worden?
– Het is onmogelijk om berekeningen met gegevens uit te voeren. De periode tussen het heden en 2000 wordt in de programmatuur uitgerekend met de uitdrukking: (20)00 – (19)96 = -96 jaar.
– Sorteringen op jaar gaan fout. 1996, 1997, 1998, 1999, 2000, 2001 wordt 00, 01, 96, 97, 98, 99
– Het gebruik van ingebedde data: Het volstaat niet om alle variabelen te vinden die een datum in de naam hebben. Ook alle toekenningen die met deze variabelen worden gedaan, moeten gecontroleerd worden. Via toekenningen kunnen deze gegevens namelijk worden doorgegeven en in hulpvelden terecht komen.
– Selecties gaan fout. Bijvoorbeeld: selecteer alles waarvoor geldt verloop_datum $ huidige_datum. Als huidige_jaar van huidige_datum gelijk is aan 00, zullen er geen records worden gevonden.
– De ’19’ van de eeuw is vaak hard gecodeerd in de programmatuur. Berekeningen werken dan standaard met 19.
– Er ontstaan problemen met systeemsoftware, backup-hulpmiddelen enzovoort. Een datum met 00 zal worden geïnterpreteerd als 1900 en niet als 2000. Het interne backup-systeem kan deze bestanden om die reden verwijderen.
– Er zijn veel programma’s en systemen die geen rekening houden met schrikkeljaren. Die kwamen dit jaar in de problemen omdat 1996 een schrikkeljaar is. Ook het jaar 2000 geeft problemen. Omdat 2000 deelbaar is door vier, kan men denken dat het ook een schrikkeljaar is. Er is echter een regel die zegt dat jaren deelbaar door 100 geen schrikkeljaren zijn; 1900 was geen schrikkeljaar. Een volgende regel bepaalt echter dat jaren die deelbaar zijn door 400 weer wel schrikkeljaren zijn. Het jaar 2000 is dus wel een schrikkeljaar.
Afhankelijkheid
De bovenstaande problemen zijn in het algemeen niet complex van aard, maar de oplossing ervan vergt wel veel tijd. Het kost tijd om de relevante velden in de programma’s te vinden. Dit komt vooral doordat lang niet alle namen van velden weergeven dat ze datum-gegevens bevatten.
Analyse van de gegevens in de MSP-repository van verzekeraar Zilveren Kruis wees uit dat bij circa 10 procent van de velden niet zondermeer aan de veldnaam is te zien dat de inhoud een datum betreft. Een voorbeeld is het veld ‘Cdeigris’ met de betekenis van ‘Verrekeningsjaar’. Dergelijke zaken komen met name voor bij bestaande, soms al langer draaiende systemen, waarbij de technische veldnaam dikwijls de enige ‘documentatie’ is. Zilveren Kruis heeft daarom in de repository de geïnventariseerde betekenissen en de technische veldnamen als aparte componenten opgenomen.
In wezen is het oplossen van het ‘jaar 2000’-probleem te beschouwen als een grootschalig onderhoudsproject. Technisch levert dit in het algemeen geen onverwacht grote problemen op, beheersmatig wel. Daar zijn alle ondervraagden het over eens.
Eén van de grootste problemen is het besturen van de verschillende projecten die de programma’s aanpassen en de gegevens converteren. Systemen zijn afhankelijk van elkaar door het gemeenschappelijk gebruik van data. Hoe kan men nu de software en gegevens van een systeem wijzigen zonder dat andere systemen – die van die gegevens gebruik maken – problemen krijgen doordat ze de geconverteerde gegevens niet kunnen verwerken?
Systemen die in onderhoud zijn in verband met het jaar 2000 kunnen urgente produktieproblemen krijgen die meteen opgelost moeten worden. Wachten op de nieuwe versie die uit de conversie voortkomt kan dan niet meer. Deze wijzigingen op meerdere versies van een systeem moeten uiteindelijk geconsolideerd worden. Daarnaast moeten meerdere conversies van systemen meestal parallel lopen, omdat anders niet alles voor de einddatum gewijzigd kan worden. De coördinatie van dit alles stelt hoge eisen aan het projectmanagement.
Omvang van probleem
De eerste opgave is een inschatting van de omvang van het probleem. Hiermee is een planning te maken van de benodigde resources en eventuele hulpmiddelen.
Dit vergt vaak een hoop werk omdat veelal niet bekend is hoeveel programma’s daadwerkelijk in gebruik zijn. Naar schatting weet bijna eenvijfde van de gevraagde bedrijven niet hoeveel programma’s het in gebruik heeft.
Het is sterk van de documentatie afhankelijk hoeveel tijd nodig zal zijn.
Verzekeraar Zilveren Kruis heeft de meeste produktiesystemen in een MSP-repository gedocumenteerd, met daarin ondermeer technische velden en hun betekenis. Het is dan relatief eenvoudig om de betrokken velden en systemen te identificeren. Er zijn hulpmiddelen om de bestaande omgeving te analyseren.
Misschien blijkt er helemaal geen probleem te zijn. Zo heeft Holland International een circa vijftien jaar oud reserveringssysteem op het mainframe. Datums spelen een erg belangrijke rol bij reserveringen. Dit systeem slaat de datums echter niet absoluut op, maar als het aantal dagen dat is verstreken na 28 juli 1880. Indertijd – toen schijfruimte duur was – had dat als voordeel dat een datum altijd als twee bytes kon worden opgeslagen. Het bijkomende voordeel is dat er geen problemen optreden bij schrikkeljaren en bij het jaar 2000.
Een bedrijf met een eenduidige IT-omgeving heeft al problemen genoeg. Complexer wordt de situatie bij ondernemingen die zijn samengesteld uit diverse bedrijven. De ING-Groep bijvoorbeeld heeft een rijke historie van fusies achter de rug. Er zijn vele verschillende infrastructuren, typen systemen en soorten middleware.
De problemen nemen exponentieel toe, omdat ook de samenhangen moeten worden getest.
Niet alle pakketten, compilers enzovoort, zijn volledig up to date. Hoewel een leverancier zijn produkt dus wel aangepast kan hebben aan de 2000-eisen, wil dat nog niet zeggen dat het ook meteen te installeren is, met name niet als een aantal releases is overgeslagen (zie ook deel twee, volgende week).
Het ABP is gestart met een inventarisatie van de omvang van de problemen. Verwacht wordt dat de primaire systemen relatief weinig problemen zullen opleveren, omdat het ABP met betrekking tot pensioenen, beleggingen en hypotheken al gewend is over de eeuwen heen te werken. Veel geregistreerde personen zijn in de vorige eeuw geboren.
De secundaire systemen zijn waarschijnlijk in het algemeen niet geschreven met het oog op eeuwwisselingen; daar worden meer problemen verwacht.
Siemens (België/Luxemburg) is in het kader van een business process reengineering-project bezig alle IT over te zetten naar SAP R/3. Hiermee zijn de 2000-problemen automatisch opgelost na de conversie, omdat SAP R/3 alleen maar volledige jaaraanduidingen kent.
Zilveren Kruis is nog niet met conversie gestart. Het heeft, net als het Belgische staalbedrijf Sidmar, zijn systemen grondig gedocumenteerd in een MSP-repository. Beide verwachten weinig specifieke problemen bij het traceren van de datum-gerelateerde velden. Sidmar schat, op basis van de beschrijvingen in de repository, hoeveel mandagen de conversie zal vergen. Ook onderzoekt het bedrijf of er op de software-markt interessante tools aangeboden worden.
Als voorbeeld van een middelgroot bedrijf dient Van Staaveren Plantenveredelingsbedrijf in Aalsmeer. Het voornaamste systeem is het orderafhandelingsysteem, dat in een Novell-netwerk draait op een Unix-mini met Data General. Het onderhoud op het systeem werd uitbesteed. Het 2000-probleem is onderkend en wordt meegenomen met een aantal wijzigingen die op stapel staan. Alle gegevens, ook de historische, worden daarbij geconverteerd naar een viercijferig jaartal.
Omgevingen
De omvang van het probleem hangt mede af van de omgeving. In DB2 bijvoorbeeld heeft de datum-kolom altijd een viercijferig jaartal. Het is afhankelijk van de programmeurs of dit veld volledig blijft of dat er in een programma wordt doorgewerkt met een tweecijferig jaartal. In tegenstelling tot wat wordt beweerd, hoeft een DB2-omgeving niet probleemloos te zijn. IMS/Cobol-omgevingen hebben geen speciale datum-formaten waarin het viercijferige jaartal wordt afgedwongen bij opslag.
Fabrikant van telefoons en telefooncentrales Alcatel Bell heeft geen problemen in de DB2-, wel in de IMS/PL1-omgeving.
Bij de eerste versies van DB2 was het niet mogelijk standaard datums in te geven. Die programma’s moesten worden onderzocht.
Latere versies ondersteunden wel de standaard datums. Er zijn richtlijnen uitgevaardigd om aan dit formaat te conformeren. Bij onderzoek is gebleken dat hier niet van afgeweken wordt.
Hoe moet het management worden overtuigd dat er een probleem is?
De ING-Groep is sterk gedecentraliseerd. De bedrijfseenheden moeten zelf beslissingen nemen over de wijze van uitvoering. Iedere eenheid moet zorgen voor goedkeuring van het budget.
Het management van Alcatel was inmiddels overtuigd van de noodzaak tot aanpak van de problematiek, omdat er al problemen waren opgetreden.
Bij het ABP is men daarvan eveneens overtuigd. De aard en omvang worden momenteel vastgesteld. Dan pas kan men bepalen welk budget en welke capaciteit nodig zijn.
Hoe gaan ondernemingen de projecten plannen en managen?
Zoals eerder gesteld is het 2000-probleem te zien als een onderhoudsprobleem. Alleen de schaal van het project verschilt met regulier onderhoud; het gezamenlijk gebruik van gegevens vormt een complicerende factor. In het algemeen is hierover nog geen beslissing genomen omdat men nog in de analysefase verkeert.
Alcatel coördineert de projecten op basis van bedrijfsprioriteiten en het gezamenlijk gebruik van gegevens.
Alternatieven
Het converteren in verband met ‘2000’ is een aanzienlijke inspanning. Is de oplossing van dit probleem te combineren met die van andere problemen? Er zijn organisaties die de gelegenheid aangrijpen om de programmatuur opnieuw te schrijven of om naar een ander pakket over te gaan. Vaak zijn er dan ook andere redenen, zoals gewenste functionaliteit of de beschikbaarheid op een ander platform.
Voor Alcatel staat vast dat er niet gecombineerd moet worden. Het 2000-probleem is zo grootschalig en complex dat men alle beschikbare resources moet gebruiken. Er moeten niet nog andere complicaties en afhankelijkheden worden gecreëerd.
Bij het ABP bouwt men een aantal primaire systemen momenteel opnieuw, waarbij de problemen meteen zijn aangepakt.
Siemens (België/Luxemburg) nam de strategische beslissing om van eigen ontwikkelde software op een mainframe over te gaan naar SAP/R3-standaardsoftware in een Unix-omgeving. Bijkomend voordeel hiervan is dat het jaar-2000-probleem niet meer speelt. In een project van twee tot drie jaar vindt een volledige reengineering plaats van de IT. Daarbij worden de in twintig jaar zelf gebouwde programma’s omgezet naar SAP. De eerste omzettingen hebben ondertussen plaatsgevonden.
Probleemvelden
Het opsporen van probleemvelden is één van de hoofdtaken. Vervolgens kan het – afhankelijk van de keuze – nodig zijn ook alle gerelateerde bestanden te converteren.
In eerste instantie moet men alle velden vinden die de datum invoeren. Aan de naam van sommige velden is niet te zien dat ze een datum bevatten. Zilveren Kruis schat dit aantal op circa 10 procent van hun velden. Denk hierbij ook aan de ‘oneigenlijk’ gebruikte velden die gevuld zijn met datum-waarden, maar oorspronkelijk met een andere doel zijn opgezet. Dit zal veel handmatig werk vereisen. Een ander aspect is dat in programma’s datums kunnen worden doorgegeven aan andere (hulp)velden. Deze hulpvelden moeten natuurlijk ook worden aangepast. Om deze analyse te ondersteunen zijn er hulpmiddelen op de markt die de bronnen scannen en analyseren. Vervolgens kunnen ze helpen bij het door automatisering ondersteund aanpassen van de programma’s. Een aantal van deze hulpmiddelen kan ook de gang van specifieke velden in een programma volgen.
Andere manieren om de probleemvelden te traceren zijn: het raadplegen van de documentatie, het inspecteren van de programmatuur, het draaien van de programma’s op een testsysteem met een datum boven 2000, het invoeren van datums van na de eeuwwisseling en het raadplegen van de bedrijfsrepository.
Sidmar heeft zijn systemen gedocumenteerd in de MSP-repository. Er werden zo’n twaalfhonderd eeuw-gevoelige velden geïdentificeerd. Daarvan wordt nagegaan waar en hoe ze gebruikt worden.
Zilveren Kruis gaat ook de repository gebruiken om de probleemvelden te identificeren. Het bedrijf wijst daarbij op de Decibel-operatie die vorig jaar is uitgevoerd en waarbij de repository een vergelijkbare rol speelde.
Het ABP verwacht ook een apart testsysteem en een scanner te zullen gebruiken.
Alcatel heeft in de afgelopen drie conversieprojecten de reguliere documentatie, systeemspecialisten en de repository gebruikt om de velden te identificeren. In de repository staat niet gedocumenteerd of binnen een programma een datumvariabele aan een andere variabele wordt toegekend. Dit moet dus handmatig worden nagegaan. Het bedrijf heeft voor dit doel geen scanner in gebruik genomen. Het heeft dit wel overwogen, maar de uitvoer van deze hulpmiddelen was zo groot dat het ongeveer evenveel tijd zou kosten om die te interpreteren als handmatige inspectie van een programma.
Nadat is vastgesteld dat er geconverteerd moet worden, volgt het besluit hoe.
Bij Alcatel hielden de betrokkenen (in de loop van het project waren dat alle ontwikkelaars) zich niet langdurig met de conversie bezig. De planning was namelijk zodanig dat onder druk gewerkt moest worden en er geen tijd overbleef voor onderhouds- en nieuwe ontwikkelingen.
Conversie
Voor de systeem- en dataconversie bestaan ruwweg de volgende oplossingen.
– Het uitbreiden van de jaarvelden in zowel de gegevens als de programma’s van twee naar vier. Een aanzienlijke wijziging, maar de gegevens zijn dan verder volledig.
Dit is de keuze van Alcatel. De datum-gegevens zelf worden allemaal geconverteerd naar een acht-cijferig getal. De combinatie 240396 wordt omgezet in 24031996. Alle datum-velden worden op deze wijze geconverteerd om te voorkomen dat later tijdens het oplossen van fouten en het inspecteren van dumps gevraagd moet worden of het een ‘korte’ of een ‘lange’ datum was. Om de leesbaarheid te vergroten wordt bij de weergave op lijsten of een scherm een formaat van tien cijfers gebruikt. 240396 wordt bijvoorbeeld omwille van de leesbaarheid geconverteerd naar 24/03/1996.
– Het wijzigen van alleen de programmatuur. In de programmatuur wordt functionaliteit gebouwd die het mogelijk maakt om vast te stellen of de eeuw de twintigste of de eenentwintigste is. Als een veld bijvoorbeeld groter is dan 65, dan wordt er 19 voorgevoegd, en anders 20. Dit beperkt de geldigheid van de data. Bovendien kan het – wanneer zich later problemen met de programmatuur voordoen – moeilijk zijn om uit te zoeken om welk type veld het ging.
Het ABP zal deze keuze waarschijnlijk niet maken. Met name in de pensioensystemen wordt al gewerkt met pensioneringsdatums die al ver in de 21e eeuw kunnen liggen. Ook voor beleggingen en actuariële berekeningen is al rekening gehouden met eeuw-overschrijdingen. In de gegevensverzamelingen wordt de datum in het algemeen met acht cijfers opgeslagen. Het probleem zal veeleer in het consequent gebruik van de codering moeten worden gezocht.
Alcatel heeft de planning gemaakt en de eerste conversieprojecten uitgevoerd. Vooralsnog is er geen sprake van dat de software- en data-conversie op enige schaal wordt uitbesteed.
Naar schatting zal het ‘jaar 2000’-project circa twaalf manjaar in beslag nemen. Alle ontwikkelaars, ongeveer zeventig man, zullen in de loop van het project erbij betrokken raken. Voor de conversie-projecten worden niet extra mensen aangenomen. De huidige consultants worden wel in het project ingeschakeld.
Hulpmiddelen
Naast het gebruik van scan-tools en repositories zijn andere hulpmiddelen relevant. Voorbeelden zijn: generatoren en projectmanagement-, reengineering– en conversie-tools om de daadwerkelijke conversie van gegevens te ondersteunen.
Alcatel gebruikt de repository als informatiebron van betrokken velden en als plannings- en management-hulpmiddel.
Zilveren Kruis gebruikt de repository als informatiebron en voor impact-analyse. In de repository zijn de werkelijke betekenissen als items zijn opgeslagen met een verwijzing naar alle technische veldnamen die deze betekenis hebben, ongeacht systeem en platform. Het technische veld met de naam ‘Cdeigris’ bijvoorbeeld is als betekenis ‘Verrekeningsjaar’ te vinden. Het is aanzienlijk eenvoudiger om op deze betekenissen te zoeken dan op veldnamen.
Bij de oplossing van het ‘jaar 2000’-probleem kunnen bedrijven ook externe consultants inhuren.
Alcatel huurt voor de conversietrajecten geen extra externe consultants in.
Het ABP zal waarschijnlijk ook externe diensten vragen. Het bedrijf wordt benaderd door veel leveranciers die allemaal hun eigen verhaal hebben. Al deze benaderingswijzen dienen op hun merites te worden bekeken. Uiteindelijk zullen één of meerdere leveranciers worden gekozen.
De ING-Groep gaat geen langdurige test- en vergelijkingstrajecten in. Wellicht worden de diensten van meerdere leveranciers afgenomen. Het testen van de geconverteerde systemen kan op meerdere manieren gebeuren. Er kunnen testdata na 2000 worden ingevoerd, eventueel in samenhang met een hulpmiddel dat een wijziging van de systeemdatum simuleert. Het is ook mogelijk om de systemen te testen in een aparte testomgeving waar de systeemdatum na 2000 ligt. Het inrichten van zo’n systeem is echter een complexe zaak. Tape-backup faciliteiten en Racf functioneren bijvoorbeeld niet meer correct. Het ABP zal waarschijnlijk op deze wijze testen.
Alcatel test door datums na 2000 in te voeren.
Opstelling en bevindingen
De opstelling ten opzichte van leveranciers van software verschilt van geval tot geval.
Het ABP gaat de pakket-software mee testen. De bevestiging van een leverancier dat zijn software geen problemen geeft zal wel moeten worden gecontroleerd.
Er zijn nog geen ervaringen met al uitgevoerde conversie-projecten. De bevindingen van Alcatel komen in deel twee (volgende week) aan de orde.
Probeert men de IT-omgeving nu volledig te documenteren en de gegevens weer te gebruiken voor de Euro, datawarehousing, pakket-migratie enzovoort?
Het ABP vermoedt dat de Euro-problematiek veel groter is. Daar moeten vermoedelijk alle bedragen voorzien worden van een geldsoort-vermelding en zijn omrekeningsfuncties nodig die berekeningen uniform kunnen maken. Dit wordt een gigantische opgave. Het onderzoek moet nog starten, maar lijkt op de 2000-problematiek.
Alcatel zal de Euro-problematiek op dezelfde manier aanpakken als nu ‘2000’.
De ING-Groep onderkent dat de ‘2000’- en de Euro-aanpassingen zeker zullen interfereren.
De Euro levert een vergelijkbaar probleem als het jaar 2000, maar er zijn ook grote verschillen. De belangen die spelen bij de Euro zijn voornamelijk commercieel van aard, bij ‘2000’ alleen technisch.
Durk Gardenier is operations manager bij MSP te Oosterhout.
Volgende week verschijnt het laatste artikel uit deze serie van twee. Dat beschrijft de wijze waarop Alcatel de eerste daadwerkelijke conversies van systemen heeft doorgevoerd.