CA Top Secret:多数の特定データセット・プレフィックスを対象にしたログのレポートの取得方法

book

Article ID: 140947

calendar_today

Updated On:

Products

CA Top Secret

Issue/Introduction

多数の特定データセット・プレフィックスを対象にログのレポートを取得するにはどうすれば良いでしょうか? 例えば、300個ほどのプレフィックスを対象にしたい場合です。

TSSUTILユーティリティには下記の制限があることが分かっています。
-DATASETキーワードに指定できるプレフィックスの最大数は8です。
-1つのTSSUTILジョブにREPORTステートメントを複数指定すると、各REPORTステートメントの処理毎にオーディット・ファイル全体が読み込まれるため、かなり時間がかかってしまいます。つまり、REPORTステートメントが3つ指定されていると、オーディット・ファイルが3回読み込まれることになります。

今回要望しているようなレポートを生成する良い方法はないでしょうか?

Environment

OS: z/OS

Resolution

オーディット・ファイル内のログ・エントリはSORTを使って特定のデータセット名の分だけ抽出して、別のファイルに作成することが可能です。この別のファイルはTSSUTILユーティリティの入力として使用できます。
このような方法ならオーディット・ファイルの読み込みは1回で済み、プレフィックスは8個までという制約も問題になりません。

手順としては下記のようになります。

TSSUTIL EXTRACT処理を実行してオーディット・ファイルをPSファイルにコピーします。
SORTを使用して、特定のデータセット名に関連するログを抽出します。データセット名は178バイト目から始まるフィールドに格納されています。
TSSUTIL REPORT処理において抽出データセットを入力として使⽤します。

以下はサンプルのJCLです。
//.... JOB
//TSSUTIL EXEC PGM=TSSUTIL
//UTILOUT  DD SYSOUT=*
//SMFOUT   DD DISP=(,PASS),DSN=&&SMFOUT,
//            UNIT=SYSDA,
//            DCB=(RECFM=VB,LRECL=465),SPACE=(CYL,(10,5))
//SYSPRINT DD SYSOUT=*
//SMFIN    DD DISP=SHR,DSN=tss.AUDIT
//UTILIN   DD *
EXTRACT EVENT(ALL)
/*
//SORT    EXEC PGM=SORT,REGION=4096K,PARM='SIZE(320000)'
//SYSOUT   DD SYSOUT=*
//SORTIN   DD DSN=&&SMFOUT,DISP=(OLD,DELETE)
//SORTOUT  DD DSN=&&OUTDS,SPACE=(CYL,(10,5)),DISP=(,PASS),UNIT=SYSDA
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SORTWK04 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SORTWK05 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SORTWK06 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSIN           DD *
SORT FIELDS=COPY
INCLUDE COND=(178,4,CH,EQ,C'SYS1',OR,
       178,5,CH,EQ,C'TEST1',OR,
       178,5,CH,EQ,C'TEST2',OR,
       .
       . 
       .
       .
       .
       .
       .
       .
       178,5,CH,EQ,C'PRODZ')
END
/*
//TSSUTIL2 EXEC PGM=TSSUTIL
//UTILOUT   DD SYSOUT=*
//SYSPRINT  DD SYSOUT=*
//SMFIN     DD DISP=(OLD,DELETE),DSN=&&OUTDS
//UTILIN    DD *
REPORT EVENT(ALL)
/*

補足:SMFOUTのレイアウトはPrefix.CAKOMAC0ライブラリの#SMF80及び#FLOGメンバにて確認できます。最初のx'51'バイト(10進数の81バイト)はSMF80 DSECTにマップされており、残りのバイト分についてはFLOG DSECTにマップされています。

TSSUTILの詳細については「CA Top Secret Reporting」の’TSSUTIL Utility’をご覧下さい。