Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス C言語編


メイン関数の作成(SUP,SPP,MHP)

〈このページの構成〉

形式

mainという関数名を持ちます。その他は,コーディングに使うC言語の仕様に従って作成します。OpenTP1では特に制限はありません。メイン関数は,この節の記述に従って任意に作成できます。

機能

UAPのプロセスが開始して,OSから最初に呼ばれる関数です。

SUPのメイン関数の場合

SUPのメイン関数で,必ず呼び出すOpenTP1の関数を次に示します。

  1. dc_rpc_open(アプリケーションプログラムの開始)

  2. dc_adm_complete(ユーザサーバの開始処理完了の報告)

  3. dc_rpc_close(アプリケーションプログラムの終了 業務終了後)

上記のOpenTP1の関数以外にも,業務に必要なUAPプロセスの初期化や,終了処理,dc_rpc_call関数なども使えます。

SPPのメイン関数の場合

SPPから提供するサービスとして作成したサービス関数を,一つの実行形式ファイルにまとめます。一つのメイン関数と複数のサービス関数から構成される実行形式ファイルが,一つのサービスグループに対応します。

SPPのメイン関数で,必ず呼び出すOpenTP1の関数を次に示します。SPPのサービスで,MCFの関数を使う場合は,dc_mcf_open関数,dc_mcf_close関数を呼び出してください。

  1. dc_rpc_open(アプリケーションプログラムの開始)

  2. dc_rpc_mainloop(SPPのサービス開始)

  3. dc_rpc_close(アプリケーションプログラムの終了 業務終了後)

初期化の処理をしてから,このメイン関数自体はdc_rpc_mainloop関数で止まっています。その間にサービス関数で要求された処理をします。上記のOpenTP1の関数以外にも,業務に必要なSPPプロセスの初期化や,終了処理,dc_rpc_call関数などもメイン関数で使えます。

MHPのメイン関数の場合

メッセージを処理するアプリケーションとして作成したサービス関数を,一つの実行形式ファイルにまとめます。一つのメイン関数と複数のサービス関数から構成される実行形式ファイルが,一つのサービスグループに対応します。サービスグループ名はドメイン内(全ネットワーク内)で一意になる名称にしてください。

MHPのメイン関数で,必ず呼び出すOpenTP1の関数を次に示します。

  1. dc_rpc_open(アプリケーションプログラムの開始)

  2. dc_mcf_open(MCF環境のオープン)

  3. dc_mcf_mainloop(MHPのサービス開始)

  4. dc_mcf_close(MCF環境のクローズ)

  5. dc_rpc_close(アプリケーションプログラムの終了 業務終了後)

アプリケーション名に該当するサービス関数があるMHPが開始され,初期化の処理をしたあと,このメイン関数自体はdc_mcf_mainloop関数で止まっています。その間にサービス関数で要求された処理をします。上記のOpenTP1の関数以外にも,業務に必要なMHPプロセスの初期化や,終了処理,dc_rpc_call関数などもメイン関数で使えます。

引数

dcsvstartコマンドの-aオプションを使用して,SUPのメイン関数に第1引数を渡すことができます。dcsvstartコマンドの詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。