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