GetFieldsUpdatedThisAction

説明

最新のアクションで変更された各フィールドの FieldInfo オブジェクトを戻します。

このメソッドは、現在のアクション中に変更されたフィールド、つまり、BuildEntity または EditEntity の呼び出しが戻された後に変更されたすべてのフィールドのレポートを作成します。アクションの初期化中に暗黙的に変更されたフィールド (FIELD_DEFAULT_VALUE フックで設定するデフォルトの初期フィールド値を含む) はレポートされません。アクションの初期化中にフックによって変更されたフィールドもまたレポートされません。このメソッドは、アクションの初期化フェーズ後にフックによって変更されたフィールドをレポートします。フックのタイミングおよび実行順序については、Rational ClearQuest Designer の資料を参照してください。

例として、ユーザーが CHANGE_STATE アクションを開始する場合、レコードの「状態」フィールドの値は変更されますが、このメソッドによってレポートされません。同様に、アクションのアクション初期化フックでフィールドが変更される場合、その変更はレポートされません。ただし、フィールド値変更済みフックまたは検証フック中に行われた変更は、アクションが完全に初期化された後で行われたので、レポートされます。

構文

VBScript

entity.GetFieldsUpdatedThisAction

Perl

$entity->GetFieldsUpdatedThisAction();
識別子
説明
entity
Entity オブジェクトは、ユーザー データ レコードを表します。構文のこの部分を省略すると、フック内では、現在のデータ レコードに対応する Entity オブジェクトが想定されます (VBScript のみ)。
戻り値
Visual Basic の場合、FieldInfo オブジェクトの配列を含む Variant が戻されます。FieldInfo オブジェクトはそれぞれ、最新のアクションが開始された以降に値が変更された Entity オブジェクトのフィールドに対応します。 フィールドが更新されなかった場合、このメソッドによって空の Variant が戻されます。

Perl の場合は、FieldInfos オブジェクトのコレクションが戻されます。

VBScript

set sessionObj = GetSession

' Report any fields that changed during the recent action
fieldList = GetFieldsUpdatedThisAction
For Each field in fieldList
      ' Report the fields to the user
      sessionObj.OutputDebugString "Field " & field.GetName & "
         changed."
Next

Perl

$sessionobj = $entity->GetSession();

# Report any fields that changed during the recent action

$fieldlist = $entity->GetFieldsUpdatedThisAction();

# Find out how many duplicates there

# are so the for loop can iterate them

$updatedfields = $fieldlist->Count();

for ($x = 0; $x < $updatedfields ; $x++)

{

 # Report the fields to the user

 $sessionobj->OutputDebugString("Field ".$fieldlist->Item($x)->GetName."
       changed." )

}

フィードバック