# 同期転送指定時の待ち時間

配信要求と送信要求は、転送の結果を待つ（同期転送）モードと転送の結果を待たない（非同期転送）モードを選択できます。転送の結果を待つ（同期転送）モードで実行した場合、転送の結果を待つ時間を設定する必要があります。

同期転送は、要求発行を行う方法の違いにより、プロセス間の通信方法や同期転送で処理を待つプログラムが異なります。したがって、タイムアウトを検知する値が異なる場合があります。大きく分けて以下の2パターンがあります。

- 配信要求の場合

- 送信要求の場合

## 配信要求の場合

図4.6 同期転送待ち時間（配信要求）

1) 配信要求コマンドが発行されると、配信要求コマンドは配信システムに対して配信の依頼を行います。

同期転送の場合、配信システムがファイル転送を終了するまで、配信要求コマンドは待ち状態になります。

2) 配信要求コマンドはファイル転送終了後結果を受け取り、終了します。

ただし、2) でファイル転送結果を待つための設定時間が短かった場合、ファイル転送は正常終了しても配信要求コマンドがタイムアウトで終了します。その待ち時間の設定を、同期転送待ち時間として設定します。

注意

- 集信管理情報が以下の条件を満たす場合は、集信前ジョブの実行時間も考慮する必要があります。

  - 集信前ジョブIDが設定されている (*1)

- 集信管理情報が以下の条件をすべて満たす場合は、集信後ジョブの実行時間も考慮する必要があります。

  - 正常時ジョブIDが設定されている

  - 集信完了通知が“正常時ジョブ完了”

### 指定方法

HULFT for zOS

配信要求プログラム（XRSNDGO）

  同期転送待ち時間の指定ができないため、HULFTの設定によりタイムアウトすることはありません。

HULFT for IBMi

配信要求コマンド（UTLSEND）

  コマンドのパラメーター

  - 'W=' 待ち時間（秒）

  上記指定がない場合は、タイムアウト値は無制限となります。

HULFT for Linux/AIX

配信要求コマンド（utlsend）

  コマンドのパラメーター

  - -w 待ち時間（秒）

  上記指定がない場合は、システム動作環境設定のユーティリティー応答待ち時間を使用します。

HULFT for Windows

配信要求コマンド（utlsend.exe）

  コマンドのパラメーター

  - -w 待ち時間（秒）

  上記指定がない場合は、システム動作環境設定のソケットリードタイムアウトを使用します。

## 送信要求の場合

図4.7 同期転送待ち時間（送信要求）

1) 送信要求コマンドが発行されると、配信側の要求受付システムに対して要求を行います。

送信要求コマンドは、要求受付システムから結果が通知されるまで待ち状態になります。

2) 要求受付システムは、配信システムに対して配信の依頼を行います。

3) ファイル転送終了後、配信システムは、要求受付システムに転送終了を通知します。

4) 要求受付システムは、通知された結果を送信要求コマンドに返します。

ただし、4) でファイル転送結果を待つための設定時間が短かった場合、送信要求コマンドはタイムアウトで終了しますが、その後ファイル転送は継続します。その待ち時間の設定を、同期転送待ち時間として設定します。

注意

- 要求受付側（配信側）がHULFT for Mainframeの場合、以下の条件をすべて満たした場合のみ同期転送待ち時間の指定が有効になります。

  - 要求発行、要求受付側のHULFTがともにVer.6.3以降

  - 要求受付側のシステム動作環境設定の要求受付同期待ちモード（REQWAITMODE）が“1”

  上記以外の場合、送信要求コマンド発行側で同期転送待ち時間を指定しても要求受付側のHULFT for Mainframeはタイムアウトしません。送信要求コマンド側では、指定したタイムアウト時間を経過しても要求受付側から応答がない場合、タイムアウトとなります。

- ネットワークの異常などで、無通信タイムアウト時間を経過しても要求受付から制御が戻らない場合、通信タイムアウトとなります。 (*1)

- 要求受付側（配信側）がHULFT for IBMiの場合は、システム動作環境設定のパケット送信を“パケットを送信する”に設定する必要があります。

- 集信管理情報が以下の条件をすべて満たす場合、集信側の正常時ジョブの実行待ち時間も同期転送待ち時間に含まれます。この点も考慮して同期転送待ち時間を設定してください。

  - 正常時ジョブIDが設定されている

  - 集信完了通知が“正常時ジョブ完了”

- 要求受付側（配信側）がHULFT for XSPで配信前ジョブが設定されていた場合、配信前ジョブの実行待ち時間も同期転送待ち時間に含まれます。この点も考慮して同期転送待ち時間を設定してください。

*1 | : | 無通信タイムアウトについては、「無通信タイムアウト時間」を参照してください。

### 指定方法

HULFT for zOS

送信要求プログラム（XRRCVREQ）

  起動JCL、XRCARD定義カード

  - TIME=同期転送待ち時間（秒）

  上記指定がない場合は、要求受付がHULFTの設定によりタイムアウトすることはありません。ただし、無通信タイムアウト時間を経過しても要求受付から応答がない場合には、送信要求は無通信タイムアウトとなります。詳細は「無通信タイムアウト時間」を参照してください。

HULFT for IBMi

送信要求コマンド（UTLRECV）

  コマンドのパラメーター

  - 'W=' 同期転送待ち時間（秒）

  上記指定がない場合は、システム動作環境設定のソケットリードタイムアウトを使用します。

HULFT for Linux/AIX

送信要求コマンド（utlrecv）

  コマンドのパラメーター

  - -w 同期転送待ち時間（秒）

  上記指定がない場合は、システム動作環境設定のユーティリティー応答待ち時間を使用します。

HULFT for Windows

送信要求コマンド（utlrecv.exe）

  コマンドのパラメーター

  - -w 同期転送待ち時間（秒）

  上記指定がない場合は、システム動作環境設定のソケットリードタイムアウトを使用します。