バッチJOBで文字列検索
By 渡辺 - Posted: 2009/09/05 Last updated: 2010/03/07
- Leave a Comment
データセットにある特定の文字列を探したいとき、たいていは、ISPF 3.14画面を利用して
検索されると思います。

ISPFの前景処理なので、検索している間は当然、そのセッションは使えませんよね。
大きいデータセットを検索する時や、複数データセットを検索する時には不向きだったりします。
そんなときには、バッチJOBで検索してみましょう。
ただし、場合によっては、CPUをかなり消費するケースがありますので注意しましょう。
処理パラメータがいっぱいありますので、まずは、全行・全列を、くまなく探すサンプルJCLを
ご紹介します。
“ANYC”は、小文字・大文字を区別することなく検索をするためのパラメータです。
この例では、対象データセットがPOデータセットだった場合、すべてのメンバーを
検索対象としてくれます。
検索したいメンバーを指定したい場合は、”SELECT”パラメータをSYSINに指定します。
検索した文字列がヒットすると、リターンコードが01になります。
ヒットしないと、リターンコードが00になりますので、検索の結果をリターンコードで
判別することもできます。
また、SYSINに”PROCESS LITNM=ISRSLJPN”を指定すると、下記のように日本語表示に
なります。
*このパラメータを使用したときには、ダブルバイトの文字列が含まれるため、
JOBLOGを参照するときには、文字化けしないように”S”ではなく”SB”で参照しましょう。

必要な方は、Publications ホームから対話式システム生産性向上機能 (ISPF) ユーザーズ・ガイド 第 2 巻 z/OS バージョン 1 リリース 10.0 (資料番号(SC88-8966-07))をダウンロードしてみてください。
*上記マニュアルの”付録A. SuperC の解説”(509ページ)をご参照ください。
英語のマニュアルになってしまいますが、
A.0 “z/OS V1R10.0 ISPF User’s Guide Vol II” IBM Library Serverのサイトも参照してみてください。
検索されると思います。

ISPFの前景処理なので、検索している間は当然、そのセッションは使えませんよね。
大きいデータセットを検索する時や、複数データセットを検索する時には不向きだったりします。
そんなときには、バッチJOBで検索してみましょう。
ただし、場合によっては、CPUをかなり消費するケースがありますので注意しましょう。
処理パラメータがいっぱいありますので、まずは、全行・全列を、くまなく探すサンプルJCLを
ご紹介します。
//SEARCH EXEC PGM=ISRSUPC,PARM=('SRCHCMP,ANYC') //NEWDD DD DISP=SHR,DSN=検索対象データセット //OUTDD DD SYSOUT=* //SYSIN DD * SRCHFOR '検索したい文字列' /* //EXEC文に指定している”SRCHCMP”は、検索をしたい時に指定するパラメータです。
“ANYC”は、小文字・大文字を区別することなく検索をするためのパラメータです。
この例では、対象データセットがPOデータセットだった場合、すべてのメンバーを
検索対象としてくれます。
検索したいメンバーを指定したい場合は、”SELECT”パラメータをSYSINに指定します。
検索した文字列がヒットすると、リターンコードが01になります。
ヒットしないと、リターンコードが00になりますので、検索の結果をリターンコードで
判別することもできます。
また、SYSINに”PROCESS LITNM=ISRSLJPN”を指定すると、下記のように日本語表示に
なります。
*このパラメータを使用したときには、ダブルバイトの文字列が含まれるため、
JOBLOGを参照するときには、文字化けしないように”S”ではなく”SB”で参照しましょう。

必要な方は、Publications ホームから対話式システム生産性向上機能 (ISPF) ユーザーズ・ガイド 第 2 巻 z/OS バージョン 1 リリース 10.0 (資料番号(SC88-8966-07))をダウンロードしてみてください。
*上記マニュアルの”付録A. SuperC の解説”(509ページ)をご参照ください。
英語のマニュアルになってしまいますが、
A.0 “z/OS V1R10.0 ISPF User’s Guide Vol II” IBM Library Serverのサイトも参照してみてください。
Posted in ありがたいサンプルJCL • • Top Of Page