ee_mch_cmtsend_get【XTC限定】
- 〈このページの構成〉
形式
ANSI C,C++の形式
#include <eemch.h> int ee_mch_cmtsend_get(EEULONG *msg_cnt, EEMCHMSG *eemchmsg, EELONG type, EELONG flags) typedef struct ee_mch_msg_t{ /*メッセージ情報取得構造体 */ EEULONG group_size; /*送信先サービスグループ名長 */ char group[32]; /*送信先サービスグループ名 */ EEULONG service_size; /*送信先サービス名長 */ char service[32]; /*送信先サービス名 */ char otq_dct; /*出力キュー(OTQ)の自動閉塞有無 */ char dummy1[3]; /*予備 */ EEULONG send_sts; /*送信結果 */ char dummy2[4]; /*予備 */ EEULONG send_size; /*送信メッセージサイズ */ char *msg; /*送信メッセージポインタ */ char dummy3[160]; /*予備 */ } EEMCHMSG;
機能
メッセージ送信に失敗(未送信も含む)したトランザクション同期の一方送信メッセージとトランザクション非同期の一方送信メッセージのメッセージ情報を取得します。リターン値がEE_OK(次のメッセージ情報なし)になるまで,この関数を連続して呼び出すことによって,同一トランザクションで一方送信メッセージの送信要求を行ったすべてのメッセージ情報を取得できます。リターン値がEE_OKの状態でこの関数を呼び出した場合は,最初からメッセージ情報を取得します。
一方送信メッセージのメッセージ情報は,ERRTRNRのタイミングで取得できます。
UAPで値を設定する引数
●msg_cnt
参照できるメッセージ情報の件数を格納する変数アドレスを設定します。
●eemchmsg
メッセージ情報を格納するための構造体ポインタのアドレスを設定します。
●type
参照したい一方送信メッセージの要求種別を設定します。
- EEMCH_CMTSEND
-
ee_mch_cmtsend関数
- EEMCH_CMTSEND_SYNC
-
ee_mch_cmtsend_sync関数
●flags
EENOFLAGSを設定します。
TP1/EEから値が返される引数
●msg_cnt
参照できるメッセージ情報の件数が設定されます。0の場合は,eemchmsg構造体の内容は参照できません。
●eemchmsg
情報格納構造体に次の情報が設定されます。
-
送信先サービスグループ名長
送信先サービスグループ名の長さが返されます。
-
送信先サービスグループ名
送信先サービスグループ名が返されます。
-
送信先サービス名長
送信先サービス名の長さが返されます。
-
送信先サービス名
送信先サービス名が返されます。
-
出力キュー(OTQ)の自動閉塞有無
出力キューの自動閉塞有無が次のコードで返されます。
- EEMCH_OTQ_NOBLOCKADE
-
出力キューの自動閉塞なし
- EEMCH_OTQ_BLOCKADE_GROUP
-
サービスグループレベルの出力キューの自動閉塞あり
- EEMCH_OTQ_BLOCKADE_SERVICE
-
サービスレベルの出力キューの自動閉塞あり
-
送信結果
送信結果が次のコードで返されます。
- EEMCH_SEND_NORMAL
-
送信正常
- EEMCH_SEND_ERR_PACKET
-
送信障害(パケットサイズ不正などのRPC関連定義の不正)
- EEMCH_SEND_ERR_RESOURCE
-
送信障害(リソース不足)
- EEMCH_SEND_ERR_STATUS
-
送信障害(送信先受信不可状態)
- EEMCH_SEND_ERR
-
送信障害(上記以外)
- EEMCH_SEND_ERR_ACK_TIMEOUT
-
送達確認待ちタイムアウト
- EEMCH_SEND_ERR_ACK_ERR
-
送達確認待ち受信障害
- EEMCH_SEND_ERR_ACK_RESOURCE
-
送達確認エラーメッセージ受信(リソース不足)
- EEMCH_SEND_ERR_ACK_CLSYNC
-
送達確認エラーメッセージ受信(CL同期エラー)
- EEMCH_SEND_ERR_ACK_HOLD
-
送達確認エラーメッセージ受信(送信先サービス閉塞),または自プロセスのサービス閉塞
- EEMCH_SEND_ERR_ACK_GRP
-
送達確認エラーメッセージ受信(送信先サービスグループ名の不正)
- EEMCH_SEND_ERR_ACK_SRV
-
送達確認エラーメッセージ受信(送信先サービス名の不正)
- EEMCH_SEND_ERR_ACK_TYPE
-
送達確認エラーメッセージ受信(メッセージ送信形態不正またはオプションの不正)
- EEMCH_SEND_ERR_ACK
-
送達確認エラーメッセージ受信(上記以外)
- EEMCH_SEND_OTQ_BLOCKADE
-
出力キューの閉塞中
- EEMCH_SEND_MYPROC_PUTPCE
-
処理キューの登録失敗
- EEMCH_SEND_BEFORE
-
未送信
-
送信メッセージサイズ
送信メッセージのサイズが返されます。
-
送信メッセージポインタ
送信メッセージのポインタが返されます。
リターン値
リターン値 |
意味 |
---|---|
EE_OK |
正常に終了しました(次のメッセージ情報なし)。 |
EE_CONTINUE |
正常に終了しました(次のメッセージ情報あり)。 |
EECOMER_CNDBPP |
オフラインバッチプロセスから発行しているため,この機能は使用できません。 |
EECOMER_CNDUOC |
UOCから発行しているため,この機能は使用できません。 |
EECOMER_ENVIRON |
TP1/EEの環境下にありません。 |
EEMCHER_ARGUMENT |
引数に設定した値が間違っています。 |
EEMCHER_CONDITION |
発行条件が不正です。 |
EEMCHER_MEMORY_SHORT |
メモリが不足しました。 |
ee_mch_cmtsend_get関数がエラーになる場合
メモリ関連定義のsystem_work_sizeオペランドで指定したシステムワーク領域が不足した場合
ee_mch_cmtsend_get関数はEEMCHER_MEMORY_SHORTのリターン値でエラーリターンします。