フォーマット・ユーザー出口

注: 通常のロード・モジュール・フォーマット・ユーザー出口は、フォーマット・ユーザー出口としてサポートされていません。ただし、特殊なロード・モジュール・フォーマット・ユーザー出口である IDIXUFMT が使用可能です。詳しくは、IDIXUFMT ロード・モジュール・フォーマット・ユーザー出口を参照してください。

目的

この出口は、分析レポートにユーザー固有のセクションを作成するために使用できます。ユーザー固有のセクションは、例えば分析中のアプリケーション環境に固有のデータ域をフォーマットするために使用できます。

このタイプの出口を呼び出すには、以下のような方法があります。

  1. Exits オプションを使用する。

    このオプションを使用すると、System-Wide Information セクションと Abend Job Information セクションの間にユーザー分析レポート・セクションが挿入されます。Exits オプションを指定する方法については、Exitsを参照してください。

    リアルタイムまたはバッチ再分析レポートでは、以下に示すように、System-Wide Information セクション と Abend Job Information セクションの間にユーザー分析セクションが挿入されます。
    ⋮
    <H1> S Y S T E M - W I D E   I N F O R M A T I O N
    ⋮
    <H1> U S E R<H1> A B E N D   J O B   I N F O R M A T I O N
    対話式再分析レポートでは、以下に示すように、Interactive Reanalysis Report 画面からユーザー分析セクションを選択できます。
    1.  Synopsis
    2.  Event Summary
    3.  System-Wide Information
    4.  User
    5.  Abend Job Information
    6.  Options in Effect

    呼び出されたすべてのフォーマット・ユーザー出口からのデータがレポートに組み込まれます。

    デフォルトの「User」の見出しは、UFM.USEROPTIONTITLE を別の値に設定することによって変更できます。いずれかのフォーマット・ユーザー出口で設定された最後の値が使用されます。

  2. EXEC コマンドを使用する。

    このオプションは、Interactive Reanalysis Report からのみ使用できます。EXEC コマンドの使用に関する詳細は、EXECを参照してください。

  3. APF 許可ライブラリー内の IDIXUFMT というロード・モジュールを使用可能にする。このタイプのフォーマット・ユーザー出口の詳細については、IDIXUFMT ロード・モジュール・フォーマット・ユーザー出口を参照してください。

フォーマット出口では、出口固有の UFM データ域の障害点イベントに関する情報が最初に提供されます。(UFM データ域の参照についてはパラメーターを参照。) しかし、IDIEventInfo コマンドを使用すると、すべてのイベントの情報を入手できます。この手順は IDIEventInfo コマンドで説明されています。

ロード・モジュールの存在に関する情報 (そのロード・アドレスおよび長さを含む) を取得するには、IDIModQry コマンドを使用します。この手順は IDIModQry コマンドで説明されています。

分析後の環境からストレージを取得するか、レポートにデータを書き込むには、以下のような追加コマンドが使用できます。
EVALUATE
このコマンドを使用して、分析後の環境からストレージを検索します。

このコマンドの詳細については、EVALUATE コマンドを参照してください。

List (リスト)
このコマンドを使用して、レポートにストレージを印刷します。

このコマンドの詳細については、LIST コマンドを参照してください。

Note
このコマンドを使用して、レポートに 1 行のテキストを印刷します。

このコマンドの詳細については、NOTE コマンドを参照してください。

LIST コマンドと NOTE コマンドのほか、HTML に類似したタグ言語も使用可能で、レポートの情報をさらに柔軟にフォーマットできます。このタグの詳細については、フォーマット・タグを参照してください。

タグ付きテキストを Fault Analyzer に返すには、以下の 3 つの方法のいずれかで IDIWRITE コマンドを使用します。

  1. 引用符付きストリングを使用する。
    例:
    IDIWRITE '<p>Paragraph text.'

    ストリングを囲むために、単一引用符 (') または二重引用符 (") のいずれかを使用できます。ただし、両方の文字は同じタイプである必要があります。

    ストリングに、そのストリングを囲むために使用されている引用符と同じ文字が含まれている場合、その文字を重複して 2 回指定してください。つまり、次のストリングを戻す場合
    'The TCB's address is not zero'
    次のように指定します。
    'The TCB''s address is not zero'
  2. 変数を使用する。
    例:
    data = '<p>Paragraph text.'
    IDIWRITE data
  3. UFM データ域を使用する。
    例:
    UFM.DATA_BUFFER = '<p>Paragraph text.'
    UFM.DATA_LENGTH = length(UFM.DATA_BUFFER)
    IDIWrite

    この方法は、主に非 REXX 出口用に提供されています。

    LIST コマンドと NOTE コマンドは、フォーマットに副次作用を与えることなく、タグ言語と合わせて使用できます。

呼び出されるタイミング

この出口は、Fault Analyzer の実行モードにかかわらず分析レポートのフォーマットで呼び出されます。さらに、このタイプの出口は、Interactive Reanalysis Report から EXEC コマンドを使用して、オンデマンドで呼び出すことができます。詳細については、ユーザー固有レポートのフォーマットを参照してください。

パラメーター

Fault Analyzer は、メッセージおよび異常終了コードの説明 ユーザー出口を呼び出す前に、特定の障害および有効な処理オプションの現行値を使用してパラメーター・リストを初期化します。

出口は、以下の 2 つのステムを使用できます。

定義された変数名は、フィールド名と同じです。例えば、ENV データ域のフィールド VERSION にアクセスするには、REXX 変数 ENV.VERSION を 使用します。

サンプル・フォーマット・ユーザー出口

次の REXX サンプルは IDI.SIDISAM1 のデータ・セット・メンバーとして指定されます。

サンプル出口がデータ・セット X.Y.Z のメンバー IDISUFMn として存在する場合、IDICNF00 構成メンバーまたは IDIOPTS ユーザー・オプション・ファイルのいずれかに次のオプションを指定すると、このサンプル出口が分析中に呼び出されます。

DataSets(IDIEXEC(X.Y.Z))
Exits(FORMAT(REXX(IDISUFMn)))

または、Interactive Reanalysis Report で EXEC IDISUFMn コマンドを入力して、この出口を呼び出すこともできます。

IDISUFM1
TCB 情報を表示するサンプル Fault Analyzer フォーマット・ユーザー出口。
IDISUFM2
CICS CWA 情報を表示するサンプル Fault Analyzerフォーマット・ユーザー出口。
IDISUFM3
Hogan アプリケーションで使用するサンプル Fault Analyzer フォーマット・ユーザー出口。
IDISUFM4
MVS ダンプ分析バッチ・ジョブで使用して、指定のヒストリー・ファイル内に障害項目を作成するサンプル Fault Analyzer フォーマット・ユーザー出口。この出口ではオプションとして、作成された障害項目に関する情報を使用して WTO メッセージの書き込みまたは E メール送信を行うことができます。
IDISUFM6
LE CAA と CIB をフォーマット設定するサンプル Fault Analyzer フォーマット・ユーザー出口。
IDISUFM7
Name/Token 値を表示するサンプル Fault Analyzer フォーマット・ユーザー出口。