Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス COBOL言語編


CBLDCLCK('RELNAME ')

〈このページの構成〉

名称

資源名称を指定した排他の解除

形式

PROCEDURE DIVISIONの指定

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

DATA DIVISIONの指定

01 一意名1.
   02 データ名A  PIC X(8) VALUE 'RELNAME '.
   02 データ名B  PIC X(5).
   02 FILLER    PIC X(3).
   02 データ名Z  PIC S9(9) COMP VALUE ZERO.
01 一意名2.
   02 データ名C  PIC X(16).
   02 データ名D  PIC X(7) VALUE 'MIGRATE'.
   02 FILLER    PIC X(1).

機能

CBLDCLCK('GET ')で指定した資源を,資源名称を指定して解放します。同期点取得前に排他を解除するときに使います。

排他を掛けたグローバルトランザクションが終了したときには,OpenTP1のロックサービスによって自動的に排他は解除されます。このときは,UAPで排他を解除する必要はありません。

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

●データ名A

資源名称を指定して排他解除を示す要求コードを「VALUE 'RELNAME△'」と設定します。

●データ名Z

0を設定します。

●データ名C

排他を解除する資源の名称を設定します。資源名称は資源を排他するときに設定した名称と同じ値を設定してください。

●データ名D

「VALUE 'MIGRATE'」を設定します。

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

●データ名B

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

ステータスコード

ステータスコード

意味

00000

正常に終了しました。

00401

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

要求コード(データ名A)が間違っている場合も含みます。

00456

解除を指定した資源名称に該当する資源がありません。

00455

トランザクション処理でないUAPから呼び出しています。

00457

OpenTP1のライブラリとロックサービスのバージョンが一致していません。