4.2.3 MCFイベント情報の形式(C言語)

MCFイベント情報は,構造体でMCFイベント処理用MHPに渡されます。MHPに渡される構造体の形式は,MCFイベントの種類によって異なります。ただし,MCFイベント情報の先頭部分の形式は,各イベントに共通です。

エラーイベント(ERREVTn)で使用する構造体は<dcmcf.h>で定義してあります。Cイベント(CxxxEVT)で使用する構造体は<dcmnom.h>で定義してあります。<dcmcf.h>,<dcmnom.h>の順で取り込んでください。

各MCFイベントの共通ヘッダと,各イベントのMCF情報の形式を次に示します。

<この項の構成>
(1) MCFイベントの共通ヘッダ
(2) ERREVT1
(3) ERREVT2
(4) ERREVT3
(5) ERREVTA
(6) CERREVT
(7) COPNEVT,CCLSEVT

(1) MCFイベントの共通ヘッダ

(a) 形式

struct dc_mcf_evtheader {
 char   mcfevt_name[9] ;                … MCFイベント情報コード
 char   le_name[16] ;                   … 論理端末名称
 char   cn_name[9] ;                    … コネクション名
 unsigned char format_kind;             … MCF使用領域
 char   reserve01 ;                     … 予備
 DCLONG time ;                          … メッセージ入力時刻
} ;

(b) MCFイベントとして設定される項目

(2) ERREVT1

(a) 形式

struct dc_mcf_evt1_type {
 struct dc_mcf_evtheader  evtheader ; … MCFイベント情報共通ヘッダ
 char reserve01[12] ;                 … 予備
 char reserve02[10] ;                 … 予備
 char reserve03[2] ;                  … 予備
 char ap_name[10] ;                   … アプリケーション名
                                        (メッセージに対応する
                                         アプリケーション名)
 char reserve04[2] ;                  … 予備
} ;

(b) MCFイベントとして設定される項目

(3) ERREVT2

(a) 形式

struct dc_mcf_evt2_type {
 struct dc_mcf_evtheader  evtheader ; … MCFイベント情報共通ヘッダ
 char reserve01[12] ;                 … 予備
 char reserve02[10] ;                 … 予備
 char reserve03[2] ;                  … 予備
 char ap_name[10] ;                   … アプリケーション名
                                        (メッセージに対応する
                                         アプリケーション名)
 short reason_code ;                  … 理由コード
} ;

(b) MCFイベントとして設定される項目

(4) ERREVT3

(a) 形式

struct dc_mcf_evt3_type {
 struct dc_mcf_evtheader  evtheader ; … MCFイベント情報共通ヘッダ
 char reserve01[12] ;                 … 予備
 char map_name[10] ;                  … MCFが使用
 char reserve03[2] ;                  … 予備
 char ap_name[10] ;                   … アプリケーション名
                                        (異常が発生したメッセージ
                                         のアプリケーション名)
 char reserve04[2] ;                  … 予備
 char service_name[32] ;              … サービス名
 char serv_grp_name[32] ;             … サービスグループ名
 char bid[36] ;                       … トランザクションブランチ
                                         ID領域
} ;

(b) MCFイベントとして設定される項目

(5) ERREVTA

(a) 形式

struct dc_mcf_evta_type {
 struct dc_mcf_evtheader  evtheader;  … MCFイベント情報共通ヘッダ
 char reserve01[12] ;                 … 予備
 char map_name[10] ;                  … MCFが使用
 char reserve03[2] ;                  … 予備
 char ap_name[10] ;                   … アプリケーション名
                                         (正常終了したメッセージ
                                         のアプリケーション名)
 char reserve04[2] ;                  … 予備
 char reserve05[32] ;                 … 予備
 char reserve06[32] ;                 … 予備
 char reserve07[36] ;                 … 予備
} ;

(b) MCFイベントとして設定される項目

(6) CERREVT

コネクション障害または論理端末障害発生時に,相手システムから受信した障害報告の利用者データがある場合,CERREVTの第2セグメントに設定します。

(a) 形式

typedef struct {                         … 障害通知イベント情報の形式
 struct dc_mcf_evtheader  header ;      … MCFイベント情報共通ヘッダ
 DCLONG err_fact ;                      … 障害要因コード
 DCLONG err_reason1 ;                   … 理由コード1
 DCLONG err_reason2 ;                   … 理由コード2
 char   reserve1[44] ;                  … 予備
} dcmnom_cerrevt ;

(b) MCFイベントとして設定される項目

(7) COPNEVTCCLSEVT

(a) 形式

typedef struct {                       … 状態通知イベント情報の形式
 struct dc_mcf_evtheader  header ;    … MCFイベント情報共通ヘッダ
 char reserve1[56] ;                  … 予備
} dcmnom_statevt ;

(b) MCFイベントとして設定される項目

ありません。