出力キュー検索ツールがついに登場!
私個人の考えですが、技術者はいくら多くのツールを手にしても、多すぎることはないと思います。IBMの優秀な人々が、我々が行っている作業を支援するソフトウエア ツールを提供してくれていることに対して私はありがたく思っています。また、自らが書いたソフトウエア ツールを、フリーでシェアするべく公開してくれている人々に対しても感謝しています。そして、本誌の熱心な読者であるTim Swearingen氏が作成したツールを、この場でご紹介できることを私は実にうれしく思います。
このツールは、Search an Output Queue(SRCHOUTQ)というCLコマンドで、隙間を埋めてくれるツールと言えます。SRCHOUTQを使用すると、出力キューのスプール ファイルの中の文字列を検索することができます。うれしいことに、検索は大文字小文字を区別せずに行えます。以下は、Tim氏による、このツールについての説明です。
今年初め、あるプロジェクトで作業していた際に、ユーザーから報告が寄せられていない、偶発的な障害に見舞われました。問題があることは把握したのですが、再現させることはできませんでした。ジョブ ログにはその問題の報告があったものの、その問題を探して何千件ものジョブ ログをふるいにかける作業は、手に余るものがありました。
この記事で使用されているコードは、 ここからダウンロードできます。 Qshellのcatsplfおよびgrepユーティリティを使用してスプール ファイルのテキストを検索できるという記事を読んだことがありました。そのことがモチベーションとなって、目的の文字列を探して出力キューを検索し、結果を表示するようなツールを作成してみようという気になった次第です。
このプログラムは、テキスト検索実行時に高速に動作しません。選択した出力キューで、各スプール ファイルのしらみつぶし式テキスト検索を行う必要があります。けれども、このプログラムはあまり多くのシステム資源を消費しません。
*NAMEで検索を実行するときは、スプール ファイルの属性のみをスキャンするため、検索はずっと高速になります。検索される属性は、名前、オーナー、またはユーザー データです。NAME検索を行うと、OUTQにあるスプール ファイルのグループを容易にサブセット化することができます。
SRCHOUTQには、3つのパラメーターがあります。
パラメーター | 説明 | 備考 |
---|---|---|
OUTQ | 検索する出力キューの名前です。 | F4を押すと、ライブラリー リストで出力キューのリストが プロンプト表示されます。 |
SRCHTYPE | 実行する検索の種類を指定します。*TEXT検索は、スプール ファイル内のテキストを検索します。*NAME検索は、OUTQ内 のスプール ファイルの属性を検索します。 |
*TEXT = スプール ファイルでテキスト文字列を検索します。 *NAME = Name、Owner、またはUser dataでスプール ファイルを 検索します。 |
SRCHSTRING | 検索引数です。 | 大文字小文字を区別しません。 |
以下がプロンプト画面です。
以下が検索の結果です 。
Tim氏は次のように述べます。 結果は、Work with Output Queue(WRKOUTQ)コマンドのオプションと似たようなオプションとともに画面に表示されます。表示オプションは、物理ファイルSRCHOUTQOPからロードされます。必要に応じて、オプションを追加、変更、または削除することができます。
この記事のリンクから、2本の保存ファイルをダウンロードできるようになっています。SRCHOUTQ保存ファイルには、IBM i 7.1用にコンパイルされた、このツールのすべてのオブジェクトが含まれています。SRCHOUTSRCは、ソース コードです。
Tim氏は、SRCHOUTQという名前のライブラリーを作成し、保存ファイルからそのライブラリーへすべてのオブジェクトをリストアするよう勧めていますが、必ずしもそのようにしなければならないわけではありません。希望する任意のライブラリーに、オブジェクトを置くことも可能です。
このユーティリティを読者仲間に公開しようというTim氏のお気持ちに感謝いたします。このツールが読者の皆様のお役に立つことをお祈りします。