MCFイベント情報は構造体で,MCFイベント処理用MHPに渡されます。MHPに渡される構造体の形式は,MCFイベントの種類によって異なります。ただし,MCFイベント情報の先頭部分の形式は,各イベントで共通です。
エラーイベント(ERREVTn),SCMPEVT,およびSERREVTで使用する構造体は,<dcmcf.h>で定義してあります。
struct dc_mcf_evtheader {
char mcfevt_name[9]; …MCFイベント情報コード
char le_name[16]; …入力元論理端末名称
(ERREVT1,ERREVT2,ERREVT3の場合)
出力先論理端末名称
(ERREVTA,SCMPEVT,SERREVTの場合)
char cn_name[9]; …コネクション名
unsigned char format_kind; …MCF使用領域
char reserve01; …予備
DCLONG time; …メッセージ入力時刻
};
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] ; …予備
};
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 ; …理由コード
};
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領域
};
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] ; …予備
};
struct dc_mcf_scmpevt_type {
struct dc_mcf_evtheader evtheader ;
…MCFイベント共通ヘッダ
DCLONG output_no ; …出力通番
char map_name[9] ; …MCF使用領域
char msg_type ; …メッセージ種別
char reason_code ; …起動理由
char reserve01[9] ; …予備
char pro_indv_inf[16] ; …プロトコル個別情報
char reserve02[16]; …予備
} ;
struct dc_mcf_serrevt_type {
struct dc_mcf_evtheader evtheader ;
…MCFイベント共通ヘッダ
DCLONG output_no ; …出力通番
char map_name[9] ; …MCF使用領域
char msg_type ; …メッセージ種別
char send_error_code ; …送信エラーコード
unsigned char trouble_code;…障害コード
unsigned char detail_info; …詳細情報
unsigned char error_code; …エラーコード
unsigned char error_subcode;
…エラーサブコード
char reserve01[5] ; …予備
char pro_indv_inf[16] ; …プロトコル個別情報
char reserve02[16]; …予備
} ;
typedef struct {
struct dc_mcf_evtheader header ;
…MCFイベント共通ヘッダ
DCLONG err_fact ; …障害要因コード(4バイト)
DCLONG err_reason1 ; …理由コード1(4バイト)
DCLONG err_reason2 ; …理由コード2(4バイト)
DCLONG recover_code ; …回復可否識別
DCLONG retry_code ; …自動再確立有無識別
} dcmpcm_cerrevt ;
typedef sutrct {
dcmpcm_cerrevt comheader …プロトコル共通ヘッダ
char reserve1[36] ; …予備
} dcmhsc_cerrevt ;
なお,dcmpcm_cerrevtは,<dcmpcm.h>で定義されています。<dcmhsc1.h>または<dcmhsc2.h>の前に<dcmpcm.h>を取り込んでおいてください。また,dc_mcf_evtheaderは,<dcmcf.h>で定義されています。<dcmcf.h>,<dcmpcm.h>,<dcmhsc1.h>または<dcmhsc2.h>の順に取り込んでください。
typedef struct {
struct dc_mcf_evtheader header ;
…MCFイベント共通ヘッダ
char reserve1[56] ; …予備
} dcmhsc_statevt ;
なお,dcmpcm_statevtは,<dcmhsc1.h>または<dcmhsc2.h>で定義されています。<dcmhsc1.h>または<dcmhsc2.h>の前に<dcmcf.h>を取り込んでおいてください。
ありません。