分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/OSAS-NIF編
CALL 'CBLDCMCF' USING 一意名1 一意名2 一意名3
01 一意名1. 02 データ名A PIC X(8) VALUE 'EXECAP '. 02 データ名B PIC X(5). 02 FILLER PIC X(3). 02 データ名C PIC X(4) VALUE SPACE. 02 データ名D PIC X(4) VALUE SPACE. 02 データ名E PIC 9(8). 02 データ名F PIC 9(8). 02 データ名G PIC 9(9) COMP VALUE ZERO. 02 データ名H PIC X(4). 02 データ名I PIC X(4) VALUE SPACE. 02 データ名J PIC X(4) VALUE SPACE. 02 データ名K PIC X(4) VALUE SPACE. 02 データ名L PIC X(8) VALUE SPACE. 02 データ名M PIC X(4) VALUE SPACE. 02 データ名N PIC X(8). 02 データ名O1 PIC X(4) VALUE SPACE. 02 データ名O2 PIC 9(9) COMP VALUE ZERO. 02 データ名O3 PIC 9(9) COMP VALUE ZERO. 02 データ名O4 PIC X(1) VALUE SPACE. 02 データ名O5 PIC X(1). 02 データ名P PIC X(14) VALUE LOW-VALUE. 01 一意名2. 02 データ名Q PIC X(4) VALUE SPACE. 02 データ名R PIC X(8) VALUE SPACE. 02 データ名S PIC X(8) VALUE SPACE. 02 データ名T PIC X(6) VALUE SPACE. 02 データ名U PIC X(2) VALUE SPACE. 02 データ名V PIC X(28) VALUE LOW-VALUE. 01 一意名3. 02 データ名W PIC 9(x) COMP. 02 データ名X PIC X(x). 02 データ名Y PIC X(n).
CBLDCMCF('EXECAP△△')は,TP1/NET/OSAS-NIFの場合,通信相手システムのアプリケーションプログラムを起動します。
また,システム内の通信ではUAP(SPPまたはMHP)から,データ名Nに設定したアプリケーション名のMHPを開始させます。
SPPからCBLDCMCF('EXECAP△△')を呼び出す場合は,SPPがトランザクションとして処理していることと,そのSPPのメインプログラムでMCF環境のオープン文を呼び出していることが前提です。
システム内のアプリケーションプログラムの起動については,マニュアル「OpenTP1 プログラム作成の手引」またはマニュアル「OpenTP1 プログラム作成リファレンス COBOL言語編」を参照してください。
開始させるMHPに渡すセグメントの領域(一意名3で示す領域)の形式を次に示します。
ステータスコード | 意味 |
---|---|
00000 | 正常に終了しました。 |
71002 | メッセージキューへの入出力処理時に障害が発生しました。 |
メッセージキューが閉塞されています。 | |
メッセージキューが割り当てられていません。 | |
セグメント長に32000バイトを超える値を設定しています。 | |
MCFが終了処理中のため,データ名Nに設定したMHPを起動できません。 | |
71003 | メッセージキューが満杯です。 |
71004 | メッセージを格納するバッファをメモリ上に確保できませんでした。 |
71108 | MHPを開始しようとしましたが,開始しようとしたMHPの管理テーブルを確保できませんでした。 |
プロセスのローカルメモリが不足しています。 | |
72000 | <MHPの実行でリターンした場合> 先頭セグメントを受信するCBLDCMCF('RECEIVE△')を呼び出す前に,CBLDCMCF('EXECAP△△')を呼び出しています。 |
<SPPの実行でリターンした場合> トランザクションの処理でないSPPから,CBLDCMCF('EXECAP△△')を呼び出しています。 |
|
72001 | データ名Nに設定したアプリケーション名は,MCFで定義されていません。 |
データ名Nに設定したアプリケーション名が間違っています。 | |
MCFマネジャ定義の通信サービス定義(mcfmcname)に,アプリケーション起動プロセス名またはMCF通信プロセス名を指定していません。 | |
アプリケーション起動プロセス,またはMCF通信プロセスに対応するMCFアプリケーション定義の環境定義(mcfaenv -p)に,アプリケーション起動プロセス識別子を指定していません。 | |
アプリケーション環境定義(mcfaenv -p)で指定したアプリケーション起動プロセス識別子と,アプリケーション起動プロセス,またはMCF通信プロセスのMCF通信構成定義(mcftenv -s)で指定する識別子が一致していません。 | |
<論理端末名称を指定してアプリケーションを起動する場合>
|
|
<コネクションIDを指定してアプリケーションを起動する場合>
|
|
<SPPからアプリケーションを起動する場合>
|
|
72005 | 先頭セグメントまたは中間セグメントを渡すCBLDCMCF('EXECAP△△')で,データ名Wに0(バッファ形式1)または4以下(バッファ形式2)の値を設定しています。 |
72007 | CBLDCMCF('REPLY△△△')をすでに呼び出した応答型(type=ans)のMHPから,応答型のMHPをCBLDCMCF('EXECAP△△')で起動させています。 |
CBLDCMCF('REPLY△△△')をすでに呼び出した継続問い合わせ応答型(type=cont)のMHPから,継続問い合わせ応答型のMHPをCBLDCMCF('EXECAP△△')で起動させています。 | |
72009 | 応答型(type=cont)のMHPから,CBLDCMCF('EXECAP△△')で応答型のMHPを2回以上起動させています。 |
継続問い合わせ応答型(type=cont)のMHPから,CBLDCMCF('EXECAP△△')で継続問い合わせ応答型のMHPを2回以上起動させています。 | |
72011 | 継続問い合わせ応答型(type=cont)でないMHPから,CBLDCMCF('EXECAP△△')で継続問い合わせ応答型のMHPを起動させています。 |
72016 | データ名O1,データ名O2,データ名O3に設定した値が間違っています。 |
データ名Pに設定した値が間違っています。 | |
データ名Vに設定した値が間違っています。 | |
72024 | データ名Qに設定した値が間違っています。 |
72026 | データ名Hに設定した値が間違っています。 |
72028 | データ名Aに設定した値が間違っています。 |
72041 | 単一セグメントを渡すCBLDCMCF('EXECAP△△')で,データ名Wに0(バッファ形式1)または4以下(バッファ形式2)の値を設定しています。 |
77001 | 起動しようとするアプリケーションに対応する論理端末は,現在仕掛り中で使用できません。または,使用できる論理端末がありません。 |
上記以外 | プログラムの破壊などによる,予期しないエラーが発生しました。 |
All Rights Reserved. Copyright (C) 2009, Hitachi, Ltd.