SEND - アプリケーションプログラムの起動
名称
アプリケーションプログラムの起動
形式1(起動するアプリケーションへ渡すメッセージを設定して,アプリケーション起動する場合)
DATA DIVISION(通信記述項)の指定
CD 通信記述名
FOR OUTPUT PROGRAM
〔STATUS KEY IS データ名1〕
SYMBOLIC TERMINAL IS データ名2
〔ACTIVE {INTERVAL|TIME} IS データ名9〕.
01 一意名1.
02 データ名10 PIC 9(4) COMP.
02 データ名11 PIC X(2).
02 データ名12 PIC X(n).
01 一意名2.
02 データ名13 PIC X(1).
PROCEDURE DIVISION(通信文)の指定
SEND 通信記述名 FROM 一意名1
〔WITH {ESI|EMI|一意名2}〕.
形式2(最終セグメント以外のセグメントの引き渡し要求後,メッセージ引き渡しの終了を連絡する場合)
DATA DIVISION(通信記述項)の指定
CD 通信記述名
FOR OUTPUT PROGRAM
〔STATUS KEY IS データ名1〕
SYMBOLIC TERMINAL IS データ名2.
PROCEDURE DIVISIONの指定
SEND 通信記述名 WITH EMI.
機能
次に示すCALLインタフェースの機能を実現します。
送信できるメッセージの一つのセグメント長は,32キロバイトまでです。ただし,プロトコルによって,実際の最大長が小さいことがあります。詳細については,マニュアル「OpenTP1 プロトコル」の該当するプロトコル編を参照してください。
通信記述項に設定する項目
●FOR句
一方送信メッセージを示す OUTPUT を指定します。
●STATUS KEY句
ステータスコードを受け取りたいときに指定します。この指定を省略した場合は ,ステータスコードを受け取れません。
●SYMBOLIC TERMINAL句
起動するアプリケーション名を設定したデータ項目を指定します。
●ACTIVE句
アプリケーションプログラムをタイマ起動で起動する場合に指定します。
指定を省略した場合は,即時起動となります。
一定の時間間隔で起動時間に達したかどうかを監視するので,ACTIVE句に設定した時間と実際の起動時間には誤差が生じます。時間監視の精度は,MCF通信構成定義mcfttimの-tオプションのbtimオペランドに指定した時間監視間隔の値に依存します。
通信文に指定する項目
●一意名1
起動するアプリケーションプログラムに渡す,メッセージセグメント送信領域を示すデータ項目を指定します。開始させるMHPに渡すセグメントの形式を次に示します。
●WITH句
起動するアプリケーションプログラムに渡すセグメントが,論理メッセージの最終セグメントかどうかを指定します。
指定を省略した場合は,EMI(最終セグメント,または単一セグメント)が仮定されます。
ステータスコード
ステータスコード | 意味 |
---|---|
00000 | 正常に終了しました。 |
71002 | メッセージキューへの入出力処理時に障害が起こりました。 |
メッセージキューが閉塞されています。 | |
メッセージキューが割り当てられていません。 | |
セグメント長に32000バイトを超える値を設定しています。 | |
MCFが終了処理中のため,アプリケーションプログラムを起動するSEND文を受け付けられません。 | |
71003 | メッセージキューが満杯です。 |
71004 | メッセージを格納するバッファをメモリ上に確保できませんでした。 |
71008 | アプリケーションプログラムを起動しようとしましたが,送信先の管理テーブルが確保できませんでした。 |
プロセスのローカルメモリが不足しています。 | |
72000 | <MHPの実行でリターンした場合> アプリケーションプログラムを起動するSEND文を使った位置が間違っています。MHPで先頭セグメントを受信する前に,アプリケーションプログラムを起動するSEND文を使っています。 |
<SPPの実行でリターンした場合> トランザクションでないSPPの処理から,アプリケーションプログラムを起動するSEND文を使っています。 | |
72001 | 設定したアプリケーション名は,MCFで定義していません。 |
アプリケーション名が間違っています。 | |
MCFマネジャ定義の通信サービス定義(mcfmcname定義コマンド)に,アプリケーション起動プロセス名を指定していません。 | |
アプリケーション起動プロセスに対応するMCFアプリケーション定義の環境定義(mcfaenv定義コマンドの-pオプション)に,アプリケーション起動プロセス識別子を指定していません。 | |
アプリケーション環境定義(mcfaenv定義コマンドの-pオプション)で指定したアプリケーション起動プロセス識別子と,アプリケーション起動プロセスの通信構成定義(mcftenv定義コマンド)で指定する識別子が一致していません。 | |
<非応答型のMHPを起動する場合>
| |
<応答型 および継続問い合わせ応答型のMHPを起動する場合>
| |
<SPPからアプリケーションを起動する場合>
| |
72005 | WITH句に'ESI'(先頭セグメント,または中間セグメント)を設定したアプリケーションプログラムの起動で,送信セグメント長に5バイト未満の値を設定しています。 |
72007 | 応答型(type = ans)のMHPで,応答メッセージを送信したあとで,応答型のMHPを起動しています。 |
継続問い合わせ応答型(type = cont)のMHPで,応答メッセージを送信したあとで,継続問い合わせ応答型のMHPを起動しています。 | |
72009 | 応答型(type = ans)のMHPを,2回以上起動しています。 |
継続問い合わせ応答型(type = cont)のMHPを,2回以上起動しています。 | |
72011 | 応答型(type = ans)でないMHPから,応答型のMHPを起動しています。 |
継続問い合わせ応答型(type = cont)でないMHPから,継続問い合わせ応答型のMHPを起動しています。 | |
72023 | ACTIVE句のTIMEに設定したデータ名3の内容が空白です。 |
72024 | FOR句に設定した値が間違っています。 |
72026 | WITH句に設定した値が間違っています。 |
72041 | アプリケーションプログラムを起動するSEND文が間違っています。単一セグメントで,送信セグメント長に4バイト以下の値を設定しています。 |
72044 | 継続問い合わせ応答を終了したあとで,次に起動するアプリケーション名を指定して,アプリケーションプログラムを起動するSEND文を使っています。 |
72108 | データ名9で指定した値は,設定できる値の範囲を超えています。 |
72109 | 継続問い合わせ応答型(type = cont)のMHPを,タイマ起動で起動しました。 |
77001 | 起動しようとするアプリケーションに対応する論理端末(LE)は,処理中で使える状態ではありません。または,そのほかの要因で使える状態ではありません。 |
上記以外 | プログラムの破壊などによる,予期しないエラーが起こりました。 |
注意事項