例として、セッションが作成されており、上で述べた単一バッファ処理をして巻き戻しをしない場合の例のようにリクエストが始動された場合について考えます。 アプリケーションでリクエストをアボートする場合には、以下の処理を実行しなければなりません。
アプリケーションは、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に再び送ります。