CBLEEMCP('SENDSYNC') - 同期一方送信メッセージの送信
- 〈このページの構成〉
機能
相手システムへ同期一方送信メッセージを送信します。
TP1/FSPを使用する場合,eemcpfunc定義コマンドの-oオプションのoutputmessageオペランドが設定されているとき,またはTP1/EEのユーザサービス関連定義のservice_attr定義コマンドが設定されているときは,送信データをUAP履歴情報のデータ種別「OJ(出力メッセージ)」として取得します。オペランドの関連性については,TP1/FSPの関連ドキュメントを参照してください。
形式
- PROCEDURE DIVISIONの指定
CALL 'CBLEEMCP' USING 一意名1 一意名2 一意名3
- DATA DIVISIONの指定
01 一意名1. 02 データ名A PIC X(8) VALUE 'SENDSYNC'. 02 データ名B PIC X(5). 02 FILLER PIC X(3). 02 データ名C PIC X(4) VALUE SPACE. 02 データ名D PIC X(4) VALUE SPACE. 02 データ名E PIC 9(8). 02 データ名F PIC 9(8). 02 データ名G PIC 9(9) COMP VALUE ZERO. 02 データ名H PIC X(4). 02 データ名I PIC X(4) VALUE SPACE. 02 データ名J PIC X(4) VALUE SPACE. 02 データ名K PIC X(4) VALUE SPACE. 02 データ名L PIC X(8) VALUE SPACE. 02 データ名M1 PIC X(4) VALUE SPACE. 02 データ名M2 PIC X(8) VALUE SPACE. 02 データ名M3 PIC X(4) VALUE SPACE. 02 データ名M4 PIC 9(9) COMP VALUE ZERO. 02 データ名M5 PIC S9(9) COMP. 02 データ名M6 PIC X(1) VALUE SPACE. 02 データ名M7 PIC X(1). 02 データ名N PIC X(14) VALUE LOW-VALUE. 01 一意名2. 02 データ名O PIC X(4) VALUE SPACE. 02 データ名P PIC X(8). 02 データ名Q PIC X(8) VALUE SPACE. 02 データ名R PIC X(8) VALUE SPACE. 02 データ名T PIC X(28) VALUE LOW-VALUE. 01 一意名3. 02 データ名U PIC 9(9) COMP. 02 データ名V PIC X(8). 02 データ名W PIC X(n).
UAPで値を設定する引数
●データ名A
同期一方送信のメッセージの送信を示す要求コードを「VALUE 'SENDSYNC'」と設定します。
●データ名C,D
空白を設定します。
●データ名E,F
MCPで使用する領域です。
●データ名G
同期型メッセージの送信属性を指定します。
- 0
-
UDP送信時の送信先をデータ名Wの制御ヘッダで指定する場合に設定します。
- 2
-
UDP送信時の送信先をeemcple定義コマンドの-oオプションで指定する場合に設定します。
なお,この値を指定した場合は,制御ヘッダの内容に関係なく,MCP構成定義で指定した送信先が有効になります。
●データ名H
単一セグメントの送信を示す「VALUE 'EMI△'」を設定します。
●データ名I,J,K,L,M1,M2,M3
空白を設定します。
●データ名M4
0を設定します。
●データ名M5
この関数を呼び出してから終了するまでの最大時間(単位:秒)を設定します。ここでの最大時間とは,ソケット空き待ち時間および送信開始から自システムのTCP/IPの送信バッファへの書き込み完了までの時間の合計をいいます。65535を最大値として,値を設定できます。
0を設定した場合,eemcpcn定義コマンドの-bオプションのsndsynctimオペランドで指定した同期一方送信監視時間が仮定されます。負の値を設定した場合は,時間を監視しません。無限に送信完了を待ちます。UDPプロトコルを使用した通信時は無視されます。
●データ名M6,M7
空白を設定します。
●データ名N
MCPで使用する領域です。
●データ名O
空白を設定します。
●データ名P
出力先の論理端末名を設定します。論理端末名の長さは最大8バイトです。論理端末名の後ろは空白で埋めてください。
●データ名Q,R
空白を設定します。
●データ名T
MCPで使用する領域です。
●データ名U
送信するセグメントの長さを設定します。設定できる最大値は,メッセージの最大サイズを拡張しているかどうか(eemcpfunc定義コマンドの-mオプションのmsglenオペランド指定値)によって,次の表に示すとおり異なります。
|
メッセージの最大サイズ拡張有無 |
送信メッセージ長に設定できる最大値(単位:バイト) |
|
|---|---|---|
|
TCP/IPプロトコル使用時 |
UDPプロトコル使用時 |
|
|
なし(msglenオペランドにnormalを指定) |
32000※ |
32000※ |
|
あり(msglenオペランドにextendを指定) |
8388608 |
65531※ |
- 注※
-
TP1/EEサービス定義のsend_message_buf_sizeオペランドで指定した送信バッファサイズの方が小さい場合は,send_message_buf_sizeオペランドの指定値が設定されます。
●データ名V
MCPで使用する領域です。
●データ名W
送信するセグメントの内容を設定した領域を設定します。送信できる最大長は,データ名Uを参照してください。
- TCP/IPの場合
-
- UDPの場合
-
TP1/EEから値が返されるデータ領域
●データ名B
ステータスコードが,5けたの数字で返されます。
ステータスコード
|
ステータスコード |
意味 |
|---|---|
|
00000 |
正常に終了しました。 |
|
00001 |
TP1/EEの環境下にありません。 |
|
00004 |
UOCから発行しているため,この機能は使用できません。 |
|
10001 |
データ名Uに,送信できる最大サイズを超える値を設定しています。 |
|
10002 |
データ名Uに0以下の値を設定しています。 |
|
10003 |
データ名A,データ名W,およびデータ名M5に設定した値が間違っています。 |
|
10004 |
データ名Hに設定した値が間違っています。 |
|
10005 |
データ名Gに設定した値が間違っています。 |
|
10006 |
データ名Oに設定した値が間違っています。 |
|
10007 |
データ名M5に設定した時間が経過しました。 |
|
10009 |
発行条件が不正です。 |
|
10011 |
データ名Pに設定した論理端末名が間違っています。 |
|
10020 |
データ名Pに設定した論理端末名は閉塞中です。 |
|
10021 |
出力メッセージ編集UOCがエラーリターンしました。 |
|
10022 |
出力メッセージ編集UOCで障害が発生しました。 |
|
10025 |
システムに対する送信時に障害が発生しました。 |
|
10030 |
メモリ不足が発生しました。 |
注意事項
-
CBLEEMCP('SEND ')関数発行後に,この関数を発行した場合,この関数で送信したメッセージが先に送信されます。
-
TP1/FSPを使用する場合,次のステータスコードのときは,「OJ(出力メッセージ)」は取得されません。
00001,00004,10001,10002,10003,10004,10005,10006,10011