# 集配信履歴ファイルの再編成

集配信履歴ファイルの履歴情報の削除を行うとDASDに未使用領域が発生し、DASDの使用効率上問題が発生します。未使用領域を効率的に使用できるように、履歴情報の削除を実施した後は、集配信履歴ファイルの再編成プログラムを使用し、再編成を行うことをお勧めします。

## 集配信履歴ファイルの再編成プログラムの起動

プログラム名

XRREORG

XRSYSIN定義カード（省略可）

定義カードの形式

    JESC=JESコマンドの頭文字
    OPLSELECT=操作ログ出力選択 (*1)

*1 | : | 操作ログ出力機能を使用する場合は、操作ログ関連の設定が必要です。詳細は、以下を参照してください。 HULFT10 for zOS オペレーション マニュアル : 操作ログ制御

完了コード

表3.22 完了コード

完了コード | 説明および対処
--- | ---
0 | 正常完了
4 | 処理したいファイルが使用中で、ユーザーが処理をキャンセルしました。
8 | エラーが発生しました。以下を参照し、出力されたエラーメッセージの対処を行ってください。 HULFT10 for zOS エラーコード・メッセージ : 集信処理の完了コードおよび詳細コード

注意

- 集配信履歴ファイルの再編成プログラムの実行中は、ジョブのキャンセルは行わないでください。実行中にジョブをキャンセルした場合、集配信履歴ファイルが破損することがあります。ジョブをキャンセルした場合は、本項の「異常時の復旧方法」を参照して集配信履歴ファイルを復旧してください。

- 集配信履歴ファイルの再編成プログラムの実行中、集配信履歴ファイルへの書き込み処理は待機します。配信後ジョブおよび集信後ジョブは、履歴が書き込まれた後に実行されるため、再編成中は配信後ジョブも集信後ジョブも実行されません。そのため、再編成中に集信を行った場合、集信管理情報の集信完了通知が“J（ジョブ完了）”に設定されていると、配信側ホストが集信システムの応答待ちとなり、タイムアウトすることがあります。

## 集配信履歴ファイルの再編成プログラムの使用方法

集配信履歴ファイルの再編成プログラムのJOBステートメントの例を以下に示します。

【JCL例】

    //XRREORG  JOB CLASS=A,MSGCLASS=B
    //XRREORG  EXEC PGM=XRREORG
    //STEPLIB  DD DSN=HULFT.LOAD,DISP=SHR
    //XRLOG    DD DSN=HULFT.LOG,DISP=SHR
    //XRLOG1   DD DSN=HULFT.LOG.PATH1,DISP=SHR
    //XRLOG2   DD DSN=HULFT.LOG.PATH2,DISP=SHR
    //XRSYSIN  DD DSN=HULFT.PARMLIB(HULPRM),DISP=SHR
    //XRPRINT  DD SYSOUT=*
    //XRWRK    DD DSN=HULFT.LOG.BKUP,
    //            DISP=(NEW,CATLG,CATLG),UNIT=SYSDA,
    //            SPACE=(CYL,(5,1),RLSE),VOL=SER=HUL001
    //SYSOUT   DD SYSOUT=*
    //SYSPRINT DD SYSOUT=*
    //

DD名 | 項目名 | 説明
--- | --- | ---
STEPLIB | HULFT.LOAD | HULFTロードモジュールライブラリー
XRLOG | HULFT.LOG | 集配信履歴ファイルIDキーファイル
XRLOG1 | HULFT.LOG.PATH1 | 集配信履歴ホスト名キーファイル
XRLOG2 | HULFT.LOG.PATH2 | 集配信履歴日付キーファイル
XRSYSIN | HULFT.PARMLIB(HULPRM) | システム動作環境設定ファイル
XRWRK | HULFT.LOG.BKUP | 集配信履歴ファイル（バックアップファイル）

パラメーター名 | 項目名 | 説明
--- | --- | ---
UNIT | SYSDA | UNIT
VOL=SER | HUL001 | ボリューム名

## 異常時の復旧方法

集配信履歴ファイルの再編成プログラムの実行中に異常が発生した場合、集配信履歴ファイルが破損することがあります。

集配信履歴ファイルの復旧方法を以下に示します。

1. 集配信履歴ファイルオープンコマンドを実行します。

HULFTシステムが稼動中の場合、HULFTシステムへ集配信履歴ファイルオープンコマンドを発行してください。集配信履歴ファイルオープンコマンドの詳細は、以下を参照してください。

HULFT10 for zOS オペレーション マニュアル : 集配信履歴ファイルオープンコマンド

2. HULFTシステムを終了します。

配信プログラム、集信プログラム、および要求受付プログラムを終了してください。HULFTシステムの終了方法は、以下を参照してください。

HULFT10 for zOS オペレーション マニュアル : HULFTの起動と終了

3. AMSコマンドのVERIFYコマンドを実行します。

AMSコマンドのVERIFYコマンドを実行します。

集配信履歴ファイルのクローズを妨げるエラーの後で、カタログにデータ・セットの終わりを正しく反映させます。AMSコマンドのVERIFYコマンドについては、「DFSMS Access Method Services for Catalogs」マニュアルを参照してください。

以下に、AMSコマンドのVERIFYコマンドのJCL例を示します。

- JCL例

      //VERIFY   JOB CLASS=A,MSGCLASS=B
      //VERIFY   EXEC PGM=IDCAMS
      //XRLOG    DD DSN=HULFT.LOG,DISP=SHR
      //XRLOG1   DD DSN=HULFT.LOG.PATH1,DISP=SHR
      //XRLOG2   DD DSN=HULFT.LOG.PATH2,DISP=SHR
      //SYSPRINT DD SYSOUT=*
      //SYSIN    DD *
           VERIFY FILE(XRLOG)
           VERIFY FILE(XRLOG1)
           VERIFY FILE(XRLOG2)
      //

  DD名 | 項目名 | 説明
  --- | --- | ---
  XRLOG | HULFT.LOG | 集配信履歴ファイルIDキーファイル
  XRLOG1 | HULFT.LOG.PATH1 | 集配信履歴ホスト名キーファイル
  XRLOG2 | HULFT.LOG.PATH2 | 集配信履歴日付キーファイル

4. RELOADを実行します。

集配信履歴ファイルのバックアップファイルからのローディング処理を行います。

以下に、RELOADを実行するJCL例を示します。

- JCL例

      //XRRELOAD JOB CLASS=A,MSGCLASS=B
      //STEPLIB  DD DSN=HULFT.LOAD,DISP=SHR
      //XRRELOAD EXEC PGM=XRREORG,PARM='RELOAD'
      //XRLOG    DD DSN=HULFT.LOG,DISP=SHR
      //XRLOG1   DD DSN=HULFT.LOG.PATH1,DISP=SHR
      //XRLOG2   DD DSN=HULFT.LOG.PATH2,DISP=SHR
      //XRWRK    DD DSN=HULFT.LOG.BKUP,
      //            DISP=(OLD,KEEP,KEEP),UNIT=SYSDA,
      //            VOL=SER=HUL001
      //XRSYSIN  DD DSN=HULFT.PARMLIB(HULPRM),DISP=SHR
      //

  DD名 | 項目名 | 説明
  --- | --- | ---
  STEPLIB | HULFT.LOAD | HULFTロードモジュールライブラリー
  XRLOG | HULFT.LOG | 集配信履歴ファイルIDキーファイル
  XRLOG1 | HULFT.LOG.PATH1 | 集配信履歴ホスト名キーファイル
  XRLOG2 | HULFT.LOG.PATH2 | 集配信履歴日付キーファイル
  OUT | HULFT.LOG.BKUP | 集配信履歴ファイル（バックアップファイル）
  XRSYSIN | HULFT.PARMLIB(HULPRM) | システム動作環境設定ファイル

  パラメーター名 | 項目名 | 説明
  --- | --- | ---
  UNIT | SYSDA | UNIT
  VOL=SER | HUL001 | ボリューム名

  注意

  集配信履歴ファイルの領域が不十分な場合、RELOADに失敗する場合があります。履歴レコードを格納するために十分な容量を指定して集配信履歴ファイルを再創生し、再度RELOADを実行してください。

以上で集配信履歴ファイルの復旧は完了です。

改めて集配信履歴ファイルの再編成プログラムを実行してください。

実行後に、配信プログラム、集信プログラム、および要求受付プログラムを再起動してください。詳細は、以下を参照してください。

HULFT10 for zOS オペレーション マニュアル : HULFTの起動と終了