Hitachi

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


メインプログラムの作成(SUP,SPP,MHP)

〈このページの構成〉

形式

コーディングに使うCOBOL言語の仕様に従って作成します。ただし,必ずSTOP RUNで終了してください。そのほかは,OpenTP1では特に制限はありません。

機能

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

SUPのメインプログラムの場合

SUPのメインプログラムで必ず呼び出すOpenTP1のCOBOL-UAP作成用プログラムを次に示します。

  1. CBLDCRPC('OPEN ')

    アプリケーションプログラムの開始

  2. CBLDCADM('COMPLETE')

    ユーザサーバの開始処理完了の報告

  3. CBLDCRPC('CLOSE ')

    アプリケーションプログラムの終了(業務の終了後に呼び出し)

SUPのメインプログラムでは,上記のCOBOL-UAP作成用プログラム以外にも,業務に必要なUAPプロセスの初期化や,終了処理,およびリモートプロシジャコール(CBLDCRPC('CALL '))も使えます。

SPPのメインプログラムの場合

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

SPPのメインプログラムで必ず呼び出すOpenTP1のCOBOL-UAP作成用プログラムを次に示します。

  1. CBLDCRPC('OPEN ')

    アプリケーションプログラムの開始

  2. CBLDCRSV('MAINLOOP')

    SPPのサービス開始

  3. CBLDCRPC('CLOSE ')

    アプリケーションプログラムの終了(業務の終了後に呼び出し)

SPPのサービスでMCFの機能を使う(CBLDCMCFを呼び出す)場合は,次に示すCOBOL-UAP作成用プログラムもあわせて呼び出してください。

  • CBLDCMCF('OPEN ') − MCF環境のオープン(1.と2.の間)

  • CBLDCMCF('CLOSE ') − MCF環境のクローズ(2.と3.の間)

初期化の処理後,メインプログラムは CBLDCRSV('MAINLOOP')で止まっています。その間に該当するサービスプログラムへのサービス要求を処理します。SPPのメインプログラムでは,上記のCOBOL-UAP作成用プログラム以外にも,業務に必要なUAPプロセスの初期化や,終了処理,およびリモートプロシジャコール(CBLDCRPC('CALL '))も使えます。

MHPのメインプログラムの場合

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

MHPのメインプログラムで必ず呼び出すOpenTP1のCOBOL-UAP作成用プログラムを次に示します。

  1. CBLDCRPC('OPEN ')

    アプリケーションプログラムの開始

  2. CBLDCMCF('OPEN ')

    MCF環境のオープン

  3. CBLDCMCF('MAINLOOP')

    MHPのサービス開始

  4. CBLDCMCF('CLOSE ')

    MCF環境のクローズ(業務の終了後に呼び出し)

  5. CBLDCRPC('CLOSE ')

    アプリケーションプログラムの終了(業務の終了後に呼び出し)

アプリケーション名に該当するサービスプログラムがあるMHPが開始されて,初期化の処理後,メインプログラムは CBLDCMCF('MAINLOOP')で止まっています。その間に該当するサービスプログラムで処理します。MHPのメインプログラムでは,上記のCOBOL-UAP作成用プログラム以外にも,業務に必要なUAPプロセスの初期化や,終了処理,およびリモートプロシジャコール(CBLDCRPC('CALL '))も使えます。

引数

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

注意事項

メインプログラムをCOBOLで作成するときは,正常終了時には必ずSTOP RUNで終了してください。EXIT PROGRAMでは終了しないでください。