アプリケーションを待機させるためのもう1つの方法は、活動セッションのセッションidを指定し、Fetch関数のDBCHCLを使用して同期的待機状態を呼び出すことです。 待機状態は、指定したセッションが終了したときに終わります。
使用上の注意
2番目の方法には、活動セッションのうちどれが最初に終了するかがアプリケーションにはわからないという問題があります。 最初の方法(DBCHWATを用いる)には、セッションのアイドル(遊休時間)を減らしてスループットを最大にするという利点があります。 アプリケーションでは、セッションが終了すると同時に、応答を処理して別のリクエストをディスパッチすることができます。
アプリケーションでは、どれが活動セッションかを判定するDBCHWATを呼び出し、そのうちのどれかが終了するのを待ちます。リクエストが終了すると、DBCHWATは、セッション識別子、および完了したリクエストに関連付けられているユーザー指定のトークン(ある場合)を、応答と共に返します。 それから、呼び出したアプリケーションは応答を処理して別のリクエストをディスパッチし、再びDBCHWATの呼び出しを行なうことができます。
WindowsおよびLinuxは最大1024のセッションをサポートします(1つのプロセスに対して)。 その他のすべてのUNIXベース オペレーティング システムは、ulimit UNIXコマンドから返された最大ファイル記述子数に基づいてセッション制限を設定します。