Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/TCP/IP編


5.2.1 MCFイベントの種類

TP1/NET/TCP/IPが通知するMCFイベントの種類を次の表に示します。

表5‒1 TP1/NET/TCP/IPが通知するMCFイベントの種類

MCFイベント名

MCFイベントコード

発生した原因

MCFイベント処理用MHPでの処理の例

不正アプリケーション名検出通知イベント

ERREVT1

メッセージのアプリケーション名がMCFアプリケーション定義にありません。

該当するアプリケーションがないことを報告します。

メッセージ廃棄通知イベント

ERREVT2

次の理由で,受信メッセージを破棄しました。

  • 入力キューに障害が発生しました。

  • 入力メッセージ最大格納数を超過しました。

  • 動的共用メモリが不足しました。

  • キューファイルが満杯になりました。

  • MHPのサービス,サービスグループ,アプリケーションが閉塞しています。

  • スケジュール閉塞されているサービスグループの入力キューに未処理受信メッセージが残った状態で,OpenTP1を正常終了または計画停止Aで終了しました。

  • MHPのサービスグループまたはアプリケーションがセキュア状態です。

  • MHPで呼び出すreceive関数にセグメントを渡す前に,MHPが異常終了しました。

  • アプリケーション名に相当するMHPのサービスがありません。

  • ユーザサーバ未起動などによって,MHPの起動に失敗しました。

  • DBMSの障害などによって,トランザクションの開始に失敗しました。

メッセージを廃棄したことを報告します。

UAP異常終了通知イベント

ERREVT3

MHPに受信メッセージを渡したあとにMHPの異常終了が発生しました。

UAP異常終了時の対処障害メッセージを送信します。

タイマ起動メッセージ廃棄通知イベント

ERREVT4

アプリケーションのタイマ起動時に障害が発生しました。

メッセージを廃棄したことを報告します。

未処理送信メッセージ廃棄通知イベント

ERREVTA

次の理由で,未処理送信メッセージを破棄しました。

  • MCFの正常終了処理時に,未処理送信メッセージの滞留時間監視の時間切れ(タイムアウト)が発生しました。

  • 運用コマンド(mcftdlqle)の入力,またはAPI(dc_mcf_tdlqle関数もしくはCBLDCMCF('TDLQLE△△'))の発行によって,出力キューが削除されました。

  • 閉塞されている論理端末の出力キューに未処理送信メッセージが残った状態で,dcstopコマンドが実行されました。

未処理送信メッセージを廃棄したことを報告します。

送信完了通知イベント

SCMPEVT

メッセージの送信を正常に完了しました。

送信の完了を確認して,任意の処理ができます。

障害通知イベント

CERREVT

コネクション障害,または論理端末障害が発生しました。

コネクション,または論理端末に障害が発生したことを報告します。

状態通知イベント

COPNEVT

コネクションが確立しました。

コネクションが確立したことを報告します。

CCLSEVT

コネクションが正常に解放されました。

コネクションが解放されたことを報告します。

受信メッセージ保留通知イベント

RHLDEVT

受信したメッセージを保留しました。

同期型メッセージの受信関数を使用してメッセージを受信します。

送受信メッセージ廃棄通知イベント

MDELEVT

次の理由で,受信メッセージまたは送信メッセージを破棄しました。

  • 任意の相手システムとのメッセージ送達確認を使用している(コネクション定義(mcftalcle -u)のdelichkオペランドにuseを指定)場合に,受信メッセージ判定UOCで受信したメッセージの種別に破棄メッセージを指定しました。

  • コネクション再確立時の未送信メッセージの送信抑止機能を使用している(論理端末定義(mcftalcle -d)のreplacemsgオペランドにdiscardを指定)場合に,MHPでメッセージ受信後にコネクションが再確立されました。

  • 問い合わせ応答形態および継続問い合わせ応答形態のメッセージ送受信機能を使用している(コネクション定義(mcftalccn -l)のreplymsgオペランドにyesを指定)場合に,問い合わせ応答中の論理端末がメッセージを受信しました。

メッセージを廃棄したことを報告します。

注※

アプリケーション属性定義(mcfaalcap -g)のrecvmsgオペランドにrを指定した場合,またはdc_mcf_rollbackのactionにDCMCFRTRYまたはDCMCFRRTNを指定した場合は除きます。