Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/EE/Message Control Extension 使用の手引


ee_mcp_sendsync - 同期一方送信メッセージの送信

〈このページの構成〉

機能

相手システムへ同期一方送信メッセージを送信します。同期一方送信メッセージは,一つのセグメントで構成されます。

TP1/FSPを使用する場合,eemcpfunc定義コマンドの-oオプションのoutputmessageオペランドが設定されているとき,またはTP1/EEのユーザサービス関連定義のservice_attr定義コマンドが設定されているときは,送信データをUAP履歴情報のデータ種別「OJ(出力メッセージ)」として取得します。オペランドの関連性については,TP1/FSPの関連ドキュメントを参照してください。

形式

ANSI C,C++の形式
#include <eemcp.h>
int  ee_mcp_sendsync(int action, int commform, char *termnam,
                     char *resv01,char *senddata,
                     int sdataleng,char *resv02,
                     int watchtime,int opcd)

UAPで値を設定する引数

●action

送信する論理メッセージのセグメントを次の形式で指定します。

EEMCPEMI

単一セグメントを示すEEMCPEMIを設定します。

●commform

EENOFLAGSを設定します。

●termnam

出力先の論理端末名を設定します。論理端末名の長さは最大8バイトです。論理端末名の後ろはNULL文字を付けてください。

●resv01

NULL文字を設定します。

●senddata

送信するセグメントの内容を設定した領域を設定します。データ形式については,「5.2 ee_mcp_send - 非同期一方送信メッセージの送信」の「UAPで値を設定する引数」を参照してください。

●sdataleng

送信するセグメントの長さを設定します。設定できる最大値については,「5.2 ee_mcp_send - 非同期一方送信メッセージの送信」の「UAPで値を設定する引数」を参照してください。

●resv02

NULL文字を設定します。

●watchtime

この関数を呼び出してから終了するまでの最大時間(単位:秒)を設定します。ここでの最大時間とは,ソケット空き待ち時間および送信開始から自システムのTCP/IPの送信バッファへの書き込み完了までの時間の合計をいいます。65535を最大値として,値を設定できます。

0を設定した場合,eemcpcn定義コマンドの-bオプションのsndsynctimオペランドで指定した,同期一方送信時のメッセージ送信完了待ち時間が仮定されます。負の値を設定した場合は,時間を監視しません。無限に送信完了を待ちます。UDPプロトコルを使用した通信時は無視されます。

●opcd

同期型メッセージの送信属性を指定します。

EENOFLAGS

UDP送信時の送信先をsenddataの制御ヘッダで指定する場合に設定します。

EEMCP_DEFADDR

UDP送信時の送信先をeemcple定義コマンドの-oオプションで指定する場合に設定します。

なお,この値を指定した場合は,制御ヘッダの内容に関係なく,MCP構成定義で指定した送信先が有効になります。

リターン値

リターン値

意味

EE_OK

正常に終了しました。

EECOMER_CNDUOC

UOCから発行しているため,この機能は使用できません。

EECOMER_ENVIRON

TP1/EEの環境下にありません。

EEMCPER_ACTION

actionに設定した値が間違っています。

EEMCPER_ARGUMENT

senddata,およびwatchtimeに設定した値が間違っています。

EEMCPER_COMMFORM

commformに設定した値が間違っています。

EEMCPER_CONDITION

発行条件が不正です。

EEMCPER_LE_NAME

termnamに設定した論理端末名が間違っています。

EEMCPER_MEMORY_SHORT

メモリ不足が発生しました。

EEMCPER_MESSAGE_TOO_BIG

sdatalengに,送信できる最大サイズを超える値を設定しています。

EEMCPER_MESSAGE_TOO_SHORT

sdatalengに0(UDPの場合は24)以下の値を設定しています。

EEMCPER_OPTION

opcdに設定した値が間違っています。

EEMCPER_SENDER

システムに対する送信時に障害が発生しました。

EEMCPER_TERM_HOLD

termnamに設定した論理端末名は閉塞中です。

EEMCPER_TIME

watchtimeに設定した時間が経過しました。

EEMCPER_UOC_ERR

出力メッセージ編集UOCがエラーリターンしました。

EEMCPER_UOC_INVALID

出力メッセージ編集UOCで障害が発生しました。

注意事項