ISPF 3.4 の行コマンドを使用した Fault Analyzer の起動

ISPF 選択メニューのオプションを使用した、Fault Analyzer ISPF インターフェースの標準的な起動の代替方法があります。ISPF オプション 3.4「データ・セット・リスト・ユーティリティー」パネルで、MVS ダンプ・データ・セット、ヒストリー・ファイル、または CICS® 補助トレース・データ・セットに対する行コマンドとして、Fault Analyzer ISPF インターフェースを直接起動するほうが便利な場合があります。この呼び出しには、選択したデータ・セットを使用して、対話式ダンプ分析の実行、障害項目の表示、または CICS® トレース情報の表示を即時に行うことができるという利点があります。ダンプ・データ・セットの「File」プルダウン・メニューを使用して当該アクションを開始したり、ヒストリー・ファイルのデータ・セット名を入力したりする必要はありません。

これを容易にするために、ISPF ユーザーの SYSEXEC 連結に割り振られたデータ・セットの 1 つで、(例えば、障害分析の FA という名前の) REXX exec が必要です。この exec 名は、ISPF オプション 3.4 のデータ・セット・リストで、ダンプ・データ・セット名、ヒストリー・ファイル・データ・セット名、または CICS® 補助トレース・データ・セット名の横に入力できます。exec は、正しい ISPF NEWAPPL ID を使用して Fault Analyzer を呼び出し、パラメーターとしてデータ・セットの名前を渡します。この exec は、その割り振り属性からデータ・セット・タイプを判別します。

FA exec は次のとおりです。

Parse Arg dsn .

If dsn = '' Then
  Do
    Say 'Data set name required.'
    Exit(4)
  End

/* Determine if dsn is a history file or a MVS DUMP.                 */
outl. =
x = Outtrap('OUTL.',,"NOCONCAT")
Address TSO "LISTDS " || dsn
x = Outtrap(OFF)

svcdump = 0
auxtrac = 0
If outl.0 > 2 Then
  Do
    lrecl = Word(outl.3,2)
    If lrecl = 4160 Then
      svcdump = 1
    Else
      If lrecl = 4096 Then
        auxtrac = 1
  End

/* Invoke the Fault Analyzer ISPF interface passing the appropriate  */
/* PARM string.                                                      */
/* NOTE: The HEAPZONES(0,ABEND) parameter is only required if this   */
/* is not the default Language Environment option in effect.         */
/* However, this parameter can be left as is regardless, without any */
/* adverse side effects.                                             */
Address ISPEXEC
If svcdump = 1 Then
  'SELECT PGM(IDIPDDIR) NEWAPPL(IDI) '!!,
  'PARM(HEAPZONES(0,ABEND)/DSN('dsn'))'
Else If auxtrac = 1 Then
  'SELECT PGM(IDIPDDIR) NEWAPPL(IDI) '!!,
  'PARM(HEAPZONES(0,ABEND)/AUXTRACEDSN('dsn'))'
Else
  'SELECT PGM(IDIPDDIR) NEWAPPL(IDI) '!!,
  'PARM(HEAPZONES(0,ABEND)/ISPFHISTDSN('dsn'))'
Exit

この例は、データ・セット IDI.SIDIEXEC にメンバー IDISFA として組み込まれています。

IDISFA は、IDI.SIDIEXEC が SYSEXEC 連結に含まれている限り、ISPF 3.4 データ・セットに対する行コマンドとして機能しますが、この exec を SYSEXEC 連結内の別のデータ・セットに、もっと短い名前 (FA など) でコピーするほうが便利な場合があります。