SEND一方送信メッセージの送信(データ操作言語)

形式

DATA DIVISION(通信記述項)の指定

CD  通信記述名
 FOR OUTPUT
STATUS KEY IS データ名1〕
SYMBOLIC TERMINAL IS データ名2〕
SYNCHRONOUS MODE IS { ASYNC | データ名6 }〕
SWITCHING MODE IS { NORMAL | PRIOR | データ名7 }〕
DETAIL  MODE  IS データ名10〕.

PROCEDURE DIVISION(通信文)の指定

SEND 通信記述名 FROM 一意名1
   〔WITH { EMI | 一意名2 }〕.

機能

次に示すCALLインタフェースの機能を実現します。単一セグメントだけ扱えます。

通信記述項に設定する項目

●FOR句

次の値を指定します。

OUTPUT
一方送信メッセージの送信

●STATUS KEY句

ステータスコードを受け取りたい場合に指定します。省略した場合は,ステータスコードを受け取りません。

●SYMBOLIC TERMINAL句

論理端末名称を設定したデータ項目を指定します。

●SYNCHRONOUS MODE句

非同期型でメッセージを送信することを,次のどちらかで指定します。

ASYNC
非同期型のメッセージ送信
一方送信メッセージの送信の場合,指定します。
データ名6
次の値を設定したデータ項目
'0':非同期型のメッセージ送信

SYNCHRONOUS MODE 句は,省略してもかまいません。

●SWITCHING MODE句

一般か優先かを指定します。

NORMAL
一般の一方送信メッセージ
PRIOR
優先の一方送信メッセージ
データ名7
次の値を設定したデータ項目
'0'または'△':一般の一方送信メッセージ
'1':優先の一方送信メッセージ

省略した場合は,一般の一方送信メッセージ(NORMAL)が設定されます。

●DETAIL MODE 句

出力通番を付けるかどうかを指定します。

データ名10
次の値を設定したデータ項目
'0'または'△':出力通番を付けます。
'1':出力通番を付けません。

省略した場合は,出力通番を付けません。

通信文に指定する項目

●一意名1

セグメントを送信するデータ項目を指定します。一つのセグメントで32000バイトまで送信できます。一意名1の形式を次に示します。

[図データ]

また,MCFで使用する領域の24ビット目に,送信完了通知イベントを通知させるかどうかを指定してください。

領域の24ビットに1を設定
送信完了通知イベントを通知させます。ただし,送信完了通知イベント処理用のMHPをMCFアプリケーション定義で指定していない場合は無効です。
領域の24ビットに0を設定
送信完了通知イベントを通知させません。

 

一意名1のMCFで使用する領域とビットの設定位置の関係を次に示します。

[図データ]

●WITH句

単一セグメントのメッセージを送信することを,次のどちらかで指定します。

EMI
単一セグメントの送信
一意名2
次の値を設定したデータ項目
'2':EMI(単一セグメントの送信)

WITH 句は,省略してもかまいません。

ステータスコード

ステータスコード意味
00000正常に終了しました。
71002メッセージキューへの出力処理中に障害が発生しました。
メッセージキューが閉塞されています。
メッセージキューが割り当てられていません。
一意名1のLに32000バイトを超える値を設定しています。
MCFが終了処理中のため,メッセージの送信を受け付けられません。
71003メッセージキューが満杯です。
71004メッセージを格納するバッファをメモリ上に確保できませんでした。
71008メッセージを送信しようとしましたが,送信先の管理テーブルが確保できませんでした。
プロセスのローカルメモリが不足しています。
72000〈MHPの実行でリターンした場合〉
先頭セグメントを受信するRECEIVE文を実行する前に,SEND文を実行しています。
〈SPPの実行でリターンした場合〉
トランザクションでないSPPの処理から,SEND文を実行しています。
72001SYMBOLIC TERMINAL 句に設定した論理端末名称が間違っています。
SEND文を実行できない論理端末を設定しています。
72017DETAIL MODE 句に設定した値が間違っています。
72018SWITCHING MODE 句に設定した値が間違っています。
72020SYNCHRONOUS MODE 句に設定した値が間違っています。
72024FOR 句に設定した値が間違っています。
72026WITH 句に設定した値が間違っています。
72041一意名1のLに4以下の値を設定しています。
上記以外プログラムの破壊などによる,予期しないエラーが発生しました。