IBM i(AS400)で保守や調査作業をしていると、「この画面はどのDSPF?」「この処理はどのRPGやCLで動いてる?」と、プログラムの特定に悩むことがあります。今回は、DSPF(表示ファイル)やQRPG・CLプログラムなどのオブジェクトの探し方をまとめてみました。
① WRKJOBで実行中のジョブから調べる
まず、画面を表示している状態で以下を実行します:
WRKJOB
次に、「14:オープンされているファイルを表示する」を選択すると、現在使用しているオブジェクトが表示されます。
② WRKOBJ で名前を調査
ファイル名や画面名に見覚えがある場合、以下のように検索してみると該当オブジェクトが見つかることがあります。
WRKOBJ OBJ(LIB名/名前) OBJTYPE(ALL)
→オブジェクトについては、後ろに*をつければ名前の一部でも検索可能
たとえば WRKOBJ OBJ(ALL/CUS*) OBJTYPE(PGM) のように検索すれば、「CUS」で始まるプログラムを一覧できます。
③ DSPOBJD でソースや最終使用日を確認
もし、使用されているかもと思ったオブジェクトが見つかれば、使用回数や最終利用日などの詳細情報を確認してみましょう。
DSPOBJD OBJ(MYLIB/対象オブジェクト) OBJTYPE(*PGM)
④DSPPGMREFでプログラムの参照関係を表示する
このコマンドを使うと、対象プログラムがどのファイルやプログラムを参照しているかを一覧で出力できます。逆に、「このDSPFはどこで使われてる?」といった調査にも活用できます。
おわりに
AS400のプログラムや画面の構成は、システム全体に影響するため、調査は慎重に行いたいところです。今回ご紹介した方法を覚えておけば、DSPF・QRPG・CLのオブジェクトをより効率よく把握でき、時間短縮につながります!ご参考になれば、幸いです!