Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 運用と操作


1.4.2 アプリケーション起動サービスのMCFメイン関数の作成方法

アプリケーション起動機能とMCFイベント処理用MHPを使用する場合,プロトコル用とは別に,アプリケーション起動サービス用にMCFメイン関数をコーディングし,コンパイルおよびリンケージを行ってアプリケーション起動サービスの実行形式プログラムを作成する必要があります。

MCFメイン関数ではスタート関数(dc_mcf_svstart)を発行します。

タイマ起動引き継ぎ決定UOCを使用する場合は,アプリケーション起動サービス用のメイン関数で,タイマ起動引き継ぎ決定UOCのアドレスを指定してください。タイマ起動引き継ぎ決定UOCは,MCFメイン関数と同じ言語(K&R版 C,ANSI C,またはC++)で作成してください。タイマ起動引き継ぎ決定UOCについては,マニュアル「OpenTP1 プログラム作成リファレンス C言語編」を参照してください。

アプリケーション起動サービス用のMCFメイン関数のコーディング概要を図1-7図1-8に示します。

図1‒7 アプリケーション起動サービス用のMCFメイン関数のコーディング概要(ANSI C,C++の場合)

[図データ]

  1. アプリケーション起動サービス提供のヘッダファイルを取り込みます。

  2. 使用するUOCの関数をextern宣言します。UOCのリターン値はDCLONG型にしてください。

    タイマ起動引き継ぎ決定UOCを使用する場合だけコーディングしてください。

  3. UOCテーブルをextern宣言します。

    タイマ起動引き継ぎ決定UOCを使用する場合だけコーディングしてください。

  4. タイマ起動引き継ぎ決定UOCの関数アドレスを,次に示すシステム提供変数に設定します。

    dcmcf_uoctbl.rrntime /*タイマ起動引き継ぎ決定UOCアドレス*/

    タイマ起動引き継ぎ決定UOCを使用する場合だけコーディングしてください。

  5. スタート関数を発行します。必ずコーディングしてください。

    スタート関数を呼び出したあとは,MCFメイン関数に制御が戻りません。このため,スタート関数のあとにコーディングした処理は実行されませんので,ご注意ください。

図1‒8 アプリケーション起動サービス用のMCFメイン関数のコーディング概要(K&R版 Cの場合)

[図データ]

  1. アプリケーション起動サービス提供のヘッダファイルを取り込みます。

  2. 使用するUOCの関数をextern宣言します。UOCのリターン値はDCLONG型にしてください。

    タイマ起動引き継ぎ決定UOCを使用する場合だけコーディングしてください。

  3. UOCテーブルをextern宣言します。

    タイマ起動引き継ぎ決定UOCを使用する場合だけコーディングしてください。

  4. タイマ起動引き継ぎ決定UOCの関数アドレスを,次に示すシステム提供変数に設定します。

    dcmcf_uoctbl.rrntime /*タイマ起動引き継ぎ決定UOCアドレス*/

    タイマ起動引き継ぎ決定UOCを使用する場合だけコーディングしてください。

  5. スタート関数を発行します。必ずコーディングしてください。

    スタート関数を呼び出したあとは,MCFメイン関数に制御が戻りません。このため,スタート関数のあとにコーディングした処理は実行されませんので,ご注意ください。