現在の 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);