# ホスト別配信多重度の消費状態の修正

配信プログラムで配信処理を実行中に、何らかの理由により配信プログラムが強制終了されると、HULFTで使用する内部ファイル内に、配信処理で使用するホスト別配信多重度が消費されたままの状態になる場合があります。

配信プログラムが強制終了する例は以下のとおりです。

- 配信プログラムをアベンド（ABEND）モードで終了

  例）

        F 配信プログラムのジョブ名,ABEND

- OSのCANCELコマンドなどの機能で、配信プログラムを強制終了

- 配信プログラムの実行中にOSがシステムダウン、またはOSが強制停止

ホスト別配信多重度が消費されたままの状態になると、以下の結果になる場合があります。

- ホスト別配信多重度の最大値まで多重で配信処理を行うことができない。

- 他のホストには配信処理が可能であるにもかかわらず、特定のホストに対する配信処理が開始されず配信待ちになる。

ホスト別配信多重度消費状態修正プログラムを使用すると、ホスト別配信多重度が消費されていない状態に修正できます。事前に配信プログラムを停止する必要があります。

= 備考 =

ホスト別配信多重度が消費されていない状態にする方法として、システム制御ファイル（HULFT.SYSCNTL）を再創成する方法もありますが、事前に以下のプログラムを停止する必要があります。

- 配信プログラム

- 集信プログラム

- 要求受付プログラム

## ホスト別配信多重度消費状態修正プログラム

### プログラム名

XRHSMVFY

### 実行（EXECステートメント）パラメーター

       a
    [{D|V}]

a.編集方法
  D

    : ホスト別配信多重度が消費されている場合、多重度の状態がリストに出力されます。

    ホスト別配信多重度を修正する前に、EXECパラメーターに“D”を指定して、ホスト別配信多重度が消費されたままの状態のホストが存在するか確認してください。

    ホスト別配信多重度が消費されている場合、以下のリストが出力されます。

        * XRHSMVFY *  MULTIPLEX=0010,MAX=0020,HOST=HOST0001   ←ホスト別配信多重度は20だが、10消費されている状態
        * XRHSMVFY *  MULTIPLEX=0010,MAX=0010,HOST=HOST0002   ←ホスト別配信多重度は10だが、10消費されているため、配信待ちになる状態
        * XRHSMVFY *  DISPLAY NORMAL END

  V

    : ホスト別配信多重度が消費されたままになっている状態のホストがあれば、消費されていない状態に修正されます。

    事前に、EXECパラメーターに“D”を指定して、ホスト別配信多重度が消費されたままの状態のホストが存在するか確認してください。存在する場合のみ、配信プログラムを停止してから、EXECパラメーターに“V”を指定して、ホスト別配信多重度が消費されていない状態に修正してください。

    正しく修正されると、以下のメッセージが出力されます。

        * XRHSMVFY *  VERIFY NORMAL END

  省略すると、“D”が設定されます。

### XRSYSIN定義カード

HULFTシステムの動作環境を設定します。設定内容の詳細は、以下を参照してください。

HULFT10 for zOS アドミニストレーション マニュアル : 各項目の説明

定義カードの形式

    START-TASK=配信プログラムのジョブ名
    OPLSELECT=操作ログ出力選択(*1)
    CONTROL-FILE=システム制御ファイル名

*1 | : | 操作ログ出力機能を使用する場合は、操作ログ関連の設定が必要です。詳細は「操作ログの動作設定」を参照してください。

注意

- 配信処理が実行中に、EXECパラメーターに“D”を指定して本機能を実行すると、配信中のホスト別配信多重度が表示されてしまい、不正に消費されたものなのか判断ができない場合があります。

- 配信プログラムが起動中にEXECパラメーターに“V”を指定して本機能を実行すると、エラーになります。

- 複数システム間でシステムファイルを使用する環境の場合、実行中の配信プログラムが1つでもあると、本機能は使用できません。すべての配信プログラムを停止後、任意のシステムより本機能を使用してください。

### JCL例

    //XRHSMVFY JOB  CLASS=A,MSGCLASS=B
    //*===================================================*
    //*==  HOST SEND MULTIPLEX VERIFY UTL <<XRHSMVFY>>  ==*
    //*==    PARM                                       ==*
    //*==     'D' : DISPLAY FUNCTION                    ==*
    //*==     'V' : VERIFY FUNCTION                     ==*
    //*===================================================*
    //XRHSMVFY EXEC PGM=XRHSMVFY,PARM='D',REGION=1024K
    //STEPLIB  DD   DSN=HULFT.LOAD,DISP=SHR
    //XRSYSIN  DD   DSN=HULFT.PARMLIB(HULPRM),DISP=SHR
    //SYSOUT   DD   SYSOUT=*
    //

DD名 | 項目名 | 説明
--- | --- | ---
STEPLIB | HULFT.LOAD | HULFTロードモジュールライブラリー
XRSYSIN | HULFT.PARMLIB(HULPRM) | システム動作環境設定ファイル