このレコードの EntityDef オブジェクトの名前付きフック (レコード スクリプト) を実行します。
このメソッドを使用すると、実行時にレコード スクリプトを実行できます。レコード スクリプトは、ユーザーが定義するルーチンで、特定のレコード タイプに固有です。レコード スクリプトはフォーム コントロールと共に使用するか、または他のフックから呼び出します。レコード フックは、Rational® ClearQuest® Designer を使用して定義します。 レコード スクリプトの構文は、次のとおりです。
Function EntityDefName_RecordScriptName(param)
' param as Variant
' EntityDefName_RecordScriptName as Variant
' Hook program body
End Function
このメソッドを使用して、レコードのフィールドまたはアクション フックを実行することはできません。また、レコード スクリプトから間接的である場合を除いて、グローバル フックも実行できません。
Entity オブジェクトが編集可能であるかどうかに関係なく、このメソッドは Entity オブジェクトで呼び出しできます。しかし、スクリプトで Entity オブジェクトを変更する場合、コードまたはフックで、最初に EditEntity メソッドを呼び出して、Entity オブジェクトを編集可能にする必要があります。
スクリプトでパラメータを受け入れる場合は、すべてのパラメータを単一 Variant にして (Visual Basic の場合)、その Variant を param に指定します。スクリプトは、渡されるパラメータを解釈できる必要があります。返送時には、スクリプトは単に、該当する戻り値の Variant を戻します。
Perl の場合、区切り文字として非印刷文字 (改行など) を使用して、単一文字列値を連結し、複数のパラメータを組み込むことができます。その後この文字列を、組み込み分割演算子でデコードできます。
VBScript
entity.FireNamedHook scriptName, param
Perl
$entity->FireNamedHook(scriptName, param);
VBScript
' Execute the hook "MyHook" with the specified parameters
Dim params(1)
params(0) = "option 1"
params(1) = "option 2"
returnValue = entity.FireNamedHook("MyHook", params)
Perl
# Execute the hook "MyHook" with the specified parameters
$params = "option 1¥noption 2";
$returnValue = $entity->FireNamedHook("MyHook",$params);
# In the hook, split them like this:
my $param = shift;
my @params = split '¥n', $param;