a.12. 2000年問題 其の拾弐 | |||||||||
さらに、自動化出来ました。まず、Y2KCTLPというファイルを作成しました。 A C1REFD 1 COLHDG('REFERED')
A C1SEQ 5S 0 COLHDG('SEQ')
A C1FILE 10 COLHDG('対象ファイル名')
A*
A C1WRKF 10 COLHDG('作業ファイル名')
A C1LIB 10 COLHDG('FILEライブラリー名')
A C1SCRL 10 COLHDG('新ファイルDDS LIB')
A*
A C1PGM 10 COLHDG('変換PGM名')
A C1PGML 10 COLHDG('変換PGM LIB名')
A C1PSRC 10 COLHDG('変換PGM SRC MBR名')
A C1PSRL 10 COLHDG('変換PGM S.LIB名')
A DFT('Y2KSRC')
A C1HOLD 1 COLHDG('HOLD FLAG')
A*
A C1PIC 10 COLHDG('担当')
その後、このファイルに変換対象のファイル名や、条件を追加。この追加もプログラムでするようにして、なるべく手軽にしました。 このファイルを読みながら、(&C1PIC='KAKEFUDA'だけ)
DDSの修正開始さて、このプログラムもできて、DDSの修正に取りかかりました。最初は、すべての物理ファイルのDDSを修正します。その次に、RPGの修正ですが、サブシステム単位に、あるランク付け(たぶん難易度)でファイル単位に修正する。このとき、転送プログラムソースの自動生成によりログを取っているので、修正対象ファイルや、フィールドはデータとして落ちることになる。プログラムの修正はこれを参照する。そして、この転送プログラムソースの自動生成ツールは、新旧のDDSを比較して、異なるフィールドや属性を検出して、RPGソースを作ります。つまり、このDDSの変更作業は、今後の作業に取って、とても大事なのです。 以前、FNDSTRPDMをしたときに、該当ソースメンバーが出て来たので、それを当てにしました。でも、以下のことに注意です。
修正手順修正対象の物理ファイルのDDSを見つけたら、
本日、午後狂ったように、DDSを修正しました。120本くらい。8桁のものも対象にしたので、ファイル内の全フィールド8桁済みのものもありました。あとで分かったのですが、修正しないでいい、フィールドまで、間違えて、桁を修正していました。注意しなくては。 この後、DDSのリコンパイルを、Y2KCTLPを順次に読み込むCLPを作成して、流しました。さらに、その後、変換ソースを生成して、その、コンパイルまで出来ました。それから、データで、旧レイアウトでも8桁ですが、中身が00981229となっているものもあるので、これを探さなくてはいけません。 あとは、この実行と、実行結果の確認です。たしか、QRY管理で、ソースを作成すれば、出来たような気がする。NEWS400に出ていたかも。でも、今日はもう、くたくたなので、調べるのは明日にしようと思います。あしたは、取りあえず、残った、物理ファイルのソース(\のついてないもの)を再度検索します。とにかく、テスト機でのデータ移行は、今月中にやるぞ! 続く... |
|
You are at K's tips-n-kicks of AS/400
|
|
|||
|
|