MarkEntityAsDuplicate

説明

指定されたレコードが別のレコードの重複 であることを示すように、指定されたレコードを変更します。重複は子です。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); 
識別子
説明
session
現在のデータベース アクセス セッションを表す Session オブジェクト。
duplicate
オリジナルの重複 (子) としてマークされる Entity オブジェクト
original
オリジナルのデータ レコードである Entity オブジェクト。
duplicate_action_name
ActionType が DUPLICATE であるアクションを指定する String。このパラメータで、重複レコードに有効なアクションを識別する必要があります。
戻り値
なし。

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

} 

フィードバック