Tools

4. XREFPGM プログラム相互参照

XREFPGM コマンドは、ある指定したデータ・ベースがどのプログラムやDFU, QUERY/400などに使用されているかを調べることができる。
つまりプログラムの相互参照を提供する。

XREFPGM は弊社製品 PANEL-WORKER の機能のひとつである。
2000年問題のときは相互参照はおおいに役に立った。
プログラム相互参照は他のツールなどでも存在しているがバッチで作業ファイルを作成したりして時間を要する。

これに対して XREFPGM は、今すぐ相互参照を調べることができる。
さらに XREFPGM は使用されている QUERY も調べることができる。
QUERY を調べることができるのは XREFPGM だけである。

データ・ベースのレコード・レイアウトを変更したいときはどのプログラムに影響があるのかを
前もって調べておく必要がある。
また、このデータ・ベースはどのプログラムによって更新されているのかを調べたいときも
あるであろう。
このようなときに XREFPGM があれば、確実に処理をもれなく行うことができる。
また XREFPGM はフィールド別にも更新明細をきめ細かく調べることもできる。

【 導入の方法 】

コマンド XREFPGM  を導入して、

CRTCMD MYLIB/XREFPGM MYLIB/XREFPGMCL AUT(*ALL)

でコンパイル

CLP XREFPGMCL を導入して オブジェクト・ライブラリー名'&MYLIB'をSEU で変更して

CRTCLPGM MYLIB/XREFPGMCL SRCFILE(MYSRCLIB/QCLSRC)  AUT(*ALL)

でコンパイル

CLP RTVOBJDAT を導入して オブジェクト・ライブラリー名'&MYLIB'をSEU で変更して

CRTCLPGM MYLIB/RTVOBJDAT SRCFILE(MYSRCLIB/QCLSRC)  AUT(*ALL)

でコンパイル

CLP RTVQRYFCL を導入して オブジェクト・ライブラリー名'&MYLIB'をSEU で変更して

CRTCLPGM MYLIB/RTVQRYFCL SRCFILE(MYSRCLIB/QCLSRC)  AUT(*ALL)

でコンパイル

PF XPGMF を導入して

CRTPF MYLIB/XPGMF SRCFILE(MYSRCLIB/QDDSSRC)  LVLCHK(*NO) AUT(*ALL)

でコンパイル

RPG RTVQRYF を導入して

CRTRPGPGM MYLIB/RTVQRYF SRCFILE(MYSRCLIB/QRPGSRC)  AUT(*ALL)

でコンパイル

RPG XREFPGM を導入して

XREFPGM + F4 キーを押して下図のように実際に XREFPGM を実行する。

プログラムがすべて揃っていないので、実行エラーになるが、この実行によってコンパイルに必要な作業ファイルがすべて作成される。

CRTRPGPGM MYLIB/XREFPGM SRCFILE(MYSRCLIB/QRPGSRC)  AUT(*ALL)

でコンパイル

RPG FLDXREF を導入して

CRTRPGPGM MYLIB/FLDXREF SRCFILE(MYSRCLIB/QRPGSRC)  AUT(*ALL)

でコンパイル

RPG RTVPGMD を導入して

CRTRPGPGM MYLIB/RTVPGMD SRCFILE(MYSRCLIB/QRPGSRC)  AUT(*ALL)

でコンパイル

CLP RTVPGMDCL を導入して

CRTCLPGM MYLIB/RTVPGMDCL SRCFILE(MYSRCLIB/QCLSRC)  AUT(*ALL)

でコンパイル

【 実行 】

XREFPGM + F4キー でファイルとプログラムやQUERY が保管されているオブジェクト・ライブラリーもあわせて指定する。
オブジェクト・ライブラリーは最大10個まで同時に指定することができる。