あるプログラム・オブジェクト (*PGM
) からコンパイルされた元の RPGソースを
探すとなると、適当にいつもある場所のソース・ライブラリーのメンバーを
PDM で検索するのは論理的な方法ではない。
自分が作成したプログラムであれば、ともかく他人が作成したプログラムの
ソース・メンバーを探すのであればオブジェクトを参照して、オブジェクト情報から
生成の元となっているソースを調べるのが正当な方法であると言える。
いくら PDM
で同じ名前のソース・メンバーが見つかったとしても
そのソースによってコンパイルされたのではなく、別のライブラリーにある
同じ名前のソースから生成されたものであるかも知れないからである。
■ プログラムのソースを探す
DSPPGM OBJLIB/MYPGM
+ 実行
によって、そのプログラムのタイプが OPM
であるか
ILE
であるかを調べる。
OPM であれば次のように直ちに元のソースを知ることができる。
プログラム情報の表示 プログラム . . . . . . : ANS004 ライブラリー . . . . . : QTROBJ 所有者 . . . . . . . . : QTR プログラム属性 . . . . : RPG プログラム作成情報 : プログラム作成日/時刻 . . . . . . . . . . . . . : 09/03/28 14:17:00 プログラムのタイプ . . . . . . . . . . . . . . . : OPM ソース・ファイル . . . . . . . . . . . . . . . . : QRPGSRC ライブラリー . . . . . . . . . . . . . . . . . : QTRSRC ソース・メンバー . . . . . . . . . . . . . . . . : ANS004 ソース・ファイル変更日/時刻 . . . . . . . . . . : 09/03/28 14:16:56 識別情報 . . . . . . . . . . . . . . . . . . . . : *ALL ユーザー・プロファイル . . . . . . . . . . . . . : *USER 借用権限の使用 . . . . . . . . . . . . . . . . . : *YES 固定 10 進数データ . . . . . . . . . . . . . . . : *NO テラスペース使用可能 . . . . . . . . . . . . . . : *YES
これに対して ILE の場合は,実行キーを次々と押していくと次のような
モジュールの表示画面が表示される。
プログラム情報の表示 画面 7 の 3 プログラム . . . . . . : PGM001 ライブラリー . . . . . : QTROBJ 所有者 . . . . . . . . : QDFTOWN プログラム属性 . . . . : RPGLE 詳細 . . . . . . . . . : *MODULE オプションを入力して,実行キーを押してください。 5= 記述の表示 6= 記述の印刷 デバッグ・ OPT モジュール ライブラリー 属性 作成日 最適化レベル データ PGM001 QTEMP RPGLE 07/12/10 *NONE *YES
「5= 記述の表示」を選択するとモジュールの生成の基となったソースが表示される。
プログラム情報の表示 プログラム . . . . . . : PGM001 ライブラリー . . . . . : QTROBJ モジュール属性 : モジュール . . . . . . . . . . . . . . . . . . : PGM001 ライブラリー . . . . . . . . . . . . . . . . : QTEMP ソース・ファイル . . . . . . . . . . . . . . . : QRPGLESRC ライブラリー . . . . . . . . . . . . . . . . : QTRSRC ソース・メンバー . . . . . . . . . . . . . . . : PGM001 モジュール属性 . . . . . . . . . . . . . . . . : RPGLE モジュール作成日/時刻 . . . . . . . . . . . . : 07/12/10 09:29:43 ソース・ファイル変更日/時刻 . . . . . . . . . : 07/12/10 09:29:39 コード化文字セット ID . . . . . . . . . . . . : 5026 作成データ . . . . . . . . . . . . . . . . . . : *YES ソート順序テーブル . . . . . . . . . . . . . . : *HEX 言語 ID . . . . . . . . . . . . . . . . . . . : *JOBRUN 最適化レベル . . . . . . . . . . . . . . . . . : *NONE 最大最適化レベル . . . . . . . . . . . . . . . : *FULL
この方法によって初めて PDM
や SEU
によってソースを表示するのが正しい方法である。