Hitachi

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


dc_tam_close

〈このページの構成〉

名称

TAMテーブルのクローズ

形式

ANSI C ,C++の形式

#include <dctam.h>
int  dc_tam_close(DCLONG tblid,DCLONG flags)

K&R版 C の形式

#include <dctam.h>
int dc_tam_close(tblid,flags)
DCLONG   tblid;
DCLONG   flags;

機能

TAMテーブルをクローズします。dc_tam_close関数を呼び出したあとは,tblidに設定したテーブル記述子は使えません。

dc_tam_close関数がエラーリターンした場合は,この関数内で確保した資源はすべて解放して,関数を呼び出す前の状態に戻ります。

トランザクション外でdc_tam_open関数を呼び出した場合,dc_tam_close関数はトランザクション外で呼び出してください。

トランザクション内でdc_tam_open関数を呼び出した場合は,dc_tam_close関数はトランザクション内で呼び出してください。また,トランザクション終了時までにdc_tam_close関数を呼び出さなかった場合は,同期点でTAMテーブルがクローズされます。

サービス関数の中で,トランザクション外のオープンに対するdc_tam_close関数を呼び出す場合,クローズさせるTAMテーブルにアクセスしている同一プロセス上のトランザクションは,すべて終了させてください。このことに関するエラーチェックはしないので,終了しないでこの関数を呼び出した場合の動作については保証しません。

UAPで値を設定する引数

●tblid

クローズするTAMテーブルの,テーブル記述子を設定します。テーブル記述子は,dc_tam_open関数で返された値です。

●flags

DCNOFLAGSを設定します。

リターン値

リターン値

リターン値(数値)

意味

DC_OK

0

TAMテーブルを正常にクローズしました。

DCTAMER_PARAM_TID

-1700

tblidに設定したテーブル記述子が間違っています。

DCTAMER_PARAM_FLG

-1708

flagsに設定した値が間違っています。

DCTAMER_TAMEND

-1720

TAMサービスが終了中です。

DCTAMER_PROTO

-1721

TAMテーブルへアクセスする順序が間違っています。

UAPにリンケージしているトランザクション制御用オブジェクトファイルのリソースマネジャ登録が間違っています。

または,UAPにトランザクション制御用オブジェクトファイルをリンケージしていません。

関数を呼び出したUAPのユーザサービス定義に,トランザクション属性なし(atomic_update=N)を指定しています。

DCTAMER_TRNOPN

-1722

dc_tam_open関数はトランザクション外で呼び出しています。

DCTAMER_NOOPEN

-1726

TAMテーブルがオープン状態ではありません。

DCTAMER_MEMORY

-1769

メモリが不足しました。

DCTAMER_IO

-1770

入出力エラーが起こりました。