メインプログラムの作成(SUP,SPP,MHP)
形式
コーディングに使うCOBOL言語の仕様に従って作成します。ただし,必ずSTOP RUNで終了してください。そのほかは,OpenTP1では特に制限はありません。
機能
UAPのプロセスが開始して,OSから最初に呼ばれるプログラムです。
SUPのメインプログラムの場合
SUPのメインプログラムで必ず呼び出すOpenTP1のCOBOL-UAP作成用プログラムを次に示します。
-
CBLDCRPC('OPEN ')
アプリケーションプログラムの開始
-
CBLDCADM('COMPLETE')
ユーザサーバの開始処理完了の報告
-
CBLDCRPC('CLOSE ')
アプリケーションプログラムの終了(業務の終了後に呼び出し)
SUPのメインプログラムでは,上記のCOBOL-UAP作成用プログラム以外にも,業務に必要なUAPプロセスの初期化や,終了処理,およびリモートプロシジャコール(CBLDCRPC('CALL '))も使えます。
SPPのメインプログラムの場合
SPPから提供するサービスとして作成したサービスプログラムを,一つの実行形式ファイルにまとめます。一つのメインプログラムと複数のサービスプログラムから構成される実行形式ファイルが,一つのサービスグループに対応します。
SPPのメインプログラムで必ず呼び出すOpenTP1のCOBOL-UAP作成用プログラムを次に示します。
-
CBLDCRPC('OPEN ')
アプリケーションプログラムの開始
-
CBLDCRSV('MAINLOOP')
SPPのサービス開始
-
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作成用プログラムを次に示します。
-
CBLDCRPC('OPEN ')
アプリケーションプログラムの開始
-
CBLDCMCF('OPEN ')
MCF環境のオープン
-
CBLDCMCF('MAINLOOP')
MHPのサービス開始
-
CBLDCMCF('CLOSE ')
MCF環境のクローズ(業務の終了後に呼び出し)
-
CBLDCRPC('CLOSE ')
アプリケーションプログラムの終了(業務の終了後に呼び出し)
アプリケーション名に該当するサービスプログラムがあるMHPが開始されて,初期化の処理後,メインプログラムは CBLDCMCF('MAINLOOP')で止まっています。その間に該当するサービスプログラムで処理します。MHPのメインプログラムでは,上記のCOBOL-UAP作成用プログラム以外にも,業務に必要なUAPプロセスの初期化や,終了処理,およびリモートプロシジャコール(CBLDCRPC('CALL '))も使えます。
引数
dcsvstartコマンドの-aオプションを使用して,SUPのメインプログラムに第1引数を渡すことができます。dcsvstartコマンドの詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。
注意事項
メインプログラムをCOBOLで作成するときは,正常終了時には必ずSTOP RUNで終了してください。EXIT PROGRAMでは終了しないでください。