2.4.4 継続問い合わせ応答形態のメッセージ

TP1/NET/XMAP3では,cont型アプリケーションに発生したメッセージによって継続問い合わせ応答の開始を認識します。

起動されたUAPでは,receive関数を呼び出して問い合わせメッセージを受け取ります。また,UAPからreply関数によって指定されたメッセージを応答メッセージとして出力キューに登録します。TP1/NET/XMAP3は,この応答メッセージを取り出して表示印刷サービスに送信します。

継続問い合わせ応答は,UAPがcontend関数(データ操作言語:DISABLE文)を呼び出すか,または運用コマンド(mcftendct)が入力されることによって終了します。

継続問い合わせ応答形態を,次の図に示します。

図2-12 継続問い合わせ応答形態

[図データ]

継続問い合わせ応答処理の機能を次に示します。

<この項の構成>
(1) 継続問い合わせ応答中の論理端末へのメッセージ送信のタイミング
(2) 次起動アプリケーションの予約
(3) 継続問い合わせ応答用一時記憶データ
(4) 継続問い合わせ応答の終了
(5) エラーイベント

(1) 継続問い合わせ応答中の論理端末へのメッセージ送信のタイミング

継続問い合わせ応答中の論理端末に対して,UAPがsend関数で指定した一方送信メッセージは出力キューに登録され,TP1/NET/XMAP3の取り出しを待ちます。TP1/NET/XMAP3は,この一方送信メッセージを継続問い合わせ応答が終了したあとに取り出して表示印刷サービスに送信します。

(2) 次起動アプリケーションの予約

応答メッセージ送信要求時,次に起動するアプリケーションを予約できます。

(a) アプリケーションの予約方法

応答メッセージ送信要求時,次に起動する継続問い合わせ応答型のアプリケーションを予約できます。

次に起動するアプリケーション名の指定を省略した場合,実行中のアプリケーション名が指定されたものとします。ただし,エラーイベントで次に起動するアプリケーション名の指定を省略した場合は,継続問い合わせ応答を終了します。詳細については,「2.4.4(5) エラーイベント」を参照してください。

次起動アプリケーションの予約を次の図に示します。

図2-13 次起動アプリケーションの予約

[図データ]

(b) アプリケーション起動との関係

継続問い合わせ応答中にアプリケーション起動要求をする場合,cont型のアプリケーション名を指定できます。ただし,継続問い合わせ応答に対するアプリケーション起動ができるのは一つのMHPで1回だけです。

継続問い合わせ応答に対する応答メッセージの送信要求とアプリケーション起動要求ができるのは,一つのMHP内でどちらかだけです。

定義方法の詳細については,「3. C言語のライブラリ関数」または「4. COBOL-UAP作成用プログラムインタフェース」を参照してください。

(3) 継続問い合わせ応答用一時記憶データ

継続問い合わせ応答用一時記憶データ(以降,一時記憶データと呼びます)を使用して,次に起動するアプリケーションへデータの引き継ぎができます。一時記憶データは,論理端末対応に使用できるので複数の論理端末で同時に一つのMHPを使用して継続問い合わせ応答ができます。一時記憶データの使用形態を次の図に示します。

図2-14 一時記憶データの使用形態

[図データ]

(a) 一時記憶データ格納用領域

一時記憶データ用の領域として更新用領域と回復用領域の2面を共有メモリに確保します。

アプリケーション属性定義(mcfaalcap)でMHPごとに一時記憶データ格納用領域のサイズを定義します。

サイズは,最初に一時記憶データの更新要求をしたMHPのアプリケーション属性定義(mcfaalcap -n)のtempsizeオペランドで確保します。したがって,最初に起動されるMHPで,一連の業務処理で使用する一時記憶データ格納用の最大値を指定すると,途中で再確保をしないので性能が向上します。

(b) 一時記憶データの受け渡し

一時記憶データの受け渡しには「受け取り要求」と「更新要求」があります。

定義方法の詳細については,「3. C言語のライブラリ関数」または「4. COBOL-UAP作成用プログラムインタフェース」を参照してください。

(4) 継続問い合わせ応答の終了

継続問い合わせ応答は,MHPからの終了要求,または運用コマンド(mcftendct)の発行のどちらかで終了します。

(a) MHPからの終了要求

MHPからの終了要求時,次に示す条件に該当する場合はエラーリターンします。

MHPからの終了要求の定義方法については,「3. C言語のライブラリ関数」または「4. COBOL-UAP作成用プログラムインタフェース」を参照してください。

(b) 運用コマンドによる終了要求

運用コマンドで論理端末名称を指定して,その論理端末に対する継続問い合わせ応答を強制終了できます。また,継続問い合わせ応答処理中ではないUAPからも運用コマンドを発行できます。詳細については,「8. 運用コマンド」を参照してください。

(5) エラーイベント

MHPの処理中に障害が発生した場合,MCFイベント処理用MHPにエラーイベントを通知します。継続問い合わせ応答中に障害が発生した場合,MCFイベント処理用MHPを継続問い合わせ応答型として起動します。

(a) MCFイベント処理用MHPを定義した場合

MCFイベント処理用MHPで,次に起動する継続問い合わせ応答型のアプリケーションを指定できます。次起動アプリケーション名の指定後,応答メッセージの送信,またはアプリケーション起動要求をして,継続問い合わせ応答処理を続行できます。

なお,一時記憶データは,部分回復処理で一つ前の同期点の状態になっています。

MCFイベント処理用MHPで次起動アプリケーション名を指定しなかった場合,継続問い合わせ応答処理は終了します。

(b) MCFイベント処理用MHPを定義しなかった場合

継続問い合わせ応答処理は終了します。