分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/User Agent編
形式1(セグメントの内容を設定して送信する場合)
DATA DIVISION(通信記述項)の指定
CD 通信記述名 FOR {OUTPUT | I-O} 〔STATUS KEY IS データ名1〕 〔SYMBOLIC TERMINAL IS データ名2〕 〔SYNCHRONOUS MODE IS {SYNC | ASYNC | データ名6}〕 〔SWITCHING MODE IS {NORMAL | PRIOR | データ名7}〕 〔DETAIL MODE IS データ名10〕 〔WAITING TIME IS データ名11〕.
PROCEDURE DIVISION(通信文)の指定
SEND 通信記述名 FROM 一意名1 〔WITH {ESI | EMI | 一意名2}〕 〔BEFORE RECEIVING MESSAGE INTO 一意名3〕.
形式2(セグメントの内容を設定しないで,メッセージの送信の終了だけ連絡する場合)
DATA DIVISION(通信記述項)の指定
CD 通信記述名 FOR {OUTPUT | I-O} 〔STATUS KEY IS データ名1〕 〔SYMBOLIC TERMINAL IS データ名2〕 〔SWITCHING MODE IS {NORMAL | PRIOR | データ名7}〕.
PROCEDURE DIVISION(通信文)の指定
SEND 通信記述名 WITH EMI.
機能
次に示すCALLインタフェースの機能を実現します。
同期型のメッセージの送受信では,単一セグメントの論理メッセージだけを扱えます。
通信記述項に設定する項目
次のどちらかの値を設定します。
ステータスコードを受け取りたい場合に設定します。省略した場合は,ステータスコードを受け取りません。
論理端末名称を設定したデータ項目を設定します。
メッセージ送信が,同期型か非同期型かを設定します。
指定を省略した場合は,非同期型のメッセージ受信(ASYNC)が仮定されます。
一方送信メッセージの場合に,一般か優先かを指定します。
省略した場合は,一般の一方送信メッセージ(NORMAL)が設定されます。
一方送信メッセージの場合に,出力通番を付けるかどうかを指定します。
省略した場合は,出力通番を付けません。
同期型のメッセージ送受信の場合に,監視時間の値を指定します。
省略した場合,または'00000000'を設定した場合は,MCFマネジャ定義のUAP共通定義(mcfmuap -t)で指定した同期型送受信監視時間が設定されます。
通信文に指定する項目
セグメントを送信するデータ項目を指定します。一つのセグメントで32000バイトまで送信できます。一意名1の形式を次に示します。
メッセージの最終セグメントを送信するかどうかを指定します。非同期型のメッセージ送信の場合だけ指定します。
省略した場合は,EMI(最終セグメントまたは単一セグメントの送信)が設定されます。
なお,同期型のメッセージの送受信(SENDRECV)の場合は,EMIを指定するか,または指定を省略してください。
同期型のメッセージ送受信の場合に設定します。メッセージ送信後にその端末からメッセージを受信する場合に指定します。
同期型のメッセージの送受信の場合に,受信するセグメントの領域(一意名3)の形式を次に示します。
ステータスコード
| ステータスコード | 意味 |
|---|---|
| 00000 | 正常に終了しました。 |
| 71002 | メッセージキューへの出力処理中に障害が発生しました。 |
| メッセージキューが閉塞されています。 | |
| メッセージキューが割り当てられていません。 | |
| 一意名1のLに32000バイトを超える値を設定しています。 | |
| MCFが終了処理中のため,メッセージの送信を受け付けられません。 | |
| 71003 | メッセージキューが満杯です。 |
| 71004 | メッセージを格納するバッファをメモリ上に確保できませんでした。 |
| 71108 | メッセージを送信しようとしましたが,送信先の管理テーブルが確保できませんでした。 |
| プロセスのローカルメモリが不足しています。 | |
| 72000 | <MHPの実行でリターンした場合>
|
<SPPの実行でリターンした場合>
|
|
| 72001 | SYMBOLIC TERMINAL句に設定した論理端末名称が間違っています。 |
| SEND文を実行できない論理端末を設定しています。 | |
| 72005 | 先頭セグメントまたは中間セグメント送信時,一意名1のLに4以下の値を設定しています。 |
| 72008 | 応答メッセージの最終セグメントを送信するSEND文を実行したあとに,再び応答メッセージを送信するSEND文を実行しています。 |
| SEND文を実行して応答型のアプリケーションを起動させたあとに,応答メッセージを送信するSEND文を実行しています。 | |
| 72013 | 一意名3のLの指定値を超えるセグメントを受信しました。一意名3のLの指定値を超えた部分は切り捨てられました。 |
| 32763バイトを超えるセグメントを受信しました。32768バイトを超えた部分は切り捨てられました(バッファ形式2の場合)。 | |
| 72017 | DETAIL MODE句に設定した値が間違っています。 |
| 72018 | SWITCHING MODE句に設定した値が間違っています。 |
| 72020 | SYNCHRONOUS MODE句に設定した値が間違っています。 |
| 72024 | FOR句に設定した値が間違っています。 |
| 72026 | WITH句に設定した値が間違っています。 |
| 72036 | 一意名3のLの指定値が不足しています。5バイト以上の領域を確保してください。 |
| 72037 | BEFORE句に設定した値が間違っています。 |
| 72041 | 単一セグメント送信時,一意名1のLに4以下の値を設定しています。 |
| 73001 | メッセージ出力先の論理端末で障害が発生しました。 |
| 73002 | MCF通信サービスで障害が発生しました。 |
| 73005 | SEND文(同期型)を呼び出してから,設定した限界経過時間が過ぎても,論理端末からの応答がありません。 |
| 73008 | 論理端末が閉塞中,またはMCFが終了処理中に,UAPからSEND文が呼び出されました。 |
| 73010 | 入力,または出力メッセージ編集UOCで障害が発生しました。 |
| メッセージ編集エラーが発生しました。 | |
| 73015 | メッセージ出力先の論理端末は,ほかのUAPで仕掛り中です。 |
| 73018 | SEND文(同期型)を呼び出した場合に,データ名11に設定した監視時間が間違っています。 |
| 上記以外 | プログラムの破壊などによる,予期しないエラーが発生しました。 |
All Rights Reserved. Copyright (C) 2006, Hitachi, Ltd.