Hitachi

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


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オペランド指定値)によって,次の表に示すとおり異なります。

表5‒15 メッセージの最大サイズ拡張有無による送信メッセージ長の違い

メッセージの最大サイズ拡張有無

送信メッセージ長に設定できる最大値(単位:バイト)

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

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

注意事項