FireNamedHook

설명

해당 레코드에 대한 EntityDef 오브젝트의 이름 지정된 후크(레코드 스크립트)를 실행합니다.

이 메소드를 사용하여 런타임 시 레코드 스크립트를 실행할 수 있습니다. 레코드 스크립트는 사용자가 정의한 루틴으로서 레코드 유형마다 다릅니다. 양식 제어 도구와 함께 레코드 스크립트를 사용하거나 다른 후크에서 이를 호출할 수 있습니다. Rational® ClearQuest® Designer를 사용하여 레코드 후크를 정의합니다. 레코드 스크립트의 구문은 다음과 같습니다.

Function EntityDefName_RecordScriptName(param)
   ' param as Variant 
   ' EntityDefName_RecordScriptName as Variant 

   ' Hook program body 
End Function

필드 또는 레코드의 조치 후크를 실행할 때에는 이 메소드를 사용할 수 없습니다. 글로벌 후크도 실행할 수 없습니다. 단, 레코드 스크립트에서 간접적으로 실행하는 것은 가능합니다.

편집 가능 여부에 관계 없이 Entity 오브젝트에서 이 메소드를 호출할 수 있습니다. 그러나 스크립트를 사용하여 Entity 오브젝트를 수정할 경우, 사용자 코드 또는 후크 코드에서 먼저 EditEntity 메소드를 호출하여 Entity 오브젝트를 편집 가능하게 만들어야 합니다.

스크립트가 모든 매개변수를 승인하면 모든 매개변수를 단일 Variant에 넣고(Visual Basic의 경우) 해당 Variant를 param에 지정하십시오. 스크립트는 스크립트로 전달된 모든 매개변수를 해석할 수 있어야 합니다. 리턴 시, 스크립트도 적절한 리턴값과 함께 유사한 Variant 값을 리턴할 수 있습니다.

Perl의 경우, 단순한 문자열 값을 구분 기호인 비인쇄 문자(예: 줄 바꾸기 문자)와 결합하여 여러 개의 매개변수를 포함할 수 있습니다. 내장된 split 연산자를 사용하여 이 문자열을 디코드할 수 있습니다.

구문

VBScript

entity.FireNamedHook scriptName, param 

Perl

$entity->FireNamedHook(scriptName, param); 
ID
설명
entity
사용자 데이터 레코드를 나타내는 Entity 오브젝트입니다. 후크 내에서 구문에 이 부분을 생략할 경우, Entity 오브젝트가 현재 데이터 레코드에 해당한다고 가정합니다(VBScript에만 해당).
scriptName
실행할 후크 이름을 포함하는 문자열입니다.
param
Visual Basic의 경우, 후크에 전달할 매개변수를 포함하는 Variant 값입니다. Perl의 경우, 후크에 전달할 매개변수를 포함하는 문자열입니다.
Return value
후크 호출 상태를 표시하는 문자열입니다. 후크 실행이 완료되면 이 메소드는 빈 문자열("")을 리턴하고 실패하면 오류에 대한 설명을 포함하는 문자열을 리턴합니다.

예제

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; 

피드백