dc_tam_status
- 〈このページの構成〉
形式
ANSI C ,C++の形式
#include <dctam.h> int dc_tam_status(char *tblname,struct DC_TAMSTAT *stbuf, DCLONG flags)
K&R版 C の形式
#include <dctam.h> int dc_tam_status(tblname,stbuf,flags) char *tblname; struct DC_TAMSTAT *stbuf; DCLONG flags;
機能
TAMテーブルの情報を,DC_TAMSTAT構造体に返します。リターンする値を次に示します。
-
TAMファイル名
-
TAMテーブルの状態
-
使用中のレコード数
-
最大レコード数
-
インデクス種別
-
アクセス形態
-
ローディング契機
-
TAMレコード長
-
キー長
-
キー開始位置
-
セキュリティ属性
UAPで値を設定する引数
●tblname
情報を取得するTAMテーブル名を設定します。TAMテーブル名は,32文字以内で設定します。文字列の最後にはヌル文字を付けてください。
●stbuf
TAMテーブルの情報を受け取る構造体 DC_TAMSTAT のアドレスを設定します。構造体には,dc_tam_status関数に設定したTAMテーブルの状態が返されます。
●flags
DCNOFLAGSを設定します。
OpenTP1から値が返される引数
●stbuf
TAMテーブルの情報が,構造体 DC_TAMSTAT で返されます。構造体の形式は次のとおりです。
struct DC_TAMSTAT { char st_file_name[64]; DCLONG st_tbl_stat; DCLONG st_rec_usenum; DCLONG st_rec_maxnum; char st_idx_type; char st_acs_type; char st_lod_type; char reserve1; DCLONG st_rec_len; DCLONG st_key_len; DCLONG st_key_pos; DCLONG st_tbl_sec; DCLONG reserve2[8]; };
-
st_file_name
TAMファイル名が返されます。
-
st_tbl_stat
TAMテーブルの状態が,次に示す値のどれかで返されます。
DCTAM_STS_OPN…オープン状態であることを示します。
DCTAM_STS_CLS…クローズ状態であることを示します。
DCTAM_STS_LHLD…論理閉塞状態であることを示します。
DCTAM_STS_OHLD…障害閉塞状態であることを示します。
-
st_rec_usenum
TAMテーブルで現在使っているレコードの数が返されます。ただし,dc_tam_status関数を呼び出したあとでレコードの追加や削除があった場合は,値を保証しません。
-
st_rec_maxnum
TAMテーブルの最大レコード数が返されます。
-
st_idx_type
TAMテーブルのインデクス種別が,次に示す値のどれかで返されます。
DCTAM_STS_HASH…ハッシュ形式であることを示します。
DCTAM_STS_TREE…ツリー形式であることを示します。
-
st_acs_type
TAMテーブルのアクセス形態が,次に示す値のどれかで返されます。
DCTAM_STS_READ…参照型であることを示します。
DCTAM_STS_REWRITE…追加・削除できない更新型であることを示します。
DCTAM_STS_WRITE…追加・削除できる更新型であることを示します。
DCTAM_STS_RECLCK…テーブル排他を確保しない,追加・削除できる更新型であることを示します。
-
st_lod_type
TAMテーブルのローディング契機が,次に示す値のどれかで返されます。
DCTAM_STS_START…TAMサービスの開始時であることを示します。
DCTAM_STS_LIB…dc_tam_open関数でTAMテーブルをオープンしたときであることを示します。
DCTAM_STS_CMD…tamloadコマンドを実行したときであることを示します。
-
reserve1
予備の領域です。
-
st_rec_len
TAMテーブルのレコード長が返されます。
-
st_key_len
TAMテーブルのキー長が返されます。
-
st_key_pos
TAMテーブルのデータ内のキー開始位置が返されます。
-
st_tbl_sec
TAMサービス定義で指定したTAMテーブルのセキュリティ属性が,次に示す値のどれかで返されます。
DCTAM_STS_NOSEC…セキュリティの指定がないことを示します。
DCTAM_STS_SEC…セキュリティの指定があることを示します。
-
reserve2
予備の領域です。
リターン値
リターン値 |
リターン値(数値) |
意味 |
---|---|---|
DC_OK |
0 |
TAMテーブルの情報を正常に取得しました。 |
DCTAMER_PARAM_TBL |
-1701 |
tblnameに設定した値が間違っています。 |
DCTAMER_PARAM_FLG |
-1708 |
flagsに設定した値が間違っています。 |
DCTAMER_NOTTAM |
-1709 |
tblnameに設定した名称は,TAMテーブルではありません。 |
DCTAMER_UNDEF |
-1710 |
TAMテーブルが定義されていません。 |
DCTAMER_TAMEND |
-1720 |
TAMサービスが終了中です。 |
DCTAMER_PROTO |
-1721 |
TAMテーブルへアクセスする順序が間違っています。 |
UAPにリンケージしているトランザクション制御用オブジェクトファイルのリソースマネジャ登録が間違っています。または,UAPにトランザクション制御用オブジェクトファイルをリンケージしていません。 |
||
関数を呼び出したUAPのユーザサービス定義に,トランザクション属性なし(atomic_update=N)を指定しています。 |
||
DCTAMER_TBLVR |
-1760 |
UAPが,現在稼働しているTAMテーブルでは動作できないバージョンのTAMライブラリと結合されています。 |
DCTAMER_TAMVR |
-1762 |
UAPが,現在稼働しているTAMサービスでは動作できないバージョンのTAMライブラリと結合されています。 |
DCTAMER_OPENNUM |
-1766 |
キャラクタ型スペシャルファイルのオープン数の制限値を超えました。 |
DCTAMER_ACCESSS |
-1767 |
スペシャルファイルに対するアクセス権がありません。 |
DCTAMER_MEMORY |
-1769 |
メモリが不足しました。 |
DCTAMER_IO |
-1770 |
入出力エラーが起こりました。 |
DCTAMER_NO_ACL |
-1772 |
情報を取得しようとしたTAMテーブルは,セキュリティ機能で保護されています。該当するTAMテーブルに対するACLがありません。 |
DCTAMER_ACCESS |
-1773 |
情報を取得しようとしたTAMテーブルは,セキュリティ機能で保護されています。dc_tam_status関数を呼び出したUAPには,アクセス権限がありません。 |