リクエストの終了 - Call-Level Interface Version 2

Teradata® Call-Level Interfaceバージョン2リファレンス - ワークステーション接続システム

Product
Call-Level Interface Version 2
Release Number
17.10
Published
2021年6月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/ttt1608578409164.ditamap
dita:ditavalPath
ja-JP/ttt1608578409164.ditaval
dita:id
B035-2418
Product Category
Teradata Tools and Utilities

データベースがResp処理オプション下で実行依頼されたリクエストを処理しているときにTeradata SQL応答の最後のパーセルの入ったResponse(応答)メッセージを送った場合には、データベースはTeradata SQL応答を破棄して、Teradata SQLリクエストをクローズします。

データベースがKeepResp処理オプション下で実行依頼されたリクエストを処理しているときにTeradata SQL応答の最後のパーセルの入ったResponse(応答)メッセージを送った場合には、データベースはTeradata SQL応答を維持して、Teradata SQLリクエストをクローズしません。

Teradata SQL応答がデータベースによって保持されている場合に(最後のパーセルが送られていないか、KeepRespオプションが有効なため)、アプリケーション プログラムでそのTeradata SQL応答が必要でなくなれば、アプリケーション プログラムは、そのTeradata SQL応答を破棄させて、Teradata SQLリクエストをクローズさせることができます。次のセクションでこのプロセスについて説明します。

アプリケーション

DBCAREAで、アプリケーションは、セッションidとリクエストidを与え(DBCAREAが最後に使用された後で変更された場合)、関数コードをDBFERQに設定します。その後で、DBCHCLを呼び出します。

DBCHCL

DBCHCLは、DBCAREAのsetオプションのフラグを検査してオプションを調べるときに、DBCAREAまたは指定されたリクエスト用のRCBを使用するかどうかを最初に判定します。 setオプションのフラグが「Y」の場合はDBCAREAのオプションが使用され、それ以外の場合は、RCBのオプションが使用されます。 指定されたセッションが活動状態であれば、活動状態のリクエストのセッション識別子およびリクエスト識別子、MTDPRETに設定された関数コード、および選択されたオプション領域のwaitdataオプションのフラグの値に応じて設定されたwaitdataフラグを備えたMTDPが呼び出されます。

MTDP

MTDPは、指定されたリクエストが完了したかどうかを調べて、そのリクエストが完了しておらず、waitdataオプションが設定されていた場合には、その前のリクエストに対する応答メッセージが到着するかエラーが発生するまで待ったあとで、制御をDBCHCLに返します。

DBCHCL

MTDPが失敗した(障害のため、またはwaitdataオプションが設定されていなかったために)場合には、DBCHCLはエラー メッセージをアプリケーションに返します。 DBCHCLは、Cancelパーセルをリクエスト バッファのメッセージ本体の部分に作成し、MTDP制御ブロック内の関数コードをMTDPCONTに設定して、MTDPを呼び出します。

MTDP

MTDPは、Cancelパーセルを含んだContinue Request(リクエストの続行)メッセージをデータベースに送って、制御をDBCHCLに返します。

DBCHCL

MTDP制御ブロック内の戻りコードが正常でなければ、DBCHCLはエラー メッセージをアプリケーションに返します。 戻りコードが正常であれば、DBCHCLは、MTDP制御ブロックに「on」のwaitdataオプション、およびMTDPRETの関数コードを設定します。 DBCHCLは、次にMTDPを呼び出します。

MTDP

MTDPは、Continue Request(リクエストの続行)メッセージの到着を待ったあとで、制御をDBCHCLに返します。

DBCHCL

MTDPが処理の失敗を示していた場合には、DBCHCLはエラー メッセージをアプリケーションに返します。 そうでなければ、リクエスト用に割り当てられたバッファが空きメモリ プールに返され、RCBがSCBのリクエスト リストから削除されて空きメモリに返され、成功メッセージがアプリケーションに返されます。

アプリケーション

DBCAREAの戻りコードが正常でなければ、アプリケーション プログラムで、DBCAREAを適切に変更してDBCHCLに再び送ります。戻りコードが正常であれば、アプリケーションは応答を消費します。