複数集信ファイル編集

複数集信の場合、ディスク容量不足などの理由で集信ファイルにデータを蓄積できない状態が発生すると、集信ファイルに蓄積途中のデータを残したまま終了します。その場合、集信ファイルと複数集信情報ファイルの整合性をとる必要があります。また、何らかの理由で再度データを受信する場合、前回分のデータの後に追加書きされるため、受信する前に前回分のデータを削除しなければなりません。

このような場合、複数集信ファイル編集プログラム(XRSTORE)を使用して、集信ファイルの整合性を簡単に確保できます。また、複数集信情報ファイルの内容をリストに表示したり、指定したホスト名、日付、時刻に該当するデータを集信ファイルから抽出することもできます。

複数集信ファイル編集プログラム

プログラム名

XRSTORE

実行(EXECステートメント)パラメーター

            a
[{EXT|REPAIR|LIST|CLEAR}]

a.編集方法
EXT

: 指定したホスト名、日付、時刻に該当するデータを複数集信ファイルから抽出し、出力ファイルに書き出します。

REPAIR

: 複数集信ファイルのマージ処理に失敗した場合に、複数集信情報ファイルの情報にしたがって複数集信ファイルの修復を行います。

LIST

: 複数集信情報ファイルの記述内容一覧をリストに出力します。

CLEAR

: 複数集信情報ファイルおよび複数集信ファイルの初期化を行います。

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

XRSYSIN定義カード

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

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

定義カードの形式

OPLSELECT=操作ログ出力選択(*1)
DATEFMT=日付形式

*1

:

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

XRCRD定義カード

複数集信ファイルを編集するための定義カードの形式は以下のとおりです。

定義カードの形式

            a                       b               c
[HOST=xxxxxxxx...xxx][,YMD=date1[-date2]][,TIME=hhmmss1[-hhmmss2]]
       d
[{,MOD|REP}]

= 備考 =

定義カードが2行にまたがる場合は、以下のいずれかの方法で定義カードを記述してください。

  • 1行目は71カラム目まで記述した後、72カラム目に「-」(ハイフン)を記述する。2行目は1カラム目から記述する。

  • パラメーターの後の「,」(カンマ)まで記述した後、半角スペースを空けた上で71カラム目までに「-」(ハイフン)を記述する。

定義カードの入力内容

a.ホスト名

抽出対象のホスト名を指定します(省略可)。

英大文字で始まる50バイト以内の英数字で指定します。

「日付」の指定を省略する場合は、必ず指定してください。

b.日付

抽出対象の日付を指定します(省略可)。

8バイトの数字で指定します。

日付はシステム動作環境設定の日付形式(DATEFMT)で設定した形式で指定します。

日付は以下のいずれかの形式で指定します。

  • YMD=date1

  • YMD=date1-date2

「YMD=date1-date2」で指定する場合は、「date1<date2」である必要があります。

「YMD=date1」で指定すると「date1」のデータが抽出されます。

「YMD=date1-date2」で指定すると「date1」から「date2」までのデータが抽出されます。指定した「date1」、「date2」も抽出の対象に含まれます。

「ホスト名」の指定を省略する場合は、必ず指定してください。

c.時刻

抽出対象の時刻を指定します(省略可)。

6バイトの数字で指定します。

時刻は以下のいずれかの形式で指定します。

  • TIME=hhmmss1

  • TIME=hhmmss1-hhmmss2

「TIME=hhmmss1-hhmmss2」で指定する場合は、「hhmmss1<hhmmss2」である必要があります。

「TIME=hhmmss1」で指定すると「hhmmss1」のデータが抽出されます。

「TIME=hhmmss1-hhmmss2」で指定すると「hhmmss1」から「hhmmss2」までのデータが抽出されます。指定した「hhmmss1」、「hhmmss2」も抽出の対象に含まれます。

「日付」を省略し、「時刻」のみ指定した場合、複数集信編集プログラム(XRSTORE)を実行した日が日付として自動的に設定されます。

d.出力モード

出力ファイルへの出力モードを選択します(省略可)。

MOD

: 出力ファイルに追加書きで出力します。追加書きは、複数集信ファイルと同じ属性が設定されているファイルに対して行われます。

REP

: 出力ファイルに上書きで出力します。

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

入出力ファイルの形式

 

DD名

ファイル編成

レコード長およびブロック長

レコード形式

複数集信情報ファイル

XRINF

順編成

レコード長110バイト

ブロック長110バイト

固定長ブロック化形式

複数集信ファイル

XRIN

順編成

任意

任意

出力ファイル

XROUT

順編成

複数集信ファイルと同じ

複数集信ファイルと同じ

  • パラメーターとDD名の組み合わせ

    パラメーター

    XRINF

    XRIN

    XROUT

    EXT

    複数集信情報ファイル

    複数集信ファイル

    出力ファイル

    REPAIR

    複数集信情報ファイル

    複数集信ファイル

    修復後の複数集信ファイル

    LIST

    複数集信情報ファイル

    未指定

    未指定

    CLEAR

    複数集信情報ファイル

    未指定

    複数集信ファイル

複数集信情報ファイルフォーマットの内容

項目名

バイト数

備考

配信元ホスト名

X

8

配信元ホスト名

配信日

9

8

YYYYMMDD

配信時刻

9

8

HHMMSSmm

レコード開始位置1

P

5

集信ファイルに格納した該当レコードの開始位置

レコード終了位置1

P

5

集信ファイルに格納した該当レコードの終了位置

配信元ホスト名

X

50

配信元ホスト名

レコード開始位置2(*1)

P

10

集信ファイルに格納した該当レコードの開始位置

レコード終了位置2(*1)

P

10

集信ファイルに格納した該当レコードの終了位置

X

:

キャラクター

P

:

パック

9

:

サイン無外部10進数

*1

:

レコード開始位置1およびレコード終了位置1と同じ内容が格納されます。

複数集信情報ファイルのデータセット名と創成ボリューム通番

データセット名

集信ファイル名.CNTL

創成ボリューム通番

集信ファイルと同じボリューム通番

JCL例

JCL例1

以下に、複数集信ファイルから抽出する場合のJCL例を示します。

//XRSTORE  JOB  CLASS=A,MSGCLASS=B                                              
//XRSTORE  EXEC PGM=XRSTORE,PARM='EXT'                                          
//STEPLIB  DD   DSN=HULFT.LOAD,DISP=SHR                                         
//XRSYSIN  DD   DSN=HULFT.PARMLIB(HULPRM),DISP=SHR                              
//XRINF    DD   DSN=HULFT.RCV.CNTL,DISP=SHR,UNIT=SYSDA,VOL=SER=HUL001           
//XRIN     DD   DSN=HULFT.RCV,DISP=SHR,UNIT=SYSDA,VOL=SER=HUL001                
//XROUT    DD   DSN=HULFT.INF.FILE,DISP=(NEW,KEEP,DELETE),UNIT=SYSDA,           
//             VOL=SER=HUL001,SPACE=(TRK,(5,1),RLSE)                            
//XRPRINT  DD   SYSOUT=*                                                        
//XRCRD    DD   *                                                               
HOST=ZOS,REP                                                                    
//                                                                              

DD名

項目名

説明

STEPLIB

HULFT.LOAD

HULFTロードモジュールライブラリー

XRSYSIN

HULFT.PARMLIB(HULPRM)

システム動作環境設定ファイル

XRINF

HULFT.RCV.CNTL

複数集信情報ファイル

XRIN

HULFT.RCV

複数集信ファイル

XROUT

HULFT.INF.FILE

出力ファイル

パラメーター名

項目名

説明

UNIT

SYSDA

UNIT

VOL=SER

HUL001

ボリューム名

JCL例2

以下に、複数集信情報ファイルをリスト表示する場合のJCL例を示します。

//XRSTORE  JOB  CLASS=A,MSGCLASS=B                                              
//XRSTORE  EXEC PGM=XRSTORE,PARM='LIST'                                         
//STEPLIB  DD   DSN=HULFT.LOAD,DISP=SHR                                         
//XRSYSIN  DD   DSN=HULFT.PARMLIB(HULPRM),DISP=SHR                              
//XRINF    DD   DSN=HULFT.RCV.CNTL,DISP=SHR,UNIT=SYSDA,VOL=SER=HUL001           
//XRPRINT  DD   SYSOUT=*                                                        
//                                                                              

DD名

項目名

説明

STEPLIB

HULFT.LOAD

HULFTロードモジュールライブラリー

XRSYSIN

HULFT.PARMLIB(HULPRM)

システム動作環境設定ファイル

XRINF

HULFT.RCV.CNTL

複数集信情報ファイル

リスト例

                                                                                                                        
  HOST-NAME                                             DATE       TIME       START-POINT         RECORD-COUNT  
  MVS-ST                                             2015/12/01  15:18:55                   1                  77
  HP-02                                              2015/12/01  16:45:00                  78                 100
  WINDOWS-XP99                                       2015/12/01  16:51:00                 178                 270