タイガー!タイガー!じれったいぞー!(SE編)

AS400, Java, JavaEE, JSF等の開発、習慣など。日々の気づきをまとめたブログ(備忘録)

【AS400】複数ソースプログラムでのフィールド利用調査方法

ソースプログラム内で、このフィールドがどこで使われているかな?と調査するケースがよくあるかと思います。
IDEであれば、プロジェクト内でキーワード検索をかければ一発なのですが、P-COMMオンリーでは厳しいものがありますね。

しかしながら、PDMのオプション25の検索機能を使えば、少しは簡単に調査できるようになります。
その操作方法をまとめます。

まずは、WRKMBRPDMコマンドにて、ソースメンバーの中身を表示させます。

                           PDM を使用したメンバーの処理  
                                                    
  ファイル . . . .   RPGLESRC                                                   
    ライブラリー .     TIGER                 位置指定  . . . . . . 
                                                      
  オプションを入力して,実行キーを押してください。   
  2= 編集     3=コピー     4= 削除     5= 表示      6= 印刷      7= 名前の変更 
  8= 記述の表示    9= 保管    13=テキスト の変更     14=コンパイル    15=モジュール 作成 ...
                                                                   
 OPT  メンバー       タイプ        テキスト                                 
 25   SAMPLE20    RPGLE        計算テスト(四捨五入、切捨てなど)   
      SAMPLE21    RPGLE        計算テスト(オーバーフロー)        
      SAMPLE22    RPGLE        計算テスト(オーバーフロー)モジュラー型 
      SAMPLE22B   RPGLE        計算テスト(オーバーフロー)モジュラー型  
      SAMPLE23    CLLE         自作コマンド CHKIFS を使ったファイル存在チェック
      SAMPLE24    RPGLE        日付フィールド等への書き込みテスト 
      SAMPLE25    RPGLE        時間差を求める                    
      SAMPLE26    RPGLE        例外モニター ( PSSR 動作テスト )  
                                                                       続く ... 
  パラメーターまたはコマンド                                        
 ===>                                                               
 F3= 終了              F4= プロンプト       F5= 最新表示         F6= 作成 
 F9= コマンドの複写    F10= コマンド入力    F23=オプション の続き    F24=キー の続き


そうしましたら、先頭のソースにOpt25を入力した後に、F13キーを押します。

                           PDM を使用したメンバーの処理                
                                                                                
  ファイル . . . .   RPGLESRC                                                   
    ライブラリー .     TIGER                 位置指定  . . . . . .              
                                                                                
  オプションを入力して,実行キーを押してください。                              
  2= 編集     3=コピー     4= 削除     5= 表示      6= 印刷      7= 名前の変更    
  8= 記述の表示    9= 保管    13=テキスト の変更     14=コンパイル    15=モジュール 作成 ...
                                                                                
 OPT  メンバー       タイプ        テキスト                                              
 25   SAMPLE20    RPGLE        計算テスト(四捨五入、切捨てなど)               
 25   SAMPLE21    RPGLE        計算テスト(オーバーフロー)                     
 25   SAMPLE22    RPGLE        計算テスト(オーバーフロー)モジュラー型         
 25   SAMPLE22B   RPGLE        計算テスト(オーバーフロー)モジュラー型         
 25   SAMPLE23    CLLE         自作コマンド CHKIFS を使ったファイル存在チェック 
 25   SAMPLE24    RPGLE        日付フィールド等への書き込みテスト               
 25   SAMPLE25    RPGLE        時間差を求める                                   
 25   SAMPLE26    RPGLE        例外モニター ( PSSR 動作テスト )                 
                                                                       続く ... 
  パラメーターまたはコマンド                                                    
 ===>                                                                           
 F3= 終了              F4= プロンプト       F5= 最新表示         F6= 作成       
 F9= コマンドの複写    F10= コマンド入力    F23=オプション の続き    F24=キー の続き  
  オプション 25 が SAMPLE20 からリストの終わりまで反復された。                  


すると、指定したソースに続くすべての選択ソースにOtp25がセットされます(同一画面のソースだけでなく、次ページのソースへも25がセットされます)。

実行キー打鍵にて、ストリングの検索画面が開かれるので、検索文字を指定すれば、 実行キーで、先のソースを1つずつ検索をかけてくれます。

                               ストリングの検索                                 
                                                                                
  選択項目を入力して,実行キーを押してください。                                
                                                                                
    検索  . . . . . . . . . . . . .   W@YYMD                                    
      開始桁番号  . . . . . . . . .   1         1 - *RCDLEN                     
      終了桁番号  . . . . . . . . .   *RCDLEN   1 - *RCDLEN                     
      一致の種類  . . . . . . . . .   2         1= 大文字小文字を区別           
                                                2= 大文字小文字の区別を無視     
    オプション  . . . . . . . . . .   5         *NONE, 有効なオプション         
      プロンプト  . . . . . . . . .   N         Y= はい, N= いいえ             
    リストの印刷  . . . . . . . . .   N         Y= はい, N= いいえ             
    レコードの印刷  . . . . . . . .   N         Y= はい, N= いいえ             
      検索する数  . . . . . . . . .   *ALL      *ALL, 番号                      
      印刷形式  . . . . . . . . . .   *CHAR     *CHAR, *HEX, *ALTHEX            
      レコードのマーク付け  . . . .   Y         Y= はい, N= いいえ             
      レコード・オーバーフロー  . .   1         1= 折り返し, 2= 切り捨て       
    バッチでストリングを検索  . . .   N         Y= はい, N= いいえ             
    パラメーター  . . . . . . . . .                                             
                                                                                
                                                                                
 F3= 終了    F5= 最新表示    F12= 取り消し    F16= ユーザー・オプション         
 F18= 省略時の値の変更      

走査検索の画面では、実行キー打鍵で次のソースに移ります。
F14キー打鍵では、同一ソース内での検索を続行します。 F3キーにて、すべての検索処理を終了してくれます。

検索キーワードは、フィールド名だけでなく、予約語でも日本語コメントでも何でもオッケーです!

IDEを使っていない開発現場では、地味な機能ながら、よく使う機能かと思っています。