SEND − メッセージの送信(データ操作言語)
- 〈このページの構成〉
形式
DATA DIVISION(通信記述項)の指定
CD 通信記述名 FOR I-O 〔STATUS KEY IS データ名1〕 〔SYMBOLIC TERMINAL IS データ名2〕 SYNCHRONOUS MODE IS {SYNC|データ名6} 〔WAITING TIME IS データ名11〕.
機能
次に示すCALLインタフェースの機能を実現します。
-
同期型メッセージの送信 CBLDCMCF('SENDSYNC')
-
同期型メッセージの送受信 CBLDCMCF('SENDRECV')
セグメントを送信する領域(一意名1で示す領域)の形式を次に示します。
同期型メッセージの送受信の場合,セグメントを受信する領域(一意名3で示す領域)も設定します。
セグメントを受信する領域の形式を次に示します。
UAPで値を設定する項目
●FOR 句
次の値を設定します。
- I-O
-
同期型メッセージの送信,または同期型メッセージの送受信
●SYMBOLIC TERMINAL 句
論理端末名称を設定したデータ項目を設定します。データ名2に出力先の論理端末名称を設定します。論理端末名称は最大8バイトの長さです。8バイトに満たない場合,論理端末名称の後ろを空白で埋めてください。
●SYNCHRONOUS MODE 句
次のどちらかの値を設定します。
- SYNC
-
同期型メッセージの送信,または同期型メッセージの送受信
- データ名6
-
次の値を設定したデータ項目
'1':同期型メッセージの送信,または同期型メッセージの送受信
●WAITING TIME 句
SEND文を実行してから終了するまでの,最大時間を設定したデータ項目を設定します。同期型メッセージ送信または,同期型メッセージ送受信の場合に設定します。
- データ名11
-
監視時間の値を,HHMMSS00(HH:時 MM:分 SS:秒 00は固定)の形式で設定したデータ項目を設定します。
省略した場合,またはデータ名11に'00000000'を設定した場合,同期型メッセージの送信と,同期型メッセージの送受信とでは設定される値が次のとおり異なります。
-
同期型メッセージの送信の場合
MCFマネジャ定義のUAP共通定義で指定した同期型送信監視時間(mcfmuap -t sndtim)が設定されます。
-
同期型メッセージの送受信の場合
MCFマネジャ定義のUAP共通定義で指定した同期型送受信監視時間(mcfmuap -t sndrcvtim)が設定されます。
- 注意事項
-
監視時間の精度は秒単位です。また,タイマ定義(mcfttim -t)のbtimオペランドで指定する時間の間隔でタイムアウトが発生したかどうかを監視しています。このため,設定した監視時間と実際にタイムアウトを検出する時間には秒単位の誤差が生じます。そのため,タイミングによっては,設定した監視時間よりも短い時間で起動することがあります。監視時間が小さくなるほど,誤差の影響を受けやすくなりますので,監視時間は3秒以上の値の設定を推奨します。
●データ名A
送信するセグメントの長さ+4を設定します。
●データ名B
MCFで使用する領域です。
●データ名C
送信するセグメントの内容を設定します。一つのセグメントで32000バイトまで送信できます。
●データ名E
MCFで使用する領域です。
●WITH句
次のどちらかの値を設定します。
- EMI
-
単一セグメント
- 一意名2
-
次の値を設定したデータ項目
'2':EMI(単一セグメント)
省略した場合は,EMI(単一セグメント)が設定されます。
●BEFORE 句
同期型メッセージ送受信の場合に,セグメントを受信するデータ項目(一意名3)を設定します。同期型メッセージの送信の場合,BEFORE句を省略します。
OpenTP1から値が返される項目
●STATUS KEY句
ステータスコードを受け取りたい場合に設定します。省略した場合は,ステータスコードを受け取れません。データ名1にステータスコードが返されます。
●データ名D
受信したセグメントの長さ+4が返されます。
●データ名F
受信したセグメントの内容が返されます。
ステータスコード
ステータスコード |
意味 |
---|---|
00000 |
正常に終了しました。 |
71002 |
メッセージキューへの出力処理中に障害が発生しました。 |
メッセージキューが閉塞されています。 |
|
メッセージキューが割り当てられていません。 |
|
データ名Aに32004バイトを超える値を設定しています。 |
|
MCFが終了処理中のため,メッセージの送信を受け付けられません。 |
|
71003 |
メッセージキューが満杯です。 |
71004 |
メッセージを格納するバッファをメモリ上に確保できませんでした。 |
71108 |
メッセージを送信しようとしましたが,送信先の管理テーブルが確保できませんでした。 |
プロセスのローカルメモリが不足しています。 |
|
72000 |
SYNCHRONOUS MODE句が省略されています。 |
SYNCHRONOUS MODE句にASYNCを設定しています。 |
|
SYNCHRONOUS MODE句に0または空白を設定したデータ名6を設定しています。 |
|
<MHPの実行でリターンした場合> 先頭セグメントを受信するRECEIVE文を実行する前に,SEND文を実行しています。 |
|
72001 |
SYMBOLIC TERMINAL 句に設定した論理端末名称が間違っています。 |
SYMBOLIC TERMINAL句に設定した論理端末名称は,定義されていません。 |
|
SEND文を実行できない論理端末を設定しています。 |
|
72013 |
データ名Fのサイズを超えるセグメントを受信しました。 データ名Fのサイズを超えた部分は切り捨てられました。 |
72020 |
SYNCHRONOUS MODE句に設定した値が間違っています。 |
72024 |
FOR 句に設定した値が間違っています。 |
72036 |
データ名Fのサイズが不足しています。5バイト以上の領域を確保してください。 |
72037 |
BEFORE 句に設定した値が間違っています。 |
72041 |
データ名Aに0から4バイト,またはマイナス値を設定しています。 |
72045 |
継続問い合わせ応答型のアプリケーションはサポートしていません。 |
72047 |
継続問い合わせ応答型のアプリケーションはサポートしていません。 |
73001 |
データ名11に60秒を加算した時間が経過しましたが,MCF通信プロセスからの応答がありません。 |
送信処理中にコネクション障害が発生しました。 |
|
出力先の論理端末でMCF通信プロセスの内部障害が発生しました。 |
|
73005 |
データ名11に設定した時間が経過しましたが,論理端末からの応答がありません。 |
73010 |
入力または出力メッセージ編集UOCで障害が発生しました。 |
メッセージの読み込み時に障害が発生しました。 |
|
73015 |
出力先の論理端末は,ほかのUAPで仕掛り中です。 |
73018 |
WAITING TIME 句に設定した値が間違っています。 |
73020 |
出力先の論理端末は停止しています。 |
77001 |
指定したコネクショングループ内に使用できるコネクションがありません。 |
77301 |
送信メッセージ長と「制御情報+パラメタ+ユーザデータ」のサイズが一致していません。 |
77302 |
制御情報のサイズの設定が間違っています。 |
77303 |
転送手順の設定が間違っています。 |
77304 |
サービスプリミティブコードの設定が間違っています。 |
77310 |
パラメタ情報サイズの設定が間違っています。 |
77311 |
Initiating-TPSU-Titleに設定した値が間違っています。 |
77312 |
Recipient-AP-Titleに設定した値が間違っています。 |
77313 |
Recipient-TPSU-Titleに設定した値が間違っています。 |
77314 |
Functional-Unitsに設定した値が間違っています。 |
77315 |
Quality-of-Serviceに設定した値が間違っています。 |
77316 |
Application-Context-Nameに設定した値が間違っています。 |
77317 |
Confirmationに設定した値が間違っています。 |
77318 |
Resultに設定した値が間違っています。 |
77321 |
Confirmation-Urgencyに設定した値が間違っています。 |
77330 |
ユーザデータのサイズが間違っています。 |
77331 |
APDUの連結状態が間違っています。 |
77332 |
ユーザデータのサイズが設定されていません。 |
77333 |
ユーザデータが設定できません。 |
77350 |
サービスプリミティブの発行順が間違っています。 |
サービスプリミティブの連結数が超過しています。 |
|
77433 |
相手からのメッセージによって,ダイアログが未確立になりました。 |
77436 |
相手からのメッセージによって,ダイアログを解放しています。 |
77437 |
相手からのメッセージによって,ハンドシェイクが応答待ちになりました。 |
77491 |
相手からのメッセージによって,エラー処理中です。 |
上記以外 |
プログラムの破壊などによる,予期しないエラーが発生しました。 |