サポートチーム便り2023.09.13
QUERYの定義情報を出力させる方法はありますか?
Question
QUERY内で定義した内容を確認するために一つひとつ、開いて確認しています。
オプションで6= 定義の印刷 もありますが、スプールファイルが定義1つに対して1スプールファイルができるので、同様に一つひとつ開いて確認しなければなりません。
使用しているファイルやフィールドを検索しやすくするには何か良い方法はありませんでしょうか。
Answer
QUERY 管理機能プログラム検索 (RTVQMQRY) とプログラム開発管理機能 (PDM) を組み合わせて使用してみてはいかがでしょうか。
RTVQMQRYを使うと、定義ファイルから定義内容をSOURCEにすることができます。
残念ながら、RTVQMQRYは*ALLが使用できないため、定義名を一つひとつ指定して行わなければなりませんが、PDMの機能を上手く使うと比較的簡単に定義情報を取り出すことができます。
以下、手順の例です。
QUERY定義を入れるSOURCE-FILEを作成します。
例)
↑ライブラリーは任意です。CRTSRCPF FILE(QGPL/QQRYSRC) RCDLEN(132) IGCDTA(*YES)
- STRPDM コマンドを実行し「2. オブジェクトの処理」を選択します。
- ライブラリーにQUERYの入っているライブラリーを指定、タイプに*QRYDFNを指定し、実行すると、QUERYの一覧ができます。
- 「F18= 省略時の値の変更」を押し、「オブジェクト・ライブラリー」にQUERYの入っているライブラリーを指定し実行キーを押します。
- 「F16= ユーザー・オプション」を押して ユーザー定義オプションの処理を開き「F6= 作成」を押します。
オプションとコマンドをそれぞれ指定し、登録します。
例)
QQ RTVQMQRY QMQRY(&L/&N) SRCFILE(&L/QQRYSRC) ALWQRYDFN(*YES)
- PDMの一覧に戻ります。上記の例はQQなので、一番上のOPT欄にQQと入れ、F13を押して繰り返しとし、実行キーを押します。
出来上がりましたら、PDMで確認してください。
例)
WRKMBRPDM QGPL/QQRYSRC
あとは、PDMの25=ストリング の検索のオプションでも良いですし、FNDSTRPDMも利用可能です。
PDMのユーザー定義オプションも意外と簡単に作れます。
まずは、テスト環境などでお試し頂き、うまくできたら本番で行って頂ければと思います。
by けやきのじぃじ