1.コンピュータ西暦2000年問題
◇従来のコンピュータが、西暦を下2桁でしか認識しない様式であったため、2000年以降のデータを処理する場合にシステムがストップしたり、混乱したりする問題。
◇システムを保有する者は、プログラム・データの修正、システムの再構築等の対応が必要。
2.問題の背景
◇コンピュータでは、西暦年を下2桁で表記することが通例であった。
◇システムが更新された場合でも、コンピュータシステムにおける既存データの互換性確保の観点から、2000年問題を有するプログラムが継続使用された。
◇コンピュータでは西暦年を下2桁表記してきた
(1)1960〜1980年代のコンピュータの導入、普及時期においては、大量のデータを保存・処理することは技術的に困難であり、非常に高価なメモリやハードディスク容量の大幅な拡張なしには不可能であった。
(2)コンピュータ産業が育成されてきた欧米で、西暦年の下2桁表記が慣例であった。
(3)また、主に事務処理用コンピュータのプログラムに用いられているコンピュータ言語であるCOBOLのISO規格は、かつてコンピュータのハードウェアからプログラムへの西暦年データを受け渡すときに西暦年を下2桁で処理することが規格化されていた。
COBOL言語規格の経緯
1968年ANSI(米国規格協会)で「2桁年数処理」が規格化
1972年ISO(国際標準化機構)で「2桁年数処理」が規格化
1989年ANSI、ISOで「4桁年数処理」もオプションとして並記
1992年1992年のISO改正版の出版を受けて、JIS改正
3.想定される具体的事例
(1)基本的障害
○日付が設定できない
1999年に、1年後に必要な部品を発注した場合、その部品の納入処理が行われない。
○期間計算がおかしくなる
・年数の計算
・閏年の計算
西暦年下2桁では、2000年を閏年と判定できない。
○必要なデータが抽出されない
○必要なデータが消去される
部品在庫管理データファイルからデータが消去される
○日付順にデータが正しく並ばない
1900年代と2000年代が混在するデータを日付順に分類すると前後関係がおかしくなる。
○和暦表示がおかしい
「00」年を1900年と判断し、明治33年と表示。
(2)具体的障害
・2000年以降の予約不能
・商品受発注が不能
・金融取引に支障
4.対応方法
(1)準備
現行のシステム環境及び保守状況を調査し、実施計画を策定するとともに、社内へ啓発を行う。
(2)対応状況調査
ソフトウェア資産の棚卸、OS関係の対応策、業務プログラムの日付の使われ方、メーカの対応等を把握し、対応方針の決定の資料とする。
(3)方針決定
ハードウェアのリプレース、OSの変更、業務システムの修正、システム再構築等の対応方法を決定する。
(4)修正/再構築
OSの変更、業務プログラムの修正、データファイルの修正などを行う。システムの再構築を行う。
(5)テスト
修正されたプログラムテストのための環境設定、テストデータの準備などを行い、テストを実施し、修正結果の検証をする。
(6)本番移行
稼働環境の設定後、プログラム及びデータファイルを移行し、稼働結果の確認を行う。