MarkEntityAsDuplicate

Descrizione

Modifica il record specificato per indicare che si tratta di un duplicato di un altro record. Un duplicato è un elemento figlio. Il richiamo di MarkEntityAsDuplicate rende un entità come elemento figlio.

Data un'entità, se HasDuplicates o IsDuplicate sono True, è possibile richiamare i metodi Oggetto Link per richiamare i dati padre e figlio.

Questo metodo modifica il record duplicato, ma lascia l'originale non modificato. Lo stato del duplicato potrebbe cambiare, a seconda dello schema. I collegamenti appropriati vengono aggiunti al database. Il duplicato viene tralasciato nello stato di modifica, il che indica che è possibile aggiornare successivamente i relativi campi e che è eventualmente possibile convalidarlo ed eseguirne il commit.

L'amministratore può impostare differenti azioni di tipo DUPLICATE. (Ad esempio, le azioni potrebbero disporre di differenti limitazioni su quando sono disponibili oppure potrebbero disporre di hook differenti.) È necessario specificare un'azione di tipo DUPLICATE nel parametro duplicate_action_name.

Sintassi

VBScript

session.MarkEntityAsDuplicate duplicate, original, duplicate_action_name 

Perl

$session->MarkEntityAsDuplicate(duplicate, original, duplicate_action_name); 
Identificativo
Descrizione
session
L'oggetto Session che rappresenta la sessione di accesso al database corrente.
duplicate
L'Oggetto Entity che deve essere contrassegnata come duplicato (elemento figlio) dell'originale.
original
L'oggetto Entity che è il record di dati originale.
duplicate_action_name
Una stringa che specifica un'azione il cui ActionType è DUPLICATE. Questo parametro deve identificare un'azione valida per il record duplicato.
Valore di ritorno
Nessuno.

Esempi

VBScript

set sessionObj = GetSession 
idName = GetFieldValue("id").GetValue 
set currentObj = sessionObj.GetEntity("defect", idName)

' Mark the entity with ID="SAMPL00000031" as a duplicate of this entity. 
' Use the action named "duplicate". 
set dupEntityObj = sessionObj.GetEntity("defect", "SAMPL00000031")
sessionObj.MarkEntityAsDuplicate dupEntityObj, currentObj, "duplicate" 

' Validate and commit the duplicate entity since it 
' is currently modifiable. 
error = dupEntityObj.Validate 
if error = "" then 
  dupEntityObj.Commit 
End If 

Perl

#Get a Rational ClearQuest session

$sessionObj = $entity->GetSession();



#Mark the entity with ID="SAMPL00000031" as a duplicate of this 

#entity. Use the action named "duplicate".

$dupEntityObj = $sessionObj->GetEntity("defect", "SAMPL00000031");

$sessionObj->MarkEntityAsDuplicate( $dupEntityObj, $entity, "duplicate" );



#Validate and commit the duplicate entity since it is currently modifiable

$error = $dupEntityObj->Validate();

if ( $error eq "" ) {

   $dupEntityObj->Commit();

} 

Feedback