指定されたレコードが別のレコードの重複 であることを示すように、指定されたレコードを変更します。重複は子です。MarkEntityAsDuplicate を呼び出すと、エンティティが子としてマークされます。
エンティティを指定して、HasDuplicates または IsDuplicate が True の場合、Link オブジェクトのメソッドを呼び出して親および子のデータを取得できます。
このメソッドは重複レコードを変更しますが、オリジナルはそのままにしておきます。重複の状態 は、スキーマ によって変化することがあります。該当するリンクがデータベースに追加されます。重複は変更 状態のままになっています。つまり、その後そのフィールドを更新できて、最終的には検証し、コミットする必要があります。
管理者は DUPLICATE タイプのさまざまなアクションを設定できます。(例えば、アクションは、使用可能なときに異なる制限を設定されることがあり、あるいはフックが異なっている場合があります。)duplicate_action_name パラメータに DUPLICATE タイプのアクションを指定する必要があります。
VBScript
session.MarkEntityAsDuplicate duplicate, original, duplicate_action_name
Perl
$session->MarkEntityAsDuplicate(duplicate, original, duplicate_action_name);
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();
}