分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/X25-Extended編
形式
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インタフェースの機能を実現します。単一セグメントだけ扱えます。
通信記述項に設定する項目
次の値を指定します。
ステータスコードを受け取りたい場合に指定します。省略した場合は,ステータスコードを受け取りません。
論理端末名称を設定したデータ項目を指定します。
非同期型でメッセージを送信することを,次のどちらかで指定します。
SYNCHRONOUS MODE 句は,省略してもかまいません。
一般か優先かを指定します。
省略した場合は,一般の一方送信メッセージ(NORMAL)が設定されます。
出力通番を付けるかどうかを指定します。
省略した場合は,出力通番を付けません。
通信文に指定する項目
セグメントを送信するデータ項目を指定します。一つのセグメントで32000バイトまで送信できます。一意名1の形式を次に示します。
また,MCFで使用する領域の24ビット目に,送信完了通知イベントを通知させるかどうかを指定してください。
一意名1のMCFで使用する領域とビットの設定位置の関係を次に示します。
単一セグメントのメッセージを送信することを,次のどちらかで指定します。
WITH 句は,省略してもかまいません。
ステータスコード
| ステータスコード | 意味 |
|---|---|
| 00000 | 正常に終了しました。 |
| 71002 | メッセージキューへの出力処理中に障害が発生しました。 |
| メッセージキューが閉塞されています。 | |
| メッセージキューが割り当てられていません。 | |
| 一意名1のLに32000バイトを超える値を設定しています。 | |
| MCFが終了処理中のため,メッセージの送信を受け付けられません。 | |
| 71003 | メッセージキューが満杯です。 |
| 71004 | メッセージを格納するバッファをメモリ上に確保できませんでした。 |
| 71008 | メッセージを送信しようとしましたが,送信先の管理テーブルが確保できませんでした。 |
| プロセスのローカルメモリが不足しています。 | |
| 72000 | 〈MHPの実行でリターンした場合〉 先頭セグメントを受信するRECEIVE文を実行する前に,SEND文を実行しています。 |
| 〈SPPの実行でリターンした場合〉 トランザクションでないSPPの処理から,SEND文を実行しています。 |
|
| 72001 | SYMBOLIC TERMINAL 句に設定した論理端末名称が間違っています。 |
| SEND文を実行できない論理端末を設定しています。 | |
| 72017 | DETAIL MODE 句に設定した値が間違っています。 |
| 72018 | SWITCHING MODE 句に設定した値が間違っています。 |
| 72020 | SYNCHRONOUS MODE 句に設定した値が間違っています。 |
| 72024 | FOR 句に設定した値が間違っています。 |
| 72026 | WITH 句に設定した値が間違っています。 |
| 72041 | 一意名1のLに4以下の値を設定しています。 |
| 上記以外 | プログラムの破壊などによる,予期しないエラーが発生しました。 |
All Rights Reserved. Copyright (C) 2006, Hitachi, Ltd.