현재 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(이 데이터베이스에 알려진 복제본 목록이 포함된)에 대해 조회를 작성하고 "Name" 필드를 replicaName(다음 참조)과 비교하여 정보가 로컬 데이터베이스에 적용되었는지 다른 복제본 중 하나에 적용되었는지 판별할 수 있습니다. 또는 "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);