Hitachi

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


CBLEEMCP('SEND ') - 非同期一方送信メッセージの送信

〈このページの構成〉

機能

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

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 'SEND    '.
    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).
    02  データ名K   PIC X(4).
    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 9(9)  COMP VALUE ZERO.
    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 'OUT '.
    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 'SEND△△△△'」と設定します。

●データ名C,D

空白を設定します。

●データ名E,F

MCPで使用する領域です。

●データ名G

一方送信メッセージの送信属性を指定します。

0以外を複数指定する場合は,指定する数値を加算して設定します。

0

メッセージを非永続属性で,かつUDP送信時の送信先をデータ名Wの制御ヘッダで指定する場合に設定します。

1

永続メッセージとする場合に設定します。

MCPをクラスタ構成に組み込んだ場合(XTCサービス定義のcluster_modeオペランドにYを指定)にだけ有効となります。

2

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

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

●データ名H

単一セグメントの送信を示す「VALUE 'EMI△'」を設定します。

●データ名I,J,K,L,M1,M2,M3

空白を設定します。

●データ名M4,M5

0を設定します。

●データ名M6,M7

空白を設定します。

●データ名N

MCPで使用する領域です。

●データ名O

一方送信を示す「VALUE 'OUT△'」を設定します。

●データ名P

出力先の論理端末名を設定します。論理端末名の長さは最大8バイトです。論理端末名の後ろは空白で埋めてください。

●データ名Q,R

空白を設定します。

●データ名T

MCPで使用する領域です。

●データ名U

送信するセグメントの長さを設定します。設定できる最大値は,メッセージの最大サイズを拡張しているかどうか(eemcpfunc定義コマンドの-mオプションのmsglenオペランド指定値)によって,次の表に示すとおり異なります。

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

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

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

TCP/IPプロトコル使用時

UDPプロトコル使用時

なし(msglenオペランドにnormalを指定)

32000

32000

あり(msglenオペランドにextendを指定)

8388608

65531

注※

TP1/EEサービス定義のsend_message_buf_sizeオペランドで指定した送信バッファサイズの方が小さい場合は,send_message_buf_sizeオペランドの指定値が設定されます。

●データ名V

空白を設定します。

●データ名W

送信するセグメントの内容を設定した領域を設定します。送信できる最大長は,データ名Uを参照してください。

TCP/IPの場合

[図データ]

UDPの場合

[図データ]

TP1/EEから値が返されるデータ領域

●データ名B

ステータスコードが,5けたの数字で返されます。

ステータスコード

ステータスコード

意味

00000

正常に終了しました。

00001

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

00004

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

10001

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

10002

データ名Uに0以下の値を設定しています。

10003

データ名A,Wに設定した値が間違っています。

10004

データ名Hに設定した値が間違っています。

10005

データ名Gに設定した値が間違っています。

10006

データ名Oに設定した値が間違っています。

10009

発行条件が不正です。

CBLEETRN('ROLLMARK')関数が発行済みです。

10011

データ名Pに設定した論理端末名が間違っています。

10020

データ名Pに設定した論理端末名は閉塞中です。

10030

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

注意事項