# 再送処理の流れ

集信側ホストからも再配信処理を開始できます。

集信側ホストから再配信処理を開始するには、集信側ホストで再送要求プログラムを起動します。再送要求プログラムを起動して、相手ホストに再配信を要求することをHULFTでは「再送要求」と呼びます。

この処理は、配信側ホストの配信プログラムと要求受付プログラム、および集信側ホストの集信プログラムが起動済みであることを前提としています。

再送処理でも、ファイルの配信が中断された個所（チェックポイント）から転送できます。この転送を、HULFTでは「チェックポイント再送」と呼びます。チェックポイント再送を利用すると、配信ファイルのサイズが大きいなど、転送に時間がかかる場合に、ファイルを先頭から転送しなおすよりも時間の短縮になります。

チェックポイント再送を行わない場合、配信ファイルの先頭から転送されます。チェックポイント再送を行わない再送要求は、転送が中断された後に配信ファイルを変更したなど、データを先頭から配信しなおしたい場合に行ってください。

チェックポイント再送の処理の流れを図2.7 で説明します。

図2.7 チェックポイント再送の処理

1) 集信側ホストからの再送要求待ち

配信側ホストの要求受付プログラムは、集信側ホストからの再送要求を待ちます。

集信側ホストで再送要求が実行されると、配信側ホストの要求受付プログラムは、集信側ホストから実行された再送要求を受け付け、送信要求受付プログラムを起動します。

再送処理の場合、配信管理情報に配信前ジョブが登録されている場合でも、配信前ジョブは実行されません。

2) 再配信の指示

送信要求受付プログラムは、配信プログラムに再配信を指示します。

3) 要求受付履歴の書き込み

送信要求受付プログラムは、集信側ホストからの要求受付の結果を集配信履歴ファイルに書き込みます。

4) 配信ワークファイルまたは配信ファイルの読み飛ばし

チェックポイント再送の場合、配信プログラムは再配信待ちレコードの情報から配信済みレコード件数および配信済みデータサイズを判断し、配信ワークファイルまたは配信ファイルのすでに転送されているレコードを読み飛ばします。

= 備考 =

ワークファイル転送の場合、配信ワークファイルが読み飛ばされます。ダイレクト転送の場合、配信ファイルが読み飛ばされます。

5) 配信処理の実行

配信プログラムは、再配信待ちレコードの情報に従って、配信ワークファイルまたは配信ファイルのデータを相手ホストに転送します。

6) 配信履歴の書き込み

配信処理の終了後、配信プログラムは配信履歴を集配信履歴ファイルに書き込みます。

配信処理が異常終了した場合、配信プログラムは異常終了した転送の情報（再配信待ちレコード）を配信制御ファイルに書き込みます。このとき、再配信待ちレコードに個々の転送を識別するための通し番号（再配信処理番号）が付与されます。

= 備考 =

再配信待ちレコードに付与されていた再配信処理番号は再利用されません。異常終了ごとに新しい再配信処理番号が設定されます。

7) 配信後ジョブの起動

配信プログラムは、配信管理情報に登録された設定内容に従って配信後ジョブを起動します。配信管理情報には、配信が正常終了したときに起動する正常時ジョブと、異常終了したときに起動する異常時ジョブを、それぞれ登録できます。転送結果に応じて、どちらかのジョブが起動されます。

8) ジョブ実行履歴の書き込み

HULFTによって配信後ジョブに組み込まれたジョブ・ステップが、ジョブ実行履歴を集配信履歴ファイルに書き込みます。

= 備考 =

以下の方法で配信した場合、その配信と同一条件の再配信待ちレコードが配信制御ファイルから削除されます。

- 配信要求を実行して配信を行った場合

- 送信要求を受け付けて配信を行った場合

再配信待ちレコードが削除される条件は、システム動作環境設定の再配信待ちキューの削除条件（RESENDDEL）で設定します。