Hitachi

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


dc_tam_status

〈このページの構成〉

名称

TAMテーブルの情報の取得

形式

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構造体に返します。リターンする値を次に示します。

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には,アクセス権限がありません。