トランザクションインタフェース情報
ここでは,次に示す内容について説明します。
-
MCP後処理トランザクション
-
エラートランザクション(ERRTRNS)※
-
MCP拡張トランザクションインタフェース情報
- 注※
-
TP1/EEと異なる部分についてだけ説明します。
上記以外のトランザクションインタフェース情報の詳細については,マニュアル「TP1/Server Base Enterprise Option プログラム作成の手引」を参照してください。
MCP後処理トランザクション
MCP後処理トランザクションはMCP固有のトランザクション種別です。MCP後処理トランザクションは,次に示すタイミングで起動します。
-
コネクションの確立または解放
-
論理端末の閉塞または閉塞解除
トランザクション種別がRLの場合に参照できるトランザクションインタフェース情報を次の表に示します。各トランザクションインタフェース情報については,マニュアル「TP1/Server Base Enterprise Option プログラム作成の手引」を参照してください。
|
項番 |
トランザクションインタフェース情報 |
参照可否 |
|---|---|---|
|
1 |
情報長(trn_len) |
○ |
|
2 |
サービスグループ名長(group_len) |
○ |
|
3 |
サービスグループ名(servicegroup) |
○ |
|
4 |
サービス名長(service_len) |
○ |
|
5 |
サービス名(service) |
○ |
|
6 |
トランザクション種別(trn_id) |
○ |
|
7 |
自動閉塞有無(auto_block) |
× |
|
8 |
コミット有無(commit_inf) |
× |
|
9 |
処理スレッド通番(thread_no) |
○ |
|
10 |
エラー要因コード(err_code) |
× |
|
11 |
ユーザIFAエリアサイズ(uifa_len) |
○ |
|
12 |
ユーザIFAエリアポインタ(*uifa) |
○ |
|
13 |
ユーザSATエリアサイズ(usat_len) |
○ |
|
14 |
ユーザSATエリアポインタ(*usat) |
○ |
|
15 |
応答要否(ans_inf) |
× |
|
16 |
メッセージ状態(msg_inf) |
○ |
|
17 |
プロセス起動要因(start_inf) |
× |
|
18 |
前回プロセス終了要因(before_end_inf) |
× |
|
19 |
プロセス終了要因(end_inf) |
× |
|
20 |
スレッドダウン種別(thread_down_inf) |
× |
|
21 |
異常発生トランザクション種別(uap_errtrn_inf) |
× |
|
22 |
拡張トランザクション種別(trninf_ex) |
× |
|
23 |
リソースマネジャ数(rm_no) |
○ |
|
24 |
リソースマネジャ接続状態(rm_inf) |
○ |
|
25 |
送信サービスグループ名長(es_group_len) |
× |
|
26 |
送信サービスグループ名(es_servicegroup) |
× |
|
27 |
送信サービス名長(es_service_len) |
× |
|
28 |
送信サービス名(es_service) |
× |
|
29 |
異常発生処理スレッド通番(abn_thread_no) |
× |
|
30 |
拡張トランザクションインタフェース情報(ex_inf) |
× |
|
31 |
XTC拡張トランザクションインタフェース情報(*xtc_pt) |
△ |
|
32 |
MCP拡張トランザクションインタフェース情報(*mcp_pt) |
○ |
|
33 |
メッセージ種別(msg_type) |
× |
|
34 |
エラートランザクション要因(errtrn_factor) |
× |
|
35 |
拡張ユーザIFAエリアサイズ(uifa_large_len) |
○ |
|
36 |
拡張ユーザSATエリアサイズ(usat_large_len) |
○ |
|
37 |
トランザクション起動要因(run_inf) |
× |
|
38 |
サーバ再起動回数(rerun_cnt) |
× |
|
39 |
トランザクション起動時刻(start_time) |
○ |
|
40 |
送信元のノード識別子(node_id) |
× |
|
41 |
トランザクションレベル名長(trnlevel_len) |
○ |
|
42 |
トランザクションレベル名(trnlevel) |
○ |
- (凡例)
-
○:参照できます。
×:参照できません。
△:XTCを使用している場合だけ参照できます。
エラートランザクション(ERRTRNS)
トランザクション種別がESの場合に,TP1/EEと設定値が異なるエラー要因コード(err_code)を次に示します。
- ■エラー要因コード
-
- EEMCPER_MEMORY_SHORT
-
メモリ不足が発生しました。
- EEMCPER_SENDER
-
送信障害が発生しました。
- EEMCPER_TERM_HOLD
-
論理端末が閉塞中です。
- EEMCPER_TIME
-
送信タイムアウトが発生しました。
- EEMCPER_UOC_ERR
-
出力メッセージ編集UOCがエラーリターンしました。
- EEMCPER_UOC_INVALID
-
出力メッセージ編集UOCで障害が発生しました。
次のトランザクションインタフェース情報についてはTP1/EEからSPPに渡されません。
-
送信サービスグループ名長
-
送信サービスグループ名
-
送信サービス名長
-
送信サービス名
MCP拡張トランザクションインタフェース情報
MCP拡張トランザクションインタフェース情報は,MCPエリアポインタmcp_ptに設定される情報です。次に示す場合に参照できます。
-
トランザクション種別が「MN」「E1」「E2」「E3」「ES」「ER」であり,かつメッセージ種別(msg_type)がEEMCP_MSGTYPE_TCPまたはEEMCP_MSGTYPE_UDPの場合
-
トランザクション種別がRLの場合
MCPエリアポインタmcp_ptが示す構造体(TRNINF_SERVICE_MCP)の形式を次に示します。
TRNINF_SERVICE_MCP {
EELONG cn_name_len;
char cn_name[9];
char yobi_1[3];
EELONG le_name_len;
char le_name[9];
char yobi_2[3];
EELONG pro_kind;
EELONG kind;
EELONG reason;
char yobi_3[4];
void *data1;
void *lebuf;
EEULONG lebuf_size;
char yobi_4[4];
unsigned char r_ipaddr[16];
unsigned char o_ipaddr[16];
unsigned short r_port;
unsigned short o_port;
char yobi[28];
}●cn_name_len
コネクションIDのサイズが設定されます。
●cn_name
コネクションIDが設定されます。
●le_name_len
メッセージの入出力論理端末名のサイズが設定されます。
●le_name
メッセージの入出力論理端末名が設定されます。
●pro_kind
プロトコル種別として,次の値が設定されます。
EEMCP_UOC_PRO_TCP:TCP/IPプロトコル
EEMCP_UOC_PRO_UDP:UDPプロトコル
●kind
種別として,次の値が設定されます。
EEMCP_CN_OPEN:コネクションの確立通知
EEMCP_CN_CLOSE:コネクションの解放通知
EEMCP_LE_FREE:論理端末の閉塞解除通知
EEMCP_LE_HOLD:論理端末の閉塞通知
●reason
kindで設定される値のreason値の意味を次の表に示します。
|
項番 |
kind設定値 |
reason値 |
reason値 (数値) |
意味 |
プロトコル |
|---|---|---|---|---|---|
|
1 |
EEMCP_CN_OPEN |
EEMCP_BY_API |
1 |
ee_mcp_actcn関数またはee_mcp_actcn_to関数によるコネクションの確立 |
T |
|
2 |
EEMCP_BY_COMMAND |
2 |
eemcpactcnコマンドまたはeemcpactcntoコマンドによるコネクションの確立 |
T |
|
|
3 |
EEMCP_BY_SYSTEM |
5 |
システムによるコネクションの確立 |
T |
|
|
4 |
EEMCP_CN_CLOSE |
EEMCP_BY_API |
1 |
ee_mcp_dctcn関数(EEMCPNRM設定時)によるコネクションの解放 |
T |
|
5 |
EEMCP_BY_COMMAND |
2 |
eemcpdctcnコマンドによるコネクションの解放 |
T |
|
|
6 |
EEMCP_BY_API_F |
3 |
ee_mcp_dctcn関数(EEMCPFRC設定時)によるコネクションの強制解放 |
T |
|
|
7 |
EEMCP_BY_COMMAND_F |
4 |
eemcpdctcnコマンド(-fオプションを指定時※1)によるコネクションの強制解放 |
T |
|
|
8 |
EEMCP_BY_SYSTEM |
5 |
システムによるコネクションの解放 |
T |
|
|
9 |
EEMCP_BY_SYSTEM_F |
6 |
システムによるコネクションの強制解放 |
T |
|
|
10 |
EEMCP_RSN_CNNC |
101 |
コネクション確立不可※2 |
T |
|
|
11 |
EEMCP_RSN_CNER |
102 |
コネクション解放(相手システムからの解放) |
T |
|
|
12 |
EEMCP_RSN_CNCL |
103 |
コネクション解放(自システムからの解放) |
T |
|
|
13 |
EEMCP_RSN_RBOV |
104 |
受信バッファオーバフロー |
T |
|
|
14 |
EEMCP_RSN_NOBF |
105 |
受信バッファ不足 |
T |
|
|
15 |
EEMCP_RSN_NTTO |
106 |
後続メッセージ受信タイムアウト |
T |
|
|
16 |
EEMCP_RSN_RPLC |
107 |
コネクションリプレースによる切断 |
T |
|
|
17 |
EEMCP_RSN_INTV |
108 |
タイマ値不正 |
T |
|
|
18 |
EEMCP_RSN_TICD |
109 |
タイマセット指示種別不正 |
T |
|
|
19 |
EEMCP_RSN_SGED |
110 |
セグメント完/未完種別不正 |
T |
|
|
20 |
EEMCP_RSN_NTSZ |
111 |
次メッセージのサイズ不正 |
T |
|
|
21 |
EEMCP_RSN_NTAD |
112 |
次メッセージの先頭アドレス不正 |
T |
|
|
22 |
EEMCP_RSN_NWSZ |
113 |
該当メッセージのサイズ不正 |
T |
|
|
23 |
EEMCP_RSN_NWSS |
114 |
残留該当メッセージのサイズ不正 |
T |
|
|
24 |
EEMCP_RSN_NRTO |
121 |
無通信状態監視タイムアウト |
T |
|
|
25 |
EEMCP_RSN_SRTO |
122 |
同期型メッセージの送受信タイムアウト |
T |
|
|
26 |
UOCからのリターンコード |
UOCからのリターンコード |
入力セグメント判定UOCエラーリターン |
T |
|
|
27 |
EEMCP_LE_FREE |
EEMCP_BY_API |
1 |
ee_mcp_actle関数による論理端末の閉塞解除 |
T,U |
|
28 |
EEMCP_BY_COMMAND |
2 |
eemcpactleコマンドによる論理端末の閉塞解除 |
T,U |
|
|
29 |
EEMCP_BY_SYSTEM |
5 |
システムによる論理端末の閉塞解除 |
T,U |
|
|
30 |
EEMCP_LE_HOLD |
EEMCP_BY_API |
1 |
ee_mcp_dctle関数による論理端末の閉塞 |
T,U |
|
31 |
EEMCP_BY_COMMAND |
2 |
eemcpdctleコマンドによる論理端末の閉塞 |
T,U |
|
|
32 |
EEMCP_BY_SYSTEM |
5 |
システムによる論理端末の閉塞 |
T,U |
|
|
33 |
EEMCP_RSN_RBOV |
104 |
受信バッファオーバフロー |
T,U |
|
|
34 |
EEMCP_RSN_NOBF |
105 |
送受信バッファ不足 |
T,U |
|
|
35 |
EEMCP_RSN_SBOV |
115 |
送信バッファオーバフロー |
T,U |
|
|
36 |
EEMCP_RSN_BCNT |
116 |
使用バッファ数不正 |
T,U |
|
|
37 |
EEMCP_RSN_SEGM |
117 |
有効セグメント不正 |
T,U |
|
|
38 |
EEMCP_RSN_BADR |
118 |
編集バッファアドレス不正 |
T,U |
|
|
39 |
EEMCP_RSN_LENF |
119 |
論理端末の閉塞解除不可※2 |
T,U |
|
|
40 |
EEMCP_RSN_LECL |
120 |
送受信失敗による論理端末の閉塞 |
T,U |
|
|
41 |
UOCからのリターンコード |
UOCからのリターンコード |
入力メッセージ編集UOCまたは出力メッセージ編集UOCエラーリターン |
T,U |
- (凡例)
-
T:pro_kindがEEMCP_UOC_PRO_TCP(TCP/IP)
U:pro_kindがEEMCP_UOC_PRO_UDP(UDP)
- 注※1
-
eemcpcn定義コマンドの-fオプションのcnreleaseオペランドにrstを指定する必要があります。
- 注※2
-
前に出力されたメッセージを確認してください。
●data1
MCPが使用する領域です。
●lebuf
MCPが使用する領域です。
●lebuf_size
MCPが使用する領域です。
●r_ipaddr
自システムのIPアドレスが設定されます。
下位4バイトに次の形式で設定されます。
●o_ipaddr
相手システムのIPアドレスが設定されます。
設定形式はr_ipaddrを参照してください。
●r_port
自システムのポート番号が設定されます。
ポート番号はホストバイトオーダー形式の数値で設定されます。
●o_port
相手システムのポート番号が設定されます。
ポート番号はホストバイトオーダー形式の数値で設定されます。
r_ipaddr,o_ipaddr,r_port,o_portは次の条件をすべて満たした場合に設定されます。
-
pro_kindがEEMCP_UOC_PRO_TCP(TCP/IPプロトコル)
-
kindがEEMCP_CN_CLOSE(コネクション解放通知)以外