Aborting a Request: Example | Analytics Database (SQL Engine) - リクエストのアボート: 例 - Call-Level Interface Version 2

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

Product
Call-Level Interface Version 2
Release Number
17.20
Published
2022年10月10日
Language
日本語
Last Update
2022-11-21
dita:mapPath
ja-JP/zws1641280432166.ditamap
dita:ditavalPath
ja-JP/obe1474387269547.ditaval
dita:id
B035-2418
Product Category
Teradata Tools and Utilities

例えば、セッションが作成済みであり、前述の単一バッファ処理をして巻き戻しをしない例のように、リクエストが開始された場合に、アプリケーションがそのリクエストをアボートするには、以下を実行する必要があります。

アプリケーションは、DBCAREA内の関数コードをアボート(DBFABT)に設定して、DBCHCLを呼び出します。

このことは、エンドユーザーがリクエストをアボートする必要がある場合には、Wait For Responseオプションがnoに設定された状態で、以前から保留中のリクエストをアプリケーションによって実行依頼しなければならず、これにより開始応答がデータベースから返される前にアプリケーションが制御権を得られることを意味します。

DBCHCL

DBCHCLは、リクエスト バッファを割り当て、リクエスト バッファのメッセージ本体の部分にAbortパーセルを置きます。 DBCHCLは、セッションIdとリクエストIdをMTDPCBに置き、関数コードをMTDPABOTに設定して、MTDPを呼び出します。

MTDP

MTDPは、Abort Requestメッセージを用意してデータベースに送り、Abort Responseメッセージを待ちます。 MTDPは、そのあとで制御をDBCHCLに返します。

DBCHCL

MTDP制御ブロック内の戻りコードが正常でなければ、DBCHCLは、DBCAREAが指しているエラー メッセージをアプリケーションに返します。 戻りコードが正常であれば、そのリクエストに割り当てられたバッファが空きメモリに返されて、RCBがRCBリストから削除されて空きメモリに返されます。

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