Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/TCP/IP編


CBLDCMCF('TDCTCN△△') − コネクションの解放(COBOL言語)

〈このページの構成〉

形式

PROCEDURE DIVISIONの指定

CALL  'CBLDCMCF'  USING  一意名1  一意名2

DATA DIVISIONの指定

01  一意名1.
    02  データ名A   PIC X(8)   VALUE 'TDCTCN  '.
    02  データ名B   PIC X(5).
    02  FILLER      PIC X(3).
    02  データ名C   PIC X(4).
    02  データ名D1  PIC X(1).
    02  データ名D2  PIC X(1)   VALUE SPACE.
    02  データ名D3  PIC X(26)  VALUE SPACE.
    02  データ名E   PIC 9(9)   COMP.
    02  データ名F1  PIC X(8).
    02  データ名F2  PIC X(56)  VALUE SPACE.
    02  データ名G   PIC X(8)   VALUE SPACE.
    02  データ名H   PIC X(8)   VALUE SPACE.
    02  データ名I   PIC X(144) VALUE SPACE.
    02  データ名J   PIC X(184) VALUE SPACE.
    02  データ名K   PIC 9(9)   COMP VALUE ZERO.
 
01  一意名2.
    02  データ名L   PIC 9(9)   COMP VALUE ZERO.

機能

コネクションを解放します。

なお,CBLDCMCF('TDCTCN△△')の正常終了は,コネクション解放要求をTP1/NET/TCP/IPが正常に受け付けたことを意味します。このため,相手システムとのコネクションの解放が正常に完了したことを示すものではありません。

CBLDCMCF('TDCTCN△△')の呼び出し後にコネクションに関する何らかの処理をする場合は,CBLDCMCF('TLSCN△△△')を用いてコネクションの状態を確認してください。

コネクション解放後,CCLSEVTまたはCERREVTを通知します。コネクション解放後に通知するMCFイベントを次の表に示します。

データ名D1

コネクション定義(mcftalccn -f)のcnreleaseオペランドの指定値

通知するMCFイベント

空白または'0'

任意

CCLSEVT

'1'

fin

CCLSEVT

rst

CERREVT

UAPで値を設定するデータ領域

●データ名A

コネクション解放を示す要求コード「VALUE 'TDCTCN△△'」を設定します。

●データ名C

解放するコネクションの指定方法を設定します。

'LE△△'

解放するコネクションを論理端末名称で指定するときに設定します。

'CN△△'

解放するコネクションをコネクションIDで指定するときに設定します。

空白

省略されたものとして,'LE△△'(論理端末名称指定)が仮定されます。

●データ名D1

コネクションを強制的に解放するかどうかを設定します。

'1'

コネクションを強制的に解放します。

コネクション定義(mcftalccn -f)のcnreleaseオペランドにrstを指定している場合,RSTパケットを送信してコネクションを強制解放します。

コネクション定義(mcftalccn -f)のcnreleaseオペランドを省略,またはfinを指定している場合,1を指定しても無効となり,FINパケットを送信してコネクションを正常に解放します。

'0'

FINパケットを送信してコネクションを正常に解放します。

空白

省略されたものとして,'0'(正常解放)が仮定されます。

●データ名D2,データ名D3

空白を設定します。

●データ名E

処理対象のコネクションを持つMCF通信サービスのMCF通信プロセス識別子を設定します。設定できる範囲は0〜239です。

論理端末名称を使用してコネクションの解放を要求する場合は,無効となります。

0を指定すると,該当するコネクションIDが属するMCF通信サービスを検索します。MCF通信サービスが多い構成やUAPからこの命令文を多数発行する場合は,MCF通信プロセス識別子の指定をお勧めします。

注※

MCF環境定義(mcftenv -s)で指定するMCF通信プロセス識別子は16進数と見なしてください。

例えば,MCF通信プロセス識別子が10の場合,16を設定してください。

●データ名F1

解放するコネクションの論理端末名称,またはコネクションIDを設定します。論理端末名称,またはコネクションIDは8バイト以内で設定してください。8バイトに満たない名称を設定する場合は,後ろを空白で埋めてください。

●データ名F2,データ名G,データ名H,データ名I,データ名J

空白を設定します。

●データ名K,データ名L

0を設定します。

OpenTP1から値が返されるデータ領域

●データ名B

ステータスコードが,5けたの数字で返されます。

ステータスコード

ステータスコード

意味

00000

正常に終了しました。

71001

MCFが開始処理中のため,CBLDCMCF('TDCTCN△△')が受け付けられません。

71002

MCFが終了処理中のため,CBLDCMCF('TDCTCN△△')が受け付けられません。

71004

CBLDCMCF('TDCTCN△△')の処理中にメモリ不足が発生しました。

71005

通信障害が発生しました。原因については,メッセージログファイルを参照してください。

71006

内部障害が発生しました。原因については,メッセージログファイルを参照してください。

71007

指定されたコネクション名は登録されていません。

71008

指定された論理端末名称は登録されていません。

71009

CBLDCMCF('TDCTCN△△')が,該当する通信プロセスではサポートされていません。

71010

MCF通信プロセスにコネクションの解放を要求しましたが,受け付けられませんでした。原因については,メッセージログファイルを参照してください。

71011

コネクションが削除されているため,CBLDCMCF('TDCTCN△△')が受け付けられません。

71014

TP1/NET/NCSB,またはTP1/NET/X25-Extendedの論理端末名称を指定しています。またはTP1/NET/OSI-TPのコネクショングループ名を指定しています。

72028

データ名Aに設定した値が間違っています。

72052

データ名Kに0でない値が設定されています。

72053

データ名Lに0でない値が設定されています。

72058

データ名Cに'LE△△','CN△△',または空白以外の値が設定されています。

72059

データ名D1,データ名D2,またはデータ名D3に空白でない値が設定されています。

72061

データ名Eに0未満または240以上の値が設定されています。

72063

データ名F1に空白が設定されています。

72065

データ名F2に空白でない値が設定されています。

72066

データ名Gに空白でない値が設定されています。

72068

データ名Hに空白でない値が設定されています。

72070

データ名Iに空白でない値が設定されています。

72072

データ名Jに空白でない値が設定されています。

72074

データ名F1に設定された文字列中に不正な文字があります。

72075

データ名D1に1,0,または空白以外の値が設定されています。