【着眼点】
調査対象となるのはCOBOLのコンパイルリストである。

COBOL以外ではあまりコンパイルリストを用いることはないかもしれないので述べておくと、コードに記載していたCOPY句と呼ばれる定義されたファイルフォーマットなり処理なりの名称を記述することで、使い回すことができるのだ。
コンパイルリストではこのCOPY句が展開されている。また、コンパイルオプション次第かもしれないが、どの定義が何行目で利用されているか、表示されるのである。

コンパイルリストは紙に出力することが多いが、その前段階としてデータとして確保されることも多い。SYSOUTログとか呼ばれていたっけ。

そのコンパイルリストのデータをパソコンに転送し、チェックすれば「2000年問題の危険箇所」を洗い出すことが可能ではないか?

【ロジックに落とす】
文字列として、怪しいものは分かっている。さらに、桁数まであっていれば大変怪しい。そういう部分を「怪しい部分」を洗いだそう。COBOLには「集団項目」という考え方がある。年を含む集団項目を操作していたら、これは注意ぐらいは出したい。

COBOLのDATA DIVISION を洗い、そこで構造を確認し、まずは色塗り。その後、PROCEDURE DIVISION の該当箇所を色塗り、として漏れないようにしよう。
VBAで初めてツールらしいものを作ったといえば「2000年問題調査ツール」である。

【イントロダクション】
ある金融系のシステムで、2000年を控え、問題箇所を洗い出す要員にアサインされた。大型汎用機で、主にCOBOL。一部アセンブラもあった。

アセンブラは本数自体が少なく、それぞれの機能も明確に分かっていたので、調査範囲は狭くて済んだ。しかし、COBOLは相当膨大であった。取り敢えず「コンパイルリストを目で追うしかない」というのが当初の見解であった。

しかし、当時構築したメンバーに確認すると、
・年は YYYY,YY,NEN,YEAR に分かれているものの、表現としては限定される。
・型も 9 か X で、桁数が 4 もしくは 2 である。
・中にはCOMP-3とか、桁数を節約している領域もある。
とのことであった。

そういう人力作業は大嫌いである。そこで、覚えたばかりのVBAを使えないか、と考えることにした。
11n対応の無線ルータも、対応しているPCも増えてきた。
が、しかし、11b/gもまだまだ利用されているし、11b/gだと干渉するために11aを使えた方がいい事も多い。よって、切り替えて11a/b/g/nを利用できた方がいい場合がある。

今のところ、各メーカーのラインナップはこんなところか。

NEC Aterm WR8700N(HPモデル) PA-WR8700N-HP/NEC

¥価格不明
Amazon.co.jp

BUFFALO Air Station NFINITI Giga 11n/a/g/b対応 無線.../バッファロー

¥12,075
Amazon.co.jp

コレガ(アライドテレシス) 11n準拠 11a/g/b同時利用 無線LANルータ オールギガ対.../コレガ

¥15,225
Amazon.co.jp

もう少し浸透してくれば価格も下がるだろうか。