- DBCAREAがこのセッション用に最後に使用されたあとで別のセッション用に使用されていた場合には、このセッションのセッションidを与えます。
- USING修飾子を用いたTeradata SQL文がSTARTUP文字列に入っていた場合には、入力データの長さと入力データを指すポインタを与えます。
- 処理オプションの設定を変更します。
- 移動モードの処理オプションが選択されていた場合には、移動領域の長さと移動領域を指すポインタを与えます。
- 関数コードをRun Startupリクエスト(DBFRSUP)に設定します。
次に、アプリケーションはDBCHCLを呼び出します。
DBCHCL
DBCHCLは、レコード モード オプションのフラグの値に応じてメッセージ本体内のRunstartup、IVRunstartup、またはFMRunStartupのパーセルのどれかを準備し、次に、維持モードのフラグの値に応じてRespまたはKeepRespのパーセルを準備し、さらに、Teradata SQLリクエストがUSING修飾子を用いたTeradata SQL文をリクエスト バッファ内に含んでいた場合には、DataまたはIndicDataのパーセルを準備します。
MTDP制御ブロックで、DBCHCLは、リクエスト バッファを指すポインタとそのバッファ内のデータの長さ(LANヘッダー構造体を含む)を与え、応答バッファの長さと応答バッファを指すポインタを与え、selfrecovオプションを設定し(必要な場合)、さらに関数コードをMTDPSTAに設定します。さらにDBCHCLはMTDPを呼び出します。
MTDP
MTDPは、Start Requestメッセージを用意してデータベースに送ります。 MTDPは、そのあとで制御をDBCHCLに返します。
DBCHCL
MTDP制御ブロック内の戻りコードが正常で、始動の実行リクエストのための待機データ オプションがYに設定されていた場合には、DBCHCLは、MTDP制御ブロック内の待機データ オプションをTRUEに設定し、関数コードをMTDPRETに設定して、MTDPを呼び出します。
MTDP
MTDPは、Start Responseメッセージをデータベースから受け取ったかどうかを調べます。 待機データ オプションが「on」に設定された状態で、MTDPは、Start Responseメッセージの到着を待ち、その後制御をDBCHCLに返します。
DBCHCL
DBCHCLは、MTDP制御ブロック内の戻りコードに基づいてエラー メッセージまたは成功メッセージの文字列をDBCAREAのメッセージ フィールド内に生成して、制御をアプリケーション プログラムに返します。
アプリケーション
DBCAREAの戻りコードが正常でなければ、アプリケーション プログラムで、DBCAREAを適切に変更してDBCHCLに再び送ります。 戻りコードが正常な場合、DBCAREAを別のリクエスト用に同時に使用する予定があれば、アプリケーション プログラムでリクエストidを保存します。 アプリケーションは、別のリクエストの場合と同様にTeradata SQL応答を消費します。下の説明を参照してください。 これで、インターフェースが標準のTeradata SQLリクエストを処理する準備が整いました。