IDIUTIL 削除ユーザー出口

IDIUTIL 削除ユーザー出口について、以下で説明します。

目的

この出口は、DELETE 制御ステートメントを使用して IDIUTIL バッチ・ユーティリティーを実行し、ヒストリー・ファイルの管理で障害項目の削除を制御できます (詳しくは、DELETE 制御ステートメントを参照してください)。この制御は、データ域フィールド UTL.PERFORM_ACTION を「Y」(項目を削除する場合) または「N」(項目を削除しない場合) に設定することによって行われます。フィールド UTL.PERFORM_ACTION は、出口を呼び出す前に「Y」に設定されます (ただし、障害項目がロックされている場合は除く)。この場合、ENV.LOCK_FLAG がブランクでないと、UTL.PERFORM_ACTION フラグに「N」が設定されます。UTL データ域の詳細については、UTL - IDIUTIL バッチ・ユーティリティー・ユーザー出口パラメーター・リストを参照してください。

ユーザー出口が呼び出される対象の障害項目は、指定された DELETE 制御ステートメント基準に一致する障害項目です。

呼び出されるタイミング

DELETE 制御ステートメントを使用して IDIUTIL バッチ・ユーティリティーが実行される場合は常に、この出口はヒストリー・ファイル内の障害項目ごとに 1 回呼び出されます。

パラメーター

パラメーターがどのように出口に渡されるかは、出口タイプ (REXX またはロード・モジュール) によって異なります。

Fault Analyzer は、IDIUTIL 削除ユーザー出口を呼び出す前に、特定の障害および有効な処理オプションの現行値を使用してパラメーター・リストを初期化します。

REXX

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

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

ロード・モジュール

この出口へのエントリーで、R1 には以下の 2 つのフルワードを構成するパラメーター・リストの 31 ビット・アドレスが含まれます。

以下は、REXX で書かれた IDIUTIL 削除ユーザー出口の例です。
1. REXX IDIUTIL 削除ユーザー出口の例
/* REXX */
if ENV.VERSION <> 5 then
  say 'Note: ENV data area version change - field usage review required!'
if UTL.VERSION <> 2 then
  say 'Note: UTL data area version change - field usage review required!'
UTL.PERFORM_ACTION = 'Y'  /* Delete current entry */
上記のサンプル出口がデータ・セット X.Y.Z のメンバー ABC として存在する場合、JCL DD ステートメント
//IDIEXEC DD DISP=SHR,DSN=X.Y.Z
および IDIUTIL バッチ・ユーティリティー制御ステートメント
Exits(DELETE(REXX(ABC)))
IDIUTIL バッチ・ユーティリティー・ヒストリー・ファイル管理ジョブに指定すると、出口が呼び出されます。