GetLocalReplica

Descrizione

Ottiene le informazioni sulla replica e restituisce un oggetto Information.

Se la release corrente Rational ClearQuest supporta Rational ClearQuest MultiSite, questo metodo restituisce un oggetto Entity di tipo ratl_replicas.

È possibile utilizzare l'oggetto restituito per determinare se il database locale Rational ClearQuest è stato duplicato con Rational ClearQuest MultiSite. È inoltre possibile utilizzare questo metodo per trovare le informazioni sulla replica corrente, come ad esempio i nomi e le ubicazioni dei database di replica.

L'oggetto Replica che questo metodo restituisce è come un qualsiasi oggetto Entity restituito dal metodo GetEntity sull'oggetto Session. Ciò indica che è possibile utilizzare uno qualsiasi dei metodi associati all'oggetto Entity per interrogare l'oggetto Replica.

Sintassi

VBScript

set replicaObj = session.GetLocalReplica

Perl

$replicaObj = session->GetLocalReplica();
Identificativo
Descrizione
session
L'oggetto Session che rappresenta la sessione di accesso al database corrente.
Valore di ritorno
L'oggetto Entity "ratl_replicas" associato alla sessione corrente o NULL se il database corrente non è stato aggiornato per Rational ClearQuest MultiSite.

È possibile creare una query all'oggetto Entity "ratl_replicas" (che contiene l'elenco delle repliche note a questo database) e confrontare il campo "Name" in replicaName (consultare il seguente esempio) per determinare se le informazioni vengono applicate al database locale o a una delle altre repliche. Oppure è possibile confrontare il campo "Host" a localReplicaHost per determinare in che modo potrebbe essere necessario comunicare con altri programmi che gestiscono la replica particolare. Ad esempio, se la replica non è locale, potrebbe essere necessario utilizzare l'e-mail.

Esempio

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);

Feedback