【着眼点】
調査対象となるのはCOBOLのコンパイルリストである。
COBOL以外ではあまりコンパイルリストを用いることはないかもしれないので述べておくと、コードに記載していたCOPY句と呼ばれる定義されたファイルフォーマットなり処理なりの名称を記述することで、使い回すことができるのだ。
コンパイルリストではこのCOPY句が展開されている。また、コンパイルオプション次第かもしれないが、どの定義が何行目で利用されているか、表示されるのである。
コンパイルリストは紙に出力することが多いが、その前段階としてデータとして確保されることも多い。SYSOUTログとか呼ばれていたっけ。
そのコンパイルリストのデータをパソコンに転送し、チェックすれば「2000年問題の危険箇所」を洗い出すことが可能ではないか?
【ロジックに落とす】
文字列として、怪しいものは分かっている。さらに、桁数まであっていれば大変怪しい。そういう部分を「怪しい部分」を洗いだそう。COBOLには「集団項目」という考え方がある。年を含む集団項目を操作していたら、これは注意ぐらいは出したい。
COBOLのDATA DIVISION を洗い、そこで構造を確認し、まずは色塗り。その後、PROCEDURE DIVISION の該当箇所を色塗り、として漏れないようにしよう。
調査対象となるのはCOBOLのコンパイルリストである。
COBOL以外ではあまりコンパイルリストを用いることはないかもしれないので述べておくと、コードに記載していたCOPY句と呼ばれる定義されたファイルフォーマットなり処理なりの名称を記述することで、使い回すことができるのだ。
コンパイルリストではこのCOPY句が展開されている。また、コンパイルオプション次第かもしれないが、どの定義が何行目で利用されているか、表示されるのである。
コンパイルリストは紙に出力することが多いが、その前段階としてデータとして確保されることも多い。SYSOUTログとか呼ばれていたっけ。
そのコンパイルリストのデータをパソコンに転送し、チェックすれば「2000年問題の危険箇所」を洗い出すことが可能ではないか?
【ロジックに落とす】
文字列として、怪しいものは分かっている。さらに、桁数まであっていれば大変怪しい。そういう部分を「怪しい部分」を洗いだそう。COBOLには「集団項目」という考え方がある。年を含む集団項目を操作していたら、これは注意ぐらいは出したい。
COBOLのDATA DIVISION を洗い、そこで構造を確認し、まずは色塗り。その後、PROCEDURE DIVISION の該当箇所を色塗り、として漏れないようにしよう。