複製情報を取得して、情報オブジェクトを戻します。
現在の 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();
「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);