dc_tam_read_cancel
- 〈このページの構成〉
形式
ANSI C ,C++の形式
#include <dctam.h> int dc_tam_read_cancel(DCLONG tblid,struct DC_TAMKEY *keyadr, int keyno,DCLONG flags)
K&R版 C の形式
#include <dctam.h> int dc_tam_read_cancel(tblid,keyadr,keyno,flags) DCLONG tblid; struct DC_TAMKEY *keyadr; int keyno; DCLONG flags;
機能
トランザクション内で,dc_tam_read関数を使って排他を掛けた参照目的の入力,および更新目的の入力を取り消し,レコード排他を解除します。
更新,または追加済みのレコードには,排他を掛けた参照目的の入力を取り消すことはできません。また,dc_tam_rewrite関数で更新したレコードの,更新目的の入力の取り消しはできません。
更新,または追加済みのレコード,およびテーブル排他でオープンした,TAMテーブル上のレコードに対する更新目的の入力の取り消しでは,排他を解除しません。
dc_tam_read_cancel関数で入力を取り消したあとも,トランザクションが終了するまでは,入力したTAMテーブルに対して,ほかのトランザクションからレコードの追加,削除はできません。
dc_tam_read_cancel関数がエラーリターンした場合,この関数で解放した資源は再確保しないで,関数を呼び出す前の状態には戻しません。また,複数のレコードを設定してアクセスを要求した場合,それらのレコードのうち,一つでもエラーが発生したら処理を中断して,エラーリターンします。
UAPで値を設定する引数
●tblid
レコードの入力を取り消すTAMテーブルの,テーブル記述子を設定します。テーブル記述子はdc_tam_open関数で返された値です。
●keyadr
入力を取り消すレコードの,キー値のアドレスを持つ構造体のアドレスを設定します。構造体の形式は次のとおりです。
struct DC_TAMKEY { char *keyname; };
-
keyname
キー値のアドレスを設定します。キー値は,入力を取り消すレコードのキー領域の長さで設定します。
●keyno
要求レコード数(keyadrで設定する構造体の数)を設定します。
●flag
DCNOFLAGSを設定します。
リターン値
リターン値 |
リターン値(数値) |
意味 |
---|---|---|
DC_OK |
0 |
TAMテーブルのレコードの検索を取り消して,レコード排他を正常に解除しました。 |
DCTAMER_PARAM_TID |
-1700 |
tblidに設定したテーブル記述子が間違っています。 |
DCTAMER_PARAM_KEY |
-1702 |
keyadrに設定したキー値が間違っています。 |
DCTAMER_PARAM_KNO |
-1703 |
keynoに設定した値が間違っています。 |
DCTAMER_PARAM_FLG |
-1708 |
flagsに設定した値が間違っています。 |
DCTAMER_NOTTAM |
-1709 |
tblidに設定したテーブルはTAMテーブルではありません。 |
DCTAMER_TAMEND |
-1720 |
TAMサービスが終了中です。 |
DCTAMER_PROTO |
-1721 |
TAMテーブルへアクセスする順序が間違っています。 |
UAPにリンケージしているトランザクション制御用オブジェクトファイルのリソースマネジャ登録が間違っています。 または,UAPにトランザクション制御用オブジェクトファイルをリンケージしていません。 |
||
関数を呼び出したUAPのユーザサービス定義に,トランザクション属性なし(atomic_update=N)を指定しています。 |
||
DCTAMER_RMTBL |
-1723 |
TAMテーブルが削除されています。 |
DCTAMER_NOLOAD |
-1724 |
TAMテーブルがロードされていません。 |
DCTAMER_NOOPEN |
-1726 |
TAMテーブルがオープン状態ではありません。 |
DCTAMER_LOGHLD |
-1727 |
TAMテーブルが論理閉塞状態です。 |
DCTAMER_OBSHLD |
-1728 |
TAMテーブルが障害閉塞状態です。 |
DCTAMER_NOREC |
-1731 |
指定されたレコードは存在しません。 |
DCTAMER_SEQENCE |
-1732 |
dc_tam_read関数を呼び出していません。 |
DCTAMER_EXWRITE |
-1733 |
tblidに設定したテーブル記述子はdc_tam_write関数で更新または追加したレコードです。 |
DCTAMER_EXREWRT |
-1734 |
tblidに設定したテーブル記述子は,すでにdc_tam_rewrite関数で更新済みです。 |
DCTAMER_TBLVR |
-1760 |
UAPが,現在稼働しているTAMテーブルでは動作できないバージョンのTAMライブラリと結合されています。 |
DCTAMER_FLSVR |
-1761 |
UAPが,現在稼働しているOpenTP1ファイルサービスでは動作できないバージョンのTAMライブラリと結合されています。 |
DCTAMER_TRNNUM |
-1765 |
TAMサービスで管理できるトランザクション数を超えました。 |
DCTAMER_OPENNUM |
-1766 |
キャラクタ型スペシャルファイルのオープン数の制限値を超えました。 |
DCTAMER_ACCESSS |
-1767 |
スペシャルファイルに対するアクセス権がありません。 |
DCTAMER_ACCESSF |
-1768 |
TAMテーブルファイルに対するアクセス権がありません。 |
DCTAMER_MEMORY |
-1769 |
メモリが不足しました。 |
DCTAMER_IO |
-1770 |
入出力エラーが起こりました。 |
DCTAMER_TMERR |
-1771 |
トランザクションサービスでエラーが起こりました。 |