99.3.14作成
99.3.19追記
最近新聞紙上で「西暦2000年問題」なる話題が取り上げられることが多くなってきました。
コンピュータ業界ならず各企業でも問題視されはじめ、やっと動き出した感があります。
しかし、私達の生活にどのくらいの影響があるか、まだ認識されている方が少ないようです。
というわけで今回のお題:
よく分かる(?)「西暦2000年問題」
*ご案内 解説画面を用意しました。
該当する「単語」をクリックすると、別画面を表示します。
結論から言うと、「西暦2000年問題」とは、コンピュータ(機械やプログラムを含めて)が
西暦2000年以降の日付を正しく認識して処理する事ができない問題の事です。
「そんなことは解っている」とおっしゃる方もいるのではないかと思いますが、では何故?と
疑問を持たれている方も多いのでは無いでしょうか?。
1990年代まで、コンピュータやその部品は高価な物が多かった事はご存知だと思います。
特に「メモリー」や「ハードディスク」はまだ容量も少なく、大型機のハードディスク容量で5ギガ
バイトを持つ機械は1980年代の終わりに一般化された歴史もあります。今では最新のPCで
8ギガバイトのハードディスクを内蔵している物もありますが^^;。
この様に「記憶」する為の機械的記憶容量が少ないため、極力データの長さを短くしようとの
目的で、西暦で管理している日付を’99と上2桁(19)を省略して書く様に、データ上の日付も
19を省略して記録するようになりました(JISにあります。最近修正した様ですが・・・)。
これらの手法は、欧米の技術をそのまま使っていたためだという意見もあります。
又、1980年代までは、2000年までこのプログラムが使われることが無いだろうと思われて
いた事(業務形態や産業構造の変化などによるコンピュータ全体の改修・交換の必要性)や、
日付に対するデータ処理上の重要性の認識不足(記録するだけ)、作業工数の軽減等、さま
ざまな問題が絡み合い、複雑化してきた問題を先送りした結果、今のように全世界で大きな
問題になってきたのでした。
実際にどの様なことになるかというと、8桁の電卓で9999999+1=と入力した時、答えは
10000000と表示されるはずです。ところが99999999+1=と入力した場合、−E−と表示
されるはずです。これは計算可能な桁数を超えた時(オーバーフロー)のエラー表示をします。
数字は0から始まって1,2,3,4,5,6,7,8,9と続き、0(10なので下1桁は0)と繰り返し
ますが、先程説明した上2桁を省略したデータを日付順に並び替えた場合、2000年のデータ
(00)は最初の方に表示され、1999年のデータ(99)は最後の方に表示されます。又、日付の
計算をする場合、2000年(00)から1999年(99)を引くと1年ですが、実際は00−99で答え
は「−99」となります。
2000年問題はこれら「桁あふれが起こる」「並び替えができない」「日付の計算ができない」
等が発生することによる、様々な問題の総称なのです。
では、具体的な例をあげて説明すると・・・。
*日付の計算
銀行からお金を預けたり借りたりした場合、「利子」がつきます。
1999年に1000万円を10年借りた場合、完済するのは2009年になります。
「10年間借りた時」であれば10年間の「年数」であることを認識させて計算します。
「2009年迄借りた時」とすると、1999年から2009年までの「期間」であることを認識させて
計算します。
期間から借りている年数を計算する式は「返す年−借りた年」ですから、「2009−1999」
です。しかし、西暦の上2桁を省略したデータだと、本来「10」と回答するところを「09−99」
の為に「−90」と回答してしまい、利子が存在しないことになってしまします。
又、1999年に借りて10年後に返す場合も年数の桁あふれが発生し、計算不能となります。
日本には「和暦」を採用することもあります。西暦を和暦に直す場合、99年(1999年)は
平成11年となりますが、00年だと平成12年とならず、明治33年と答えが出されることが考え
られます。さらに閏年計算では4で割り切れる年を閏年としていますが、00では計算できない
為、閏年でないと判断されることもあります。
*通帳の記帳
入金、振込など、銀行の「取り引き」は必ず通帳に取り引き日付が記帳されます。
1999年12月から記帳をしないで2000年2月に記帳した場合、日付順に記帳しますので
1999年12月、2000年1月、2000年2月の順に記帳されるはずです。ところが上2桁を
省略したデータで見ると、9912,0001,0002ですから2000年1月、2000年2月、最後
に1999年12月のデータとなり、順番が狂って記帳される可能性があります。
*間違った処理
1998年以前のデータを削除する場合、上2桁を省略したデータだと西暦2000年以降は
「00」「01」「02」・・・と記録されていますから「98>00,01,02」となり、本来削除しなくとも
良いデータが削除されてしまう危険性があります。
コンピュータの歴史は350年ほどであることをご存知でしょうか?。「パスカル」が計算機を
考案したのが1642年で、これがコンピュータの原型といわれています。
やがて、第2次世界大戦を経て軍事用に開発されていた電子計算機の技術を、商用に応用
したのが1950年代。当時はまだ真空管を使っていた時代です。
1960年代になると真空管に変わってトランジスタが組み込まれるようになり、1970年代に
なるとIC、1980年代にはLSIと、半導体技術が発達して、製造コストが安くなってきました。
記憶装置(処理結果などをしまっておく物)や入出力装置も平行して変わってきました。
例えば今ではほとんど使われなくなった5インチのフロッピーディスクは、10枚で1000円以下
で販売されていますが、15年前は1枚3000円〜5000円していました。当時はまだ紙テープ
や紙カードでデータを入力し、磁気テープでデータを保管することが多かったと記憶しています。
これらの技術は欧米諸国で研究・開発され、日本で発達したものもあります。3.5インチの
FDはドクター中松が特許をとられたことは有名なお話です。
前にも書きましたが、コンピュータは欧米で研究・開発された経緯を持つため、コンピュータ
言語で(プログラム言語)はアルファベットとアラビア数字で表記されています。とくにCOBOL
(コボル)という言語は英語に近い表現を用います。最近は日本語入力が可能になったものも
ありますが、結局は日本語を英語に翻訳して更にコンピュータ言語(機械語:オブジェクトとも
いいます)に翻訳(コンパイル)しているようです。
さて、対応方法ですが、まずコンピュータを持っていらっしゃる方から・・・。
*ハードウエアの確認をする。
こればかりはメーカーに確認しないとダメかもしれません。機種、購入年月などで、製造
メーカーに確認された方がいいと思います。
*2000年対応済みのソフトウエアをを使う。
OSは勿論、各種パッケージソフトも含めて対応されているかを確認する。
とくにMS−DOS時代からのパッケージソフトは注意が必要です。
又、自作したプログラムは、日付を使った項目や計算を再確認する必要があります。
もしあるならば、当然修正・改造が必要になります。
コンピュータ以外の問題について。
PC以外にも日付管理をしている機械はあります。例えばビデオデッキやオーディオの
タイマーなどが該当するはずです。
これらの機械類にはチップと呼ばれるマイクロコンピュータが内蔵されている為、やはり
確認が必要となります。(ビデオのGコードについては
これら以外にも、企業で使っている様々な機械に日付を使用するものがあり、チップの確認
作業が必要か否か、今新たな問題となっています。
マスコミ各社で報道されている「2000年問題」は、一部誇張されているところもありますが、
大筋では報道の通りです。最近では「99年問題」なるものも取り上げられています。
企業では修正作業に追われているようですが、未だに修正をしていない所もあるようです。
銀行・証券などの金融業、JRや航空会社、宅配便などの運輸業・サービス業、コンビニなどの
流通業など、システムの確認を急がなくてはならない業種は沢山ありますし、ある程度の対応
は完了していると思います。
しかしアメリカ政府などの報告では、まだまだ日本の対応は遅れていると言われています。
国内の調査機関でもまだ着手していない企業もありますし、未だ進行中と回答している企業も
回答数の半数近くに上ります。とくに事務系のシステムや製造系の機械に対する確認・更新
作業が遅れているようです。これらの原因は間接部門への投資に対する経営者の消極的な
姿勢に加え、不況による更新資金の不足等があげられます。これにより、すべての企業で
この問題が解決(対応完了)するのは、2001年以降とも言われています。
仮に現在対応を進めているとして、果たしていつまでの完了を予定しているのでしょうか?。
コンピュータシステムの導入/更新を行った場合、動作確認(テスト)や操作実習を行うのが
普通です。更にシステムの乗り換えやデータの変更が発生した場合はデータ移行(変換処理)
も行うことがあります。又、導入/更新前には機能や処理の設計を行います。
これらをクリアした上で、本番移行するタイムリミットは今年10月までと言われています。
今年いっぱいで変更を完了した場合、対応(変更)した内容の確認は2000年以降になり、
現在使用しているデータの移行や操作実習などを考えると、本稼働は最短でも4月以降となる
事が考えられます。ましてこれから対応する場合、あと半年で完了するにはよほど労力と人材
が必要になることは間違いありません。その場合は、現在販売されているパッケージソフトを
導入して、その内容に業務を併せて運用する方法はありますが、事務処理などで機能が不足
している場合や合わない場合等が考えられ、特殊な業務を行う場合はおすすめできません。
労力、時間、莫大なコストが必要な2000年問題ですが、ここまで発達したコンピュータ社会
で、コンピュータなしでの作業が成り立つのでしょうか?。特に経営者の方はシステム担当者
や事務担当者の意見に耳を傾けて頂きたいと思います。
ごらんになったみなさんからのご意見・ご感想をお待ちします。
それではまた・・・