指定されたレコードが別のレコードの重複 であることを示すように、指定されたレコードを変更します。重複は子です。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();
}