GetLocalReplica

説明

複製情報を取得して、情報オブジェクトを戻します。

現在の Rational ClearQuest リリースが、Rational® ClearQuest® MultiSite をサポートする場合、このメソッドは ratl_replicas タイプの Entity オブジェクトを戻します。

戻されたオブジェクトを使用すると、ローカル Rational ClearQuest データベースが Rational ClearQuest MultiSite で複製されているかどうかを判別できます。また、このメソッドを使用すると、複製データベースの名前およびロケーションなどの、現在の複製に関する情報を検出することもできます。

このメソッドから戻される Replica オブジェクトは、Session オブジェクトの GetEntity メソッドによって戻される Entity オブジェクトと似ています。このことは、Entity オブジェクトに関連した任意のメソッドを使用して、Replica オブジェクトをクエリーできることを意味します。

構文

VBScript

set replicaObj = session.GetLocalReplica

Perl

$replicaObj = session->GetLocalReplica();
識別子
説明
session
現在のデータベース アクセス セッションを表す Session オブジェクト。
戻り値
現在のセッションに関連した「ratl_replicas」Entity オブジェクト、または現在のデータベースが Rational ClearQuest MultiSite 用に更新されていなかった場合は NULL。

「ratl_replicas」Entity (このデータベースに認識されている複製のリストを含む) に対するクエリーを作成し、replicaName と「Name」フィールドを比較して (以下の例を参照)、情報がローカル データベースまたは他のいずれかの複製に適用されるかどうかを判別できます。あるいは、「Host」フィールドと localReplicaHost を比較して、特定の複製を処理する他のプログラムと通信する必要がある場合の方法を判別できます。例えば、複製がローカルでない場合、電子メールを使用する必要がある場合があります。

VBScript

set session = GetSession

set replicaObj = session.GetLocalReplica

fieldNameList = replicaObj.GetFieldNames



For Each fieldName in fieldNameList

    set fieldInfoObj = GetFieldValue(fieldName)

    fieldType = fieldInfoObj.GetType

    fieldValue = fieldInfoObj.GetValue

    If fieldName = "Name" Then  'replica db name

        If fieldValue = "<local>" Then

            'Database has not been replicated

        else

            localReplicaName = fieldValue

        End If

    ElseIf fieldName = "Host" Then 'db host name

        'host name of replica database:

        replicaHost = fieldValue

    End If

Next
Perl
use CQPerlExt;



my $sess;

my $entity;



$sess = CQSession::Build();

$sess->UserLogon("admin", "", "MULTI", "CQMS.MS_ACCESS.SITEA");



if ($sess->IsReplicated()) {

   # print out the local replica name

    $entity = $sess->GetLocalReplica();

    printf "Local replica is %s.¥n", $entity->GetDisplayName();

}

CQSession::Unbuild($sess);

フィードバック