最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.06.23

a.6. 2000年問題 其の陸

[ Previous ] [ HOME ] [ Upper ] [ Next ]


不要プログラムの検索で、孤児となったファイルの検索をしていて、気づいたこと。

以下は、ツールでは、「孤児」と判定されたが、実は親がいたか、そもそも「孤児」でいいものでした。

  1. オンラインバックアップ用だった。つまり、プログラマー専用のデータ(リカバリー用)。消しちゃだめ!
  2. CLPでOVRDBF &FROM &TOと変数とすると、DSPPGMREFでは、参照ファイル名が&FROMと変数名で出ます。実際は、CLP内で変数にファイル名をセットしていますが、検索プログラムが、相手なし、と判定しました。(そりゃそーだ。ちなみに DLTOVR *ALLとすると、参照ファイル名が*ALLと出る。)
  3. 外部DS専用のファイル(EDSは、コンパイル時に内部定義を外部から取り込むだけなので、PGMREFには入らないようだ。でも、出てきてほしいよ。)
  4. サインオン画面ファイル(DSPPGMREFでは出てこない)
  5. 開発中の画面ファイル(作成日でわかった。)
  6. RJE用のファイル(穿孔ファイルや印刷ファイル、JCLファイル)
  7. ソースファイル(当たり前でした。)
  8. 臨時のDFU用の論理ファイル(DFU自体は、DSPPGMREFで出てきていたが、その論理ファイルはそれだけのために存在していた。孤児も同然。)

大体は、目論見どおりに、いくのですが(8割くらい)、上記のような例外(2割くらい)が出てきて、完全ではありませんでした。でも、その他多くは、確かに使用されていないものでした。

また、FNDSTRPDMでは、コメントの消し忘れで、ヒットしてしまうコメント内のファイル名があった。

上に出てきたものは、多分、ああそういえば、と皆さんも思い当たることがあるでしょう?

ソースやオブジェクトの整理方法は、結局次のようにしました。

  • ライブラリー:NOTUSEDを作成して、ここにRPG,DDS,DSPF,CLPなどのソースファイルを作成。
  • ライブラリー:TMPUSEDを作成して、ここにRPG,DDS,DSPF,CLPなどのソースファイルを作成。

そして、不要なオブジェクトやソースメンバーは、NOTUSED(ソースの上書きに注意)に、また、一時使用のオブジェクトやソースメンバーはTMPUSEDに移しました。オブジェクトはMOVOBJ、ソースはCPYSRCFとRMVMの複合です。これをPDMのオプションにセットして、要らないものを2つのライブラリーにまとめました。不要なものでも、いきなり消さないほうが、安全です。また次に、気をつけるべきは、オブジェクト記述内のソースファイルやソースメンバー名を使うときです。今存在するファイルをリネームして、新しくファイルを作成したら、その古いファイルも、新しいファイルも、同じソースファイル、同じソースメンバー名です。オブジェクト記述内のソースの変更日付が、ソースメンバーの変更日付と違うだけです。うっかり、私は不要オブジェクトを整理するとき、オブジェクト記述から変更日付を検査しないで、ソースファイル、ソースメンバー名を取り出したので、本番ソースまで不要対象となってしまい、慌てました。

それから、「無いよな」と思いつつも、ソースが見つからないオブジェクトを、オブジェクト記述から検索しました。中には、テストライブラリーのソースもあり(ないと思ったのだが)、仕方なく、オブジェクト記述からソースファイル、ソースメンバー名を取り出し、ありうるソースライブラリーを片っ端から(といっても4つくらい)で、CHKOBJをして、すべてCPF9815でおかしいものを、DSPOBJDでOUTFILEに書き出し(もちろん*ADDで)、あとでそのファイルを、QRYで出しました。結構ソースメンバーが見つからないオブジェクトがあることに驚きました。元々System38からAS/400への移行のとき、全リコンパイルしたので、ソースの無い物はないはずなのですが(自分が全リコンパイルをしたので、自信があった)、6年もたつと出てくるのですね。実際は、もう不要なものばかりでした。消し忘れにご注意!テストで使って、使用回数をあげておきながら、実際はソースだけ消して、プログラムだけ残ったようです。


この、プログラムの整理が完了したら、次には、日付フィールドを持つファイルを探し出します。これも、ボリュームとの戦いとなります。フィールド名が、標準化されていれば、まだしも、自分がこの会社に入る前の古いシステムでは、フィールドを数字の連番にしているものがあります。自分は、ニーモニックに、フィールド名に意味を持たせています。みんな共通ならいいのに。

続く...


[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

Ads by TOK2