ABAP 特定の文字列の使用箇所を調べる方法

  SAPの小技

特定の文字列の使用箇所を調べたい

特定の文字列の使用箇所を調べたいという経験はあるだろうか?
例えば、固定で消費税’0.08’を使用しているかどうか調べたい、通貨’JPY’を設定しているプログラムを調べたい等といった事だ。

オブジェクトとして作成したものであれば使用先一覧からどのプログラムで使用していうのかというのが簡単に調べる事ができるが、
固定文字を使用している場合は全てのプログラムを一つずつ調べていく方法しかないだろう。

そこで使用できるのが、標準で提供されているRS_ABAP_SOURCE_SCANというプログラムだ。
使用方法はSE38で検索条件を入力し実行するだけで検索に一致したプログラム名+該当のソースコードを一覧に出力してくれる。

選択項目

検索される文字列:調べたい文字を入力。
プログラム名:検索対象とするプログラム名。アドオンプログラムであればZ*等で良い。
Dynpro:スクリーン番号だと思われる。
プログラムタイプ:実行可能プログラム、インクルード等の制限。検索ヘルプを参照して選択。
アプリケーションプログラム、汎用モジュール、論理 DB:モジュールの選択。プログラム作成時にしっかり入力していると有効だろう。
プログラム作成:作成者のID
変更者:変更者のID
パッケージ:アドオンプログラムであればZ*等で良い。
汎用グループ:汎用グループ名での制限。
クラス/Interface:クラス名での制限。
見つかった位置 +/- x 行:デフォルト2
Includeを展開:On/Off
Modificationアシスタント変更:On/Off
コメント行を無視:On/Off
ABAPプログラム:ラジオボタン
Dynpro制御ロジック:ラジオボタン
ABAPとDynpro:ラジオボタン
バージョンデータ:On/Off

実行結果

プログラム名、該当箇所の前後一行のALV表示
ダブルクリックで該当プログラムへのジャンプ機能