メッセージ送受信形態の通信をする場合,OpenTP1の各種システム情報をMHPに知らせるために,MCFからメッセージを出力します。これをMCFイベントといいます。メッセージ送受信の処理でエラーや障害が起こった場合,システム内で何が起こっているのかがMCFイベントの内容でわかります。MCFイベントには,エラーや障害発生などのエラーイベントと,コネクションの確立・解放などプロトコルに依存する通信イベントの2種類があります。
MCFイベントの内容を基に障害の対処をするMHPをMCFイベント処理用MHPといいます。このMHPを作成しておくと,独自の障害回復処理などができます。
MCFイベントは入力キューに渡されて,MCFイベント処理用MHPが起動されます。このとき,入力メッセージの編集とアプリケーション名決定UOCは経由しません。また,MCFイベントに対して障害が起こったことによって,MCFイベントが起動されることはありません。
MCFイベントの一覧を次の表に示します。次の表に示すMCFイベント以外にも,通信プロトコル対応製品で固有なMCFイベントが通知される場合があります。通信プロトコル対応製品で固有なMCFイベントについては,マニュアル「OpenTP1 プロトコル」の該当するプロトコル編を参照してください。
表3-16 MCFイベントの一覧
MCFイベント名 | MCFイベントコード | MCFイベントが通知された原因 | MCFイベント処理用 MHPで実行する処理の例 |
---|---|---|---|
不正アプリケーション名検出通知イベント | ERREVT1 | メッセージのアプリケーション名がMCFアプリケーション定義にありません。 | 該当するアプリケーション名がなかったことを知らせます。 受信したメッセージが問い合わせメッセージの場合は,応答メッセージを送信できます。 |
メッセージ廃棄通知イベント | ERREVT2 | 次に示す理由で,MCFで受信した入力キューのメッセージ,またはアプリケーションの即時起動によって入力キューに入力されたメッセージを廃棄しました。
| メッセージを廃棄したことを知らせます。 受信したメッセージが問い合わせメッセージの場合は,応答メッセージを送信できます。 |
UAP異常終了通知イベント | ERREVT3 | MHPで呼び出すdc_mcf_receive関数にセグメントを渡したあとで,MHPが異常終了,またはロールバック※しました。 | UAPが異常終了,またはロールバックしたことを知らせます。 受信したメッセージが問い合わせメッセージの場合は,応答メッセージを送信できます。 |
タイマ起動メッセージ廃棄通知イベント | ERREVT4 | タイマ起動のアプリケーション起動によって入力キューに入力されたメッセージをERREVT2に示す理由で廃棄しました。 | メッセージを廃棄したことを知らせます。 受信したメッセージが問い合わせメッセージの場合は,応答メッセージを送信できます。 |
未処理送信メッセージ廃棄通知イベント | ERREVTA | 次に示す理由で,UAPから送信した未処理送信メッセージを廃棄しました。
| 未処理送信メッセージを廃棄したことを知らせます。 受信した未処理送信メッセージは,任意のファイルへ退避します。 |
送信障害通知イベント | SERREVT | メッセージを送信する途中で,通信プロトコルの障害が起こりました。 | 通信プロトコルの障害でメッセージを送信できなかったことを知らせます。 |
送信完了通知イベント | SCMPEVT | 相手システムへ,メッセージを正常に送信できました。 | 相手システムまでメッセージを正常に送信できたことを知らせます。 |
障害通知イベント | CERREVT (VERREVT) | 通信管理プログラムで,コネクション障害,または論理端末障害が起こりました。コネクション確立再試行を定義している場合は,通知されません。 | コネクション,または論理端末に障害が起こったことを知らせます。 |
状態通知イベント | COPNEVT (VOPNEVT) | コネクションが確立しました。 | メッセージを送受信できることを知らせます。 |
CCLSEVT (VCLSEVT) | コネクションが正常に解放されました。 | メッセージを送受信できないことを知らせます。 |
表3-17 MCFイベント処理用MHPとアプリケーションの型の関係
MCFイベント処理用MHPを起動したMCFイベントのイベントコード | MCFイベント処理用MHPのアプリケーションの型 |
---|---|
ERREVT1 | 要求元となった論理端末の端末タイプの型に応じて設定されます。
|
ERREVT2 | MCFイベントが通知される原因となった,MHPのアプリケーションの型をそのまま引き継ぎます。※ |
ERREVT3 | |
ERREVT4 | |
ERREVTA | 非応答型(noans)が設定されます。 |
SERREVT | |
SCMPEVT | |
CERREVT | |
VERREVT | |
COPNEVT | |
VOPNEVT | |
CCLSEVT | |
VCLSEVT |
表3-18 通信プロトコル対応製品と通知されるMCFイベントの関係1
MCFイベント | 通信プロトコル対応製品 | ||
---|---|---|---|
TP1/NET/User Agent | TP1/NET/OSI-TP | TP1/NET/TCP/IP | |
ERREVT1 | ○ | ○ | ○ |
ERREVT2 | ○ | ○ | ○ |
ERREVT3 | ○ | ○ | ○ |
ERREVT4 | ○ | ○ | ○ |
ERREVTA | ○ | ○ | ○ |
SERREVT | × | × | × |
SCMPEVT | × | × | ○ |
CERREVT | ○ | ○ | ○ |
COPNEVT | ○ | ○ | ○ |
CCLSEVT | ○ | ○ | ○ |
VERREVT | × | × | × |
VOPNEVT | × | × | × |
VCLSEVT | × | × | × |
表3-19 通信プロトコル対応製品と通知されるMCFイベントの関係2
MCFイベント | 通信プロトコル対応製品 | ||
---|---|---|---|
TP1/NET/XMAP3 | TP1/NET/HNA-560/20 | TP1/NET/HNA-560/20 DTS | |
ERREVT1 | ○ | ○ | ○ |
ERREVT2 | ○ | ○ | ○ |
ERREVT3 | ○ | ○ | ○ |
ERREVT4 | ○ | ○ | ○ |
ERREVTA | ○ | ○ | ○ |
SERREVT | ○※ | × | × |
SCMPEVT | ○※ | × | × |
CERREVT | × | ○ | ○ |
COPNEVT | × | ○ | ○ |
CCLSEVT | × | × | × |
VERREVT | ○ | ○ | ○ |
VOPNEVT | ○ | ○ | ○ |
VCLSEVT | ○ | ○ | × |
表3-20 通信プロトコル対応製品と通知されるMCFイベントの関係3
MCFイベント | 通信プロトコル対応製品 | |||
---|---|---|---|---|
TP1/NET/OSAS-NIF | TP1/NET/HNA-NIF | TP1/NET/HSC(1) | TP1/NET/HSC(2) | |
ERREVT1 | ○ | ○ | ○ | ○ |
ERREVT2 | ○ | ○ | ○ | ○ |
ERREVT3 | ○ | ○ | ○ | ○ |
ERREVT4 | × | × | ○ | ○ |
ERREVTA | ○ | ○ | ○ | ○ |
SERREVT | × | × | ○ | ○※ |
SCMPEVT | × | × | ○ | ○※ |
CERREVT | ○ | ○ | ○ | ○ |
COPNEVT | ○ | ○ | ○ | ○ |
CCLSEVT | ○ | ○ | ○ | ○ |
VERREVT | × | × | × | × |
VOPNEVT | × | × | × | × |
VCLSEVT | × | × | × | × |
表3-21 通信プロトコル対応製品と通知されるMCFイベントの関係4
MCFイベント | 通信プロトコル対応製品 | ||
---|---|---|---|
TP1/NET/HDLC | TP1/NET/X25 | TP1/NET/X25-Extended | |
ERREVT1 | ○ | ○ | ○ |
ERREVT2 | ○ | ○ | ○ |
ERREVT3 | ○ | ○ | ○ |
ERREVT4 | ○ | ○ | ○ |
ERREVTA | ○ | ○ | ○ |
SERREVT | × | × | × |
SCMPEVT | ○ | × | ○ |
CERREVT | ○ | ○ | ○ |
COPNEVT | ○ | ○ | ○ |
CCLSEVT | ○ | ○ | ○ |
VERREVT | × | × | × |
VOPNEVT | × | × | × |
VCLSEVT | × | × | × |
表3-22 通信プロトコル対応製品と通知されるMCFイベントの関係5
MCFイベント | 通信プロトコル対応製品 | |||
---|---|---|---|---|
TP1/NET/SLU-TypeP1 | TP1/NET/SLU-TypeP2 | TP1/NET/NCSB | TP1/NET/UDP | |
ERREVT1 | ○ | ○ | ○ | ○ |
ERREVT2 | ○ | ○ | ○ | ○ |
ERREVT3 | ○ | ○ | ○ | ○ |
ERREVT4 | ○ | ○ | ○ | ○ |
ERREVTA | ○ | ○ | ○ | ○ |
SERREVT | × | × | × | × |
SCMPEVT | × | × | × | × |
CERREVT | ○ | ○ | ○ | ○ |
COPNEVT | ○ | ○ | ○ | ○ |
CCLSEVT | ○ | ○ | ○ | ○ |
VERREVT | × | × | × | × |
VOPNEVT | × | × | × | × |
VCLSEVT | × | × | × | × |