TP1/NET/XMAP3では,cont型アプリケーションに発生したメッセージによって継続問い合わせ応答の開始を認識します。
起動されたUAPでは,receive関数を呼び出して問い合わせメッセージを受け取ります。また,UAPからreply関数によって指定されたメッセージを応答メッセージとして出力キューに登録します。TP1/NET/XMAP3は,この応答メッセージを取り出して表示印刷サービスに送信します。
継続問い合わせ応答は,UAPがcontend関数(データ操作言語:DISABLE文)を呼び出すか,または運用コマンド(mcftendct)が入力されることによって終了します。
継続問い合わせ応答形態を,次の図に示します。
図2-12 継続問い合わせ応答形態
継続問い合わせ応答処理の機能を次に示します。
継続問い合わせ応答中の論理端末に対して,UAPがsend関数で指定した一方送信メッセージは出力キューに登録され,TP1/NET/XMAP3の取り出しを待ちます。TP1/NET/XMAP3は,この一方送信メッセージを継続問い合わせ応答が終了したあとに取り出して表示印刷サービスに送信します。
応答メッセージ送信要求時,次に起動するアプリケーションを予約できます。
応答メッセージ送信要求時,次に起動する継続問い合わせ応答型のアプリケーションを予約できます。
次に起動するアプリケーション名の指定を省略した場合,実行中のアプリケーション名が指定されたものとします。ただし,エラーイベントで次に起動するアプリケーション名の指定を省略した場合は,継続問い合わせ応答を終了します。詳細については,「2.4.4(5) エラーイベント」を参照してください。
次起動アプリケーションの予約を次の図に示します。
図2-13 次起動アプリケーションの予約
継続問い合わせ応答中にアプリケーション起動要求をする場合,cont型のアプリケーション名を指定できます。ただし,継続問い合わせ応答に対するアプリケーション起動ができるのは一つのMHPで1回だけです。
継続問い合わせ応答に対する応答メッセージの送信要求とアプリケーション起動要求ができるのは,一つのMHP内でどちらかだけです。
定義方法の詳細については,「3. C言語のライブラリ関数」または「4. COBOL-UAP作成用プログラムインタフェース」を参照してください。
継続問い合わせ応答用一時記憶データ(以降,一時記憶データと呼びます)を使用して,次に起動するアプリケーションへデータの引き継ぎができます。一時記憶データは,論理端末対応に使用できるので複数の論理端末で同時に一つのMHPを使用して継続問い合わせ応答ができます。一時記憶データの使用形態を次の図に示します。
図2-14 一時記憶データの使用形態
一時記憶データ用の領域として更新用領域と回復用領域の2面を共有メモリに確保します。
アプリケーション属性定義(mcfaalcap)でMHPごとに一時記憶データ格納用領域のサイズを定義します。
サイズは,最初に一時記憶データの更新要求をしたMHPのアプリケーション属性定義(mcfaalcap -n)のtempsizeオペランドで確保します。したがって,最初に起動されるMHPで,一連の業務処理で使用する一時記憶データ格納用の最大値を指定すると,途中で再確保をしないので性能が向上します。
一時記憶データの受け渡しには「受け取り要求」と「更新要求」があります。
定義方法の詳細については,「3. C言語のライブラリ関数」または「4. COBOL-UAP作成用プログラムインタフェース」を参照してください。
継続問い合わせ応答は,MHPからの終了要求,または運用コマンド(mcftendct)の発行のどちらかで終了します。
MHPからの終了要求時,次に示す条件に該当する場合はエラーリターンします。
MHPからの終了要求の定義方法については,「3. C言語のライブラリ関数」または「4. COBOL-UAP作成用プログラムインタフェース」を参照してください。
運用コマンドで論理端末名称を指定して,その論理端末に対する継続問い合わせ応答を強制終了できます。また,継続問い合わせ応答処理中ではないUAPからも運用コマンドを発行できます。詳細については,「8. 運用コマンド」を参照してください。
MHPの処理中に障害が発生した場合,MCFイベント処理用MHPにエラーイベントを通知します。継続問い合わせ応答中に障害が発生した場合,MCFイベント処理用MHPを継続問い合わせ応答型として起動します。
MCFイベント処理用MHPで,次に起動する継続問い合わせ応答型のアプリケーションを指定できます。次起動アプリケーション名の指定後,応答メッセージの送信,またはアプリケーション起動要求をして,継続問い合わせ応答処理を続行できます。
なお,一時記憶データは,部分回復処理で一つ前の同期点の状態になっています。
MCFイベント処理用MHPで次起動アプリケーション名を指定しなかった場合,継続問い合わせ応答処理は終了します。
継続問い合わせ応答処理は終了します。